diff --git a/examples/realtime-video/Makefile b/examples/realtime-video/Makefile index 8a191a431..6cb21b86e 100644 --- a/examples/realtime-video/Makefile +++ b/examples/realtime-video/Makefile @@ -1,10 +1,35 @@ build: npm run build - -deploy: + +clean: + rm -rf node_modules package-lock.json dist + +install: + npm install + +clean-install: clean install + +local-dev: + npm run dev + +local-build: npm run build cp schema.json dist - cd dist && sed -i'' -e 's/"\/assets/"\.\/assets/g' index.html + +local-preview: local-build + npm run preview + +deploy-prep: + npm run build + cp schema.json dist + cd dist && sed -i'' -e 's/"\/assets/"\.\/assets/g' index.html + +deploy: deploy-prep git add -f dist git commit -m 'publish demo' git push + +deploy-with-upstream: deploy-prep + git add -f dist + git commit -m 'publish demo' + git push --set-upstream origin $(shell git branch --show-current) diff --git a/examples/realtime-video/README.md b/examples/realtime-video/README.md index 788bb1645..f3907f94a 100644 --- a/examples/realtime-video/README.md +++ b/examples/realtime-video/README.md @@ -1,3 +1,54 @@ ## Realtime Video -A real-time, peer-to-peer module application that displays a video feed from a camera, allowing users to connect and view the feed simply by knowing the camera name. \ No newline at end of file +A real-time, peer-to-peer module application that displays a video feed from a camera, allowing users to connect and view the feed simply by knowing the camera name. + +## Features + +- Real-time H.264 video streaming with bandwidth optimization +- WebRTC connection management + +## Node.js Polyfills + +This module uses Vite with Node.js polyfills to handle Formant SDK dependencies that contain Node.js-specific code. The polyfills are configured in: + +- **vite.config.ts**: Uses `vite-plugin-node-polyfills` for automatic polyfills +- **src/polyfills.ts**: Manual polyfill for `setImmediate` (required for WebRTC) + +## Local Development + +```bash +# Install dependencies +make install + +# Clean install (useful when updating SDK versions) +make clean-install + +# Local development server (port 5173) +make local-dev + +# Test built version locally (port 4173) +make local-preview +``` + +## Deployment + +```bash +# Prepare deployment files +make deploy-prep + +# Deploy to current branch +make deploy + +# Deploy to new branch (sets upstream automatically) +make deploy-with-upstream +``` + +## Troubleshooting + +If you encounter "process is not defined" or "setImmediate is not defined" errors: + +1. Ensure `vite-plugin-node-polyfills` is installed +2. Verify `src/polyfills.ts` is imported first in `src/main.tsx` +3. Check that Vite config includes the node polyfills plugin + +These polyfills are required because the Formant SDK contains webpack-bundled code with Node.js globals that Vite needs help handling. diff --git a/examples/realtime-video/dist/assets/index-643462ad.js b/examples/realtime-video/dist/assets/index-643462ad.js deleted file mode 100644 index 9203aa9d8..000000000 --- a/examples/realtime-video/dist/assets/index-643462ad.js +++ /dev/null @@ -1,210 +0,0 @@ -var Ty=Object.defineProperty;var vy=(o,s,_)=>s in o?Ty(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_;var On=(o,s,_)=>(vy(o,typeof s!="symbol"?s+"":s,_),_);function _mergeNamespaces(o,s){for(var _=0;_j[$]})}}}return Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const $ of document.querySelectorAll('link[rel="modulepreload"]'))j($);new MutationObserver($=>{for(const _e of $)if(_e.type==="childList")for(const et of _e.addedNodes)et.tagName==="LINK"&&et.rel==="modulepreload"&&j(et)}).observe(document,{childList:!0,subtree:!0});function _($){const _e={};return $.integrity&&(_e.integrity=$.integrity),$.referrerPolicy&&(_e.referrerPolicy=$.referrerPolicy),$.crossOrigin==="use-credentials"?_e.credentials="include":$.crossOrigin==="anonymous"?_e.credentials="omit":_e.credentials="same-origin",_e}function j($){if($.ep)return;$.ep=!0;const _e=_($);fetch($.href,_e)}})();var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$1(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}function getAugmentedNamespace(o){if(o.__esModule)return o;var s=o.default;if(typeof s=="function"){var _=function j(){return this instanceof j?Reflect.construct(s,arguments,this.constructor):s.apply(this,arguments)};_.prototype=s.prototype}else _={};return Object.defineProperty(_,"__esModule",{value:!0}),Object.keys(o).forEach(function(j){var $=Object.getOwnPropertyDescriptor(o,j);Object.defineProperty(_,j,$.get?$:{enumerable:!0,get:function(){return o[j]}})}),_}var jsxRuntime={exports:{}},reactJsxRuntime_production_min={},react={exports:{}},react_production_min={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var l$2=Symbol.for("react.element"),n$2=Symbol.for("react.portal"),p$3=Symbol.for("react.fragment"),q$2=Symbol.for("react.strict_mode"),r$2=Symbol.for("react.profiler"),t$1=Symbol.for("react.provider"),u=Symbol.for("react.context"),v$2=Symbol.for("react.forward_ref"),w$1=Symbol.for("react.suspense"),x$1=Symbol.for("react.memo"),y$1=Symbol.for("react.lazy"),z$2=Symbol.iterator;function A$2(o){return o===null||typeof o!="object"?null:(o=z$2&&o[z$2]||o["@@iterator"],typeof o=="function"?o:null)}var B$1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C$1=Object.assign,D$1={};function E$1(o,s,_){this.props=o,this.context=s,this.refs=D$1,this.updater=_||B$1}E$1.prototype.isReactComponent={};E$1.prototype.setState=function(o,s){if(typeof o!="object"&&typeof o!="function"&&o!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,o,s,"setState")};E$1.prototype.forceUpdate=function(o){this.updater.enqueueForceUpdate(this,o,"forceUpdate")};function F(){}F.prototype=E$1.prototype;function G$1(o,s,_){this.props=o,this.context=s,this.refs=D$1,this.updater=_||B$1}var H$1=G$1.prototype=new F;H$1.constructor=G$1;C$1(H$1,E$1.prototype);H$1.isPureReactComponent=!0;var I$1=Array.isArray,J=Object.prototype.hasOwnProperty,K$1={current:null},L$1={key:!0,ref:!0,__self:!0,__source:!0};function M$1(o,s,_){var j,$={},_e=null,et=null;if(s!=null)for(j in s.ref!==void 0&&(et=s.ref),s.key!==void 0&&(_e=""+s.key),s)J.call(s,j)&&!L$1.hasOwnProperty(j)&&($[j]=s[j]);var tt=arguments.length-2;if(tt===1)$.children=_;else if(1>>1,zt=Jt[jt];if(0<$(zt,Zt))Jt[jt]=Zt,Jt[Vt]=zt,Vt=jt;else break e}}function _(Jt){return Jt.length===0?null:Jt[0]}function j(Jt){if(Jt.length===0)return null;var Zt=Jt[0],Vt=Jt.pop();if(Vt!==Zt){Jt[0]=Vt;e:for(var jt=0,zt=Jt.length,$t=zt>>>1;jt<$t;){var nn=2*(jt+1)-1,rn=Jt[nn],Dt=nn+1,wt=Jt[Dt];if(0>$(rn,Vt))Dt$(wt,rn)?(Jt[jt]=wt,Jt[Dt]=Vt,jt=Dt):(Jt[jt]=rn,Jt[nn]=Vt,jt=nn);else if(Dt$(wt,Vt))Jt[jt]=wt,Jt[Dt]=Vt,jt=Dt;else break e}}return Zt}function $(Jt,Zt){var Vt=Jt.sortIndex-Zt.sortIndex;return Vt!==0?Vt:Jt.id-Zt.id}if(typeof performance=="object"&&typeof performance.now=="function"){var _e=performance;o.unstable_now=function(){return _e.now()}}else{var et=Date,tt=et.now();o.unstable_now=function(){return et.now()-tt}}var nt=[],rt=[],ot=1,ut=null,dt=3,Ut=!1,st=!1,ct=!1,pt=typeof setTimeout=="function"?setTimeout:null,Bt=typeof clearTimeout=="function"?clearTimeout:null,Qt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function gt(Jt){for(var Zt=_(rt);Zt!==null;){if(Zt.callback===null)j(rt);else if(Zt.startTime<=Jt)j(rt),Zt.sortIndex=Zt.expirationTime,s(nt,Zt);else break;Zt=_(rt)}}function ft(Jt){if(ct=!1,gt(Jt),!st)if(_(nt)!==null)st=!0,Wt(Ft);else{var Zt=_(rt);Zt!==null&&bt(ft,Zt.startTime-Jt)}}function Ft(Jt,Zt){st=!1,ct&&(ct=!1,Bt(xt),xt=-1),Ut=!0;var Vt=dt;try{for(gt(Zt),ut=_(nt);ut!==null&&(!(ut.expirationTime>Zt)||Jt&&!It());){var jt=ut.callback;if(typeof jt=="function"){ut.callback=null,dt=ut.priorityLevel;var zt=jt(ut.expirationTime<=Zt);Zt=o.unstable_now(),typeof zt=="function"?ut.callback=zt:ut===_(nt)&&j(nt),gt(Zt)}else j(nt);ut=_(nt)}if(ut!==null)var $t=!0;else{var nn=_(rt);nn!==null&&bt(ft,nn.startTime-Zt),$t=!1}return $t}finally{ut=null,dt=Vt,Ut=!1}}var yt=!1,Ct=null,xt=-1,ht=5,mt=-1;function It(){return!(o.unstable_now()-mtJt||125jt?(Jt.sortIndex=Vt,s(rt,Jt),_(nt)===null&&Jt===_(rt)&&(ct?(Bt(xt),xt=-1):ct=!0,bt(ft,Vt-jt))):(Jt.sortIndex=zt,s(nt,Jt),st||Ut||(st=!0,Wt(Ft))),Jt},o.unstable_shouldYield=It,o.unstable_wrapCallback=function(Jt){var Zt=dt;return function(){var Vt=dt;dt=Zt;try{return Jt.apply(this,arguments)}finally{dt=Vt}}}})(scheduler_production_min);scheduler.exports=scheduler_production_min;var schedulerExports=scheduler.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var aa=reactExports,ca=schedulerExports;function p$1(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,_=1;_"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,la={},ma={};function oa(o){return ja.call(ma,o)?!0:ja.call(la,o)?!1:ka.test(o)?ma[o]=!0:(la[o]=!0,!1)}function pa(o,s,_,j){if(_!==null&&_.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return j?!1:_!==null?!_.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function qa(o,s,_,j){if(s===null||typeof s>"u"||pa(o,s,_,j))return!0;if(j)return!1;if(_!==null)switch(_.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function v$1(o,s,_,j,$,_e,et){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=j,this.attributeNamespace=$,this.mustUseProperty=_,this.propertyName=o,this.type=s,this.sanitizeURL=_e,this.removeEmptyString=et}var z$1={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){z$1[o]=new v$1(o,0,!1,o,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var s=o[0];z$1[s]=new v$1(s,1,!1,o[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(o){z$1[o]=new v$1(o,2,!1,o.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){z$1[o]=new v$1(o,2,!1,o,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(o){z$1[o]=new v$1(o,3,!1,o.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(o){z$1[o]=new v$1(o,3,!0,o,null,!1,!1)});["capture","download"].forEach(function(o){z$1[o]=new v$1(o,4,!1,o,null,!1,!1)});["cols","rows","size","span"].forEach(function(o){z$1[o]=new v$1(o,6,!1,o,null,!1,!1)});["rowSpan","start"].forEach(function(o){z$1[o]=new v$1(o,5,!1,o.toLowerCase(),null,!1,!1)});var ra=/[\-:]([a-z])/g;function sa(o){return o[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(o){z$1[o]=new v$1(o,1,!1,o.toLowerCase(),null,!1,!1)});z$1.xlinkHref=new v$1("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(o){z$1[o]=new v$1(o,1,!1,o.toLowerCase(),null,!0,!0)});function ta(o,s,_,j){var $=z$1.hasOwnProperty(s)?z$1[s]:null;($!==null?$.type!==0:j||!(2tt||$[et]!==_e[tt]){var nt=` -`+$[et].replace(" at new "," at ");return o.displayName&&nt.includes("")&&(nt=nt.replace("",o.displayName)),nt}while(1<=et&&0<=tt);break}}}finally{Na=!1,Error.prepareStackTrace=_}return(o=o?o.displayName||o.name:"")?Ma(o):""}function Pa(o){switch(o.tag){case 5:return Ma(o.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return o=Oa(o.type,!1),o;case 11:return o=Oa(o.type.render,!1),o;case 1:return o=Oa(o.type,!0),o;default:return""}}function Qa(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case Ca:return(o.displayName||"Context")+".Consumer";case Ba:return(o._context.displayName||"Context")+".Provider";case Da:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ga:return s=o.displayName||null,s!==null?s:Qa(o.type)||"Memo";case Ha:s=o._payload,o=o._init;try{return Qa(o(s))}catch{}}return null}function Ra(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(s);case 8:return s===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Ta(o){var s=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function Ua(o){var s=Ta(o)?"checked":"value",_=Object.getOwnPropertyDescriptor(o.constructor.prototype,s),j=""+o[s];if(!o.hasOwnProperty(s)&&typeof _<"u"&&typeof _.get=="function"&&typeof _.set=="function"){var $=_.get,_e=_.set;return Object.defineProperty(o,s,{configurable:!0,get:function(){return $.call(this)},set:function(et){j=""+et,_e.call(this,et)}}),Object.defineProperty(o,s,{enumerable:_.enumerable}),{getValue:function(){return j},setValue:function(et){j=""+et},stopTracking:function(){o._valueTracker=null,delete o[s]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var s=o._valueTracker;if(!s)return!0;var _=s.getValue(),j="";return o&&(j=Ta(o)?o.checked?"true":"false":o.value),o=j,o!==_?(s.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function Ya(o,s){var _=s.checked;return A$1({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_??o._wrapperState.initialChecked})}function Za(o,s){var _=s.defaultValue==null?"":s.defaultValue,j=s.checked!=null?s.checked:s.defaultChecked;_=Sa(s.value!=null?s.value:_),o._wrapperState={initialChecked:j,initialValue:_,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ab(o,s){s=s.checked,s!=null&&ta(o,"checked",s,!1)}function bb(o,s){ab(o,s);var _=Sa(s.value),j=s.type;if(_!=null)j==="number"?(_===0&&o.value===""||o.value!=_)&&(o.value=""+_):o.value!==""+_&&(o.value=""+_);else if(j==="submit"||j==="reset"){o.removeAttribute("value");return}s.hasOwnProperty("value")?cb(o,s.type,_):s.hasOwnProperty("defaultValue")&&cb(o,s.type,Sa(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(o.defaultChecked=!!s.defaultChecked)}function db(o,s,_){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var j=s.type;if(!(j!=="submit"&&j!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+o._wrapperState.initialValue,_||s===o.value||(o.value=s),o.defaultValue=s}_=o.name,_!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,_!==""&&(o.name=_)}function cb(o,s,_){(s!=="number"||Xa(o.ownerDocument)!==o)&&(_==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+_&&(o.defaultValue=""+_))}var eb=Array.isArray;function fb(o,s,_,j){if(o=o.options,s){s={};for(var $=0;$<_.length;$++)s["$"+_[$]]=!0;for(_=0;_"+s.valueOf().toString()+"",s=mb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}});function ob(o,s){if(s){var _=o.firstChild;if(_&&_===o.lastChild&&_.nodeType===3){_.nodeValue=s;return}}o.textContent=s}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(o){qb.forEach(function(s){s=s+o.charAt(0).toUpperCase()+o.substring(1),pb[s]=pb[o]})});function rb(o,s,_){return s==null||typeof s=="boolean"||s===""?"":_||typeof s!="number"||s===0||pb.hasOwnProperty(o)&&pb[o]?(""+s).trim():s+"px"}function sb(o,s){o=o.style;for(var _ in s)if(s.hasOwnProperty(_)){var j=_.indexOf("--")===0,$=rb(_,s[_],j);_==="float"&&(_="cssFloat"),j?o.setProperty(_,$):o[_]=$}}var tb=A$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(o,s){if(s){if(tb[o]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(p$1(137,o));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(p$1(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(p$1(61))}if(s.style!=null&&typeof s.style!="object")throw Error(p$1(62))}}function vb(o,s){if(o.indexOf("-")===-1)return typeof s.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(p$1(280));var s=o.stateNode;s&&(s=Db(s),yb(o.stateNode,o.type,s))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,s=Ab;if(Ab=zb=null,Bb(o),s)for(o=0;o>>=0,o===0?32:31-(pc(o)/qc|0)|0}var rc=64,sc=4194304;function tc(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function uc(o,s){var _=o.pendingLanes;if(_===0)return 0;var j=0,$=o.suspendedLanes,_e=o.pingedLanes,et=_&268435455;if(et!==0){var tt=et&~$;tt!==0?j=tc(tt):(_e&=et,_e!==0&&(j=tc(_e)))}else et=_&~$,et!==0?j=tc(et):_e!==0&&(j=tc(_e));if(j===0)return 0;if(s!==0&&s!==j&&!(s&$)&&($=j&-j,_e=s&-s,$>=_e||$===16&&(_e&4194240)!==0))return s;if(j&4&&(j|=_&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=j;0_;_++)s.push(o);return s}function Ac(o,s,_){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-oc(s),o[s]=_}function Bc(o,s){var _=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var j=o.eventTimes;for(o=o.expirationTimes;0<_;){var $=31-oc(_),_e=1<<$;s[$]=0,j[$]=-1,o[$]=-1,_&=~_e}}function Cc(o,s){var _=o.entangledLanes|=s;for(o=o.entanglements;_;){var j=31-oc(_),$=1<=be),ee=String.fromCharCode(32),fe=!1;function ge(o,s){switch(o){case"keyup":return $d.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he$1(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie=!1;function je(o,s){switch(o){case"compositionend":return he$1(s);case"keypress":return s.which!==32?null:(fe=!0,ee);case"textInput":return o=s.data,o===ee&&fe?null:o;default:return null}}function ke(o,s){if(ie)return o==="compositionend"||!ae&&ge(o,s)?(o=nd(),md=ld=kd=null,ie=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:_,offset:s-o};o=j}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=Je(_)}}function Le(o,s){return o&&s?o===s?!0:o&&o.nodeType===3?!1:s&&s.nodeType===3?Le(o,s.parentNode):"contains"in o?o.contains(s):o.compareDocumentPosition?!!(o.compareDocumentPosition(s)&16):!1:!1}function Me(){for(var o=window,s=Xa();s instanceof o.HTMLIFrameElement;){try{var _=typeof s.contentWindow.location.href=="string"}catch{_=!1}if(_)o=s.contentWindow;else break;s=Xa(o.document)}return s}function Ne(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s&&(s==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||s==="textarea"||o.contentEditable==="true")}function Oe$1(o){var s=Me(),_=o.focusedElem,j=o.selectionRange;if(s!==_&&_&&_.ownerDocument&&Le(_.ownerDocument.documentElement,_)){if(j!==null&&Ne(_)){if(s=j.start,o=j.end,o===void 0&&(o=s),"selectionStart"in _)_.selectionStart=s,_.selectionEnd=Math.min(o,_.value.length);else if(o=(s=_.ownerDocument||document)&&s.defaultView||window,o.getSelection){o=o.getSelection();var $=_.textContent.length,_e=Math.min(j.start,$);j=j.end===void 0?_e:Math.min(j.end,$),!o.extend&&_e>j&&($=j,j=_e,_e=$),$=Ke$1(_,_e);var et=Ke$1(_,j);$&&et&&(o.rangeCount!==1||o.anchorNode!==$.node||o.anchorOffset!==$.offset||o.focusNode!==et.node||o.focusOffset!==et.offset)&&(s=s.createRange(),s.setStart($.node,$.offset),o.removeAllRanges(),_e>j?(o.addRange(s),o.extend(et.node,et.offset)):(s.setEnd(et.node,et.offset),o.addRange(s)))}}for(s=[],o=_;o=o.parentNode;)o.nodeType===1&&s.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,s,_){var j=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;Te||Qe==null||Qe!==Xa(j)||(j=Qe,"selectionStart"in j&&Ne(j)?j={start:j.selectionStart,end:j.selectionEnd}:(j=(j.ownerDocument&&j.ownerDocument.defaultView||window).getSelection(),j={anchorNode:j.anchorNode,anchorOffset:j.anchorOffset,focusNode:j.focusNode,focusOffset:j.focusOffset}),Se&&Ie(Se,j)||(Se=j,j=oe(Re,"onSelect"),0Tf||(o.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(o,s){Tf++,Sf[Tf]=o.current,o.current=s}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(o,s){var _=o.type.contextTypes;if(!_)return Vf;var j=o.stateNode;if(j&&j.__reactInternalMemoizedUnmaskedChildContext===s)return j.__reactInternalMemoizedMaskedChildContext;var $={},_e;for(_e in _)$[_e]=s[_e];return j&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=$),$}function Zf(o){return o=o.childContextTypes,o!=null}function $f(){E(Wf),E(H)}function ag(o,s,_){if(H.current!==Vf)throw Error(p$1(168));G(H,s),G(Wf,_)}function bg(o,s,_){var j=o.stateNode;if(s=s.childContextTypes,typeof j.getChildContext!="function")return _;j=j.getChildContext();for(var $ in j)if(!($ in s))throw Error(p$1(108,Ra(o)||"Unknown",$));return A$1({},_,j)}function cg(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,o),G(Wf,Wf.current),!0}function dg(o,s,_){var j=o.stateNode;if(!j)throw Error(p$1(169));_?(o=bg(o,s,Xf),j.__reactInternalMemoizedMergedChildContext=o,E(Wf),E(H),G(H,o)):E(Wf),G(Wf,_)}var eg=null,fg=!1,gg=!1;function hg(o){eg===null?eg=[o]:eg.push(o)}function ig(o){fg=!0,hg(o)}function jg(){if(!gg&&eg!==null){gg=!0;var o=0,s=C;try{var _=eg;for(C=1;o<_.length;o++){var j=_[o];do j=j(!0);while(j!==null)}eg=null,fg=!1}catch($){throw eg!==null&&(eg=eg.slice(o+1)),ac(fc,jg),$}finally{C=s,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg="";function tg(o,s){kg[lg++]=ng,kg[lg++]=mg,mg=o,ng=s}function ug(o,s,_){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=o;var j=rg;o=sg;var $=32-oc(j)-1;j&=~(1<<$),_+=1;var _e=32-oc(s)+$;if(30<_e){var et=$-$%5;_e=(j&(1<>=et,$-=et,rg=1<<32-oc(s)+$|_<<$|j,sg=_e+o}else rg=1<<_e|_<<$|j,sg=o}function vg(o){o.return!==null&&(tg(o,1),ug(o,1,0))}function wg(o){for(;o===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;o===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;function Ag(o,s){var _=Bg(5,null,null,0);_.elementType="DELETED",_.stateNode=s,_.return=o,s=o.deletions,s===null?(o.deletions=[_],o.flags|=16):s.push(_)}function Cg(o,s){switch(o.tag){case 5:var _=o.type;return s=s.nodeType!==1||_.toLowerCase()!==s.nodeName.toLowerCase()?null:s,s!==null?(o.stateNode=s,xg=o,yg=Lf(s.firstChild),!0):!1;case 6:return s=o.pendingProps===""||s.nodeType!==3?null:s,s!==null?(o.stateNode=s,xg=o,yg=null,!0):!1;case 13:return s=s.nodeType!==8?null:s,s!==null?(_=qg!==null?{id:rg,overflow:sg}:null,o.memoizedState={dehydrated:s,treeContext:_,retryLane:1073741824},_=Bg(18,null,null,0),_.stateNode=s,_.return=o,o.child=_,xg=o,yg=null,!0):!1;default:return!1}}function Dg(o){return(o.mode&1)!==0&&(o.flags&128)===0}function Eg(o){if(I){var s=yg;if(s){var _=s;if(!Cg(o,s)){if(Dg(o))throw Error(p$1(418));s=Lf(_.nextSibling);var j=xg;s&&Cg(o,s)?Ag(j,_):(o.flags=o.flags&-4097|2,I=!1,xg=o)}}else{if(Dg(o))throw Error(p$1(418));o.flags=o.flags&-4097|2,I=!1,xg=o}}}function Fg(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;xg=o}function Gg(o){if(o!==xg)return!1;if(!I)return Fg(o),I=!0,!1;var s;if((s=o.tag!==3)&&!(s=o.tag!==5)&&(s=o.type,s=s!=="head"&&s!=="body"&&!Ef(o.type,o.memoizedProps)),s&&(s=yg)){if(Dg(o))throw Hg(),Error(p$1(418));for(;s;)Ag(o,s),s=Lf(s.nextSibling)}if(Fg(o),o.tag===13){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(p$1(317));e:{for(o=o.nextSibling,s=0;o;){if(o.nodeType===8){var _=o.data;if(_==="/$"){if(s===0){yg=Lf(o.nextSibling);break e}s--}else _!=="$"&&_!=="$!"&&_!=="$?"||s++}o=o.nextSibling}yg=null}}else yg=xg?Lf(o.stateNode.nextSibling):null;return!0}function Hg(){for(var o=yg;o;)o=Lf(o.nextSibling)}function Ig(){yg=xg=null,I=!1}function Jg(o){zg===null?zg=[o]:zg.push(o)}var Kg=ua$1.ReactCurrentBatchConfig;function Lg(o,s,_){if(o=_.ref,o!==null&&typeof o!="function"&&typeof o!="object"){if(_._owner){if(_=_._owner,_){if(_.tag!==1)throw Error(p$1(309));var j=_.stateNode}if(!j)throw Error(p$1(147,o));var $=j,_e=""+o;return s!==null&&s.ref!==null&&typeof s.ref=="function"&&s.ref._stringRef===_e?s.ref:(s=function(et){var tt=$.refs;et===null?delete tt[_e]:tt[_e]=et},s._stringRef=_e,s)}if(typeof o!="string")throw Error(p$1(284));if(!_._owner)throw Error(p$1(290,o))}return o}function Mg(o,s){throw o=Object.prototype.toString.call(s),Error(p$1(31,o==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":o))}function Ng(o){var s=o._init;return s(o._payload)}function Og(o){function s(Bt,Qt){if(o){var gt=Bt.deletions;gt===null?(Bt.deletions=[Qt],Bt.flags|=16):gt.push(Qt)}}function _(Bt,Qt){if(!o)return null;for(;Qt!==null;)s(Bt,Qt),Qt=Qt.sibling;return null}function j(Bt,Qt){for(Bt=new Map;Qt!==null;)Qt.key!==null?Bt.set(Qt.key,Qt):Bt.set(Qt.index,Qt),Qt=Qt.sibling;return Bt}function $(Bt,Qt){return Bt=Pg(Bt,Qt),Bt.index=0,Bt.sibling=null,Bt}function _e(Bt,Qt,gt){return Bt.index=gt,o?(gt=Bt.alternate,gt!==null?(gt=gt.index,gtxt?(ht=Ct,Ct=null):ht=Ct.sibling;var mt=dt(Bt,Ct,gt[xt],ft);if(mt===null){Ct===null&&(Ct=ht);break}o&&Ct&&mt.alternate===null&&s(Bt,Ct),Qt=_e(mt,Qt,xt),yt===null?Ft=mt:yt.sibling=mt,yt=mt,Ct=ht}if(xt===gt.length)return _(Bt,Ct),I&&tg(Bt,xt),Ft;if(Ct===null){for(;xtxt?(ht=Ct,Ct=null):ht=Ct.sibling;var It=dt(Bt,Ct,mt.value,ft);if(It===null){Ct===null&&(Ct=ht);break}o&&Ct&&It.alternate===null&&s(Bt,Ct),Qt=_e(It,Qt,xt),yt===null?Ft=It:yt.sibling=It,yt=It,Ct=ht}if(mt.done)return _(Bt,Ct),I&&tg(Bt,xt),Ft;if(Ct===null){for(;!mt.done;xt++,mt=gt.next())mt=ut(Bt,mt.value,ft),mt!==null&&(Qt=_e(mt,Qt,xt),yt===null?Ft=mt:yt.sibling=mt,yt=mt);return I&&tg(Bt,xt),Ft}for(Ct=j(Bt,Ct);!mt.done;xt++,mt=gt.next())mt=Ut(Ct,Bt,xt,mt.value,ft),mt!==null&&(o&&mt.alternate!==null&&Ct.delete(mt.key===null?xt:mt.key),Qt=_e(mt,Qt,xt),yt===null?Ft=mt:yt.sibling=mt,yt=mt);return o&&Ct.forEach(function(vt){return s(Bt,vt)}),I&&tg(Bt,xt),Ft}function pt(Bt,Qt,gt,ft){if(typeof gt=="object"&>!==null&>.type===ya&>.key===null&&(gt=gt.props.children),typeof gt=="object"&>!==null){switch(gt.$$typeof){case va:e:{for(var Ft=gt.key,yt=Qt;yt!==null;){if(yt.key===Ft){if(Ft=gt.type,Ft===ya){if(yt.tag===7){_(Bt,yt.sibling),Qt=$(yt,gt.props.children),Qt.return=Bt,Bt=Qt;break e}}else if(yt.elementType===Ft||typeof Ft=="object"&&Ft!==null&&Ft.$$typeof===Ha&&Ng(Ft)===yt.type){_(Bt,yt.sibling),Qt=$(yt,gt.props),Qt.ref=Lg(Bt,yt,gt),Qt.return=Bt,Bt=Qt;break e}_(Bt,yt);break}else s(Bt,yt);yt=yt.sibling}gt.type===ya?(Qt=Tg(gt.props.children,Bt.mode,ft,gt.key),Qt.return=Bt,Bt=Qt):(ft=Rg(gt.type,gt.key,gt.props,null,Bt.mode,ft),ft.ref=Lg(Bt,Qt,gt),ft.return=Bt,Bt=ft)}return et(Bt);case wa:e:{for(yt=gt.key;Qt!==null;){if(Qt.key===yt)if(Qt.tag===4&&Qt.stateNode.containerInfo===gt.containerInfo&&Qt.stateNode.implementation===gt.implementation){_(Bt,Qt.sibling),Qt=$(Qt,gt.children||[]),Qt.return=Bt,Bt=Qt;break e}else{_(Bt,Qt);break}else s(Bt,Qt);Qt=Qt.sibling}Qt=Sg(gt,Bt.mode,ft),Qt.return=Bt,Bt=Qt}return et(Bt);case Ha:return yt=gt._init,pt(Bt,Qt,yt(gt._payload),ft)}if(eb(gt))return st(Bt,Qt,gt,ft);if(Ka(gt))return ct(Bt,Qt,gt,ft);Mg(Bt,gt)}return typeof gt=="string"&>!==""||typeof gt=="number"?(gt=""+gt,Qt!==null&&Qt.tag===6?(_(Bt,Qt.sibling),Qt=$(Qt,gt),Qt.return=Bt,Bt=Qt):(_(Bt,Qt),Qt=Qg(gt,Bt.mode,ft),Qt.return=Bt,Bt=Qt),et(Bt)):_(Bt,Qt)}return pt}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(o){var s=Wg.current;E(Wg),o._currentValue=s}function bh(o,s,_){for(;o!==null;){var j=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,j!==null&&(j.childLanes|=s)):j!==null&&(j.childLanes&s)!==s&&(j.childLanes|=s),o===_)break;o=o.return}}function ch(o,s){Xg=o,Zg=Yg=null,o=o.dependencies,o!==null&&o.firstContext!==null&&(o.lanes&s&&(dh=!0),o.firstContext=null)}function eh(o){var s=o._currentValue;if(Zg!==o)if(o={context:o,memoizedValue:s,next:null},Yg===null){if(Xg===null)throw Error(p$1(308));Yg=o,Xg.dependencies={lanes:0,firstContext:o}}else Yg=Yg.next=o;return s}var fh=null;function gh(o){fh===null?fh=[o]:fh.push(o)}function hh(o,s,_,j){var $=s.interleaved;return $===null?(_.next=_,gh(s)):(_.next=$.next,$.next=_),s.interleaved=_,ih(o,j)}function ih(o,s){o.lanes|=s;var _=o.alternate;for(_!==null&&(_.lanes|=s),_=o,o=o.return;o!==null;)o.childLanes|=s,_=o.alternate,_!==null&&(_.childLanes|=s),_=o,o=o.return;return _.tag===3?_.stateNode:null}var jh=!1;function kh(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lh(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function mh(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function nh(o,s,_){var j=o.updateQueue;if(j===null)return null;if(j=j.shared,K&2){var $=j.pending;return $===null?s.next=s:(s.next=$.next,$.next=s),j.pending=s,ih(o,_)}return $=j.interleaved,$===null?(s.next=s,gh(j)):(s.next=$.next,$.next=s),j.interleaved=s,ih(o,_)}function oh(o,s,_){if(s=s.updateQueue,s!==null&&(s=s.shared,(_&4194240)!==0)){var j=s.lanes;j&=o.pendingLanes,_|=j,s.lanes=_,Cc(o,_)}}function ph(o,s){var _=o.updateQueue,j=o.alternate;if(j!==null&&(j=j.updateQueue,_===j)){var $=null,_e=null;if(_=_.firstBaseUpdate,_!==null){do{var et={eventTime:_.eventTime,lane:_.lane,tag:_.tag,payload:_.payload,callback:_.callback,next:null};_e===null?$=_e=et:_e=_e.next=et,_=_.next}while(_!==null);_e===null?$=_e=s:_e=_e.next=s}else $=_e=s;_={baseState:j.baseState,firstBaseUpdate:$,lastBaseUpdate:_e,shared:j.shared,effects:j.effects},o.updateQueue=_;return}o=_.lastBaseUpdate,o===null?_.firstBaseUpdate=s:o.next=s,_.lastBaseUpdate=s}function qh(o,s,_,j){var $=o.updateQueue;jh=!1;var _e=$.firstBaseUpdate,et=$.lastBaseUpdate,tt=$.shared.pending;if(tt!==null){$.shared.pending=null;var nt=tt,rt=nt.next;nt.next=null,et===null?_e=rt:et.next=rt,et=nt;var ot=o.alternate;ot!==null&&(ot=ot.updateQueue,tt=ot.lastBaseUpdate,tt!==et&&(tt===null?ot.firstBaseUpdate=rt:tt.next=rt,ot.lastBaseUpdate=nt))}if(_e!==null){var ut=$.baseState;et=0,ot=rt=nt=null,tt=_e;do{var dt=tt.lane,Ut=tt.eventTime;if((j&dt)===dt){ot!==null&&(ot=ot.next={eventTime:Ut,lane:0,tag:tt.tag,payload:tt.payload,callback:tt.callback,next:null});e:{var st=o,ct=tt;switch(dt=s,Ut=_,ct.tag){case 1:if(st=ct.payload,typeof st=="function"){ut=st.call(Ut,ut,dt);break e}ut=st;break e;case 3:st.flags=st.flags&-65537|128;case 0:if(st=ct.payload,dt=typeof st=="function"?st.call(Ut,ut,dt):st,dt==null)break e;ut=A$1({},ut,dt);break e;case 2:jh=!0}}tt.callback!==null&&tt.lane!==0&&(o.flags|=64,dt=$.effects,dt===null?$.effects=[tt]:dt.push(tt))}else Ut={eventTime:Ut,lane:dt,tag:tt.tag,payload:tt.payload,callback:tt.callback,next:null},ot===null?(rt=ot=Ut,nt=ut):ot=ot.next=Ut,et|=dt;if(tt=tt.next,tt===null){if(tt=$.shared.pending,tt===null)break;dt=tt,tt=dt.next,dt.next=null,$.lastBaseUpdate=dt,$.shared.pending=null}}while(1);if(ot===null&&(nt=ut),$.baseState=nt,$.firstBaseUpdate=rt,$.lastBaseUpdate=ot,s=$.shared.interleaved,s!==null){$=s;do et|=$.lane,$=$.next;while($!==s)}else _e===null&&($.shared.lanes=0);rh|=et,o.lanes=et,o.memoizedState=ut}}function sh(o,s,_){if(o=s.effects,s.effects=null,o!==null)for(s=0;s_?_:4,o(!0);var j=Gh.transition;Gh.transition={};try{o(!1),s()}finally{C=_,Gh.transition=j}}function wi(){return Uh().memoizedState}function xi(o,s,_){var j=yi(o);if(_={lane:j,action:_,hasEagerState:!1,eagerState:null,next:null},zi(o))Ai(s,_);else if(_=hh(o,s,_,j),_!==null){var $=R();gi(_,o,j,$),Bi(_,s,j)}}function ii(o,s,_){var j=yi(o),$={lane:j,action:_,hasEagerState:!1,eagerState:null,next:null};if(zi(o))Ai(s,$);else{var _e=o.alternate;if(o.lanes===0&&(_e===null||_e.lanes===0)&&(_e=s.lastRenderedReducer,_e!==null))try{var et=s.lastRenderedState,tt=_e(et,_);if($.hasEagerState=!0,$.eagerState=tt,He(tt,et)){var nt=s.interleaved;nt===null?($.next=$,gh(s)):($.next=nt.next,nt.next=$),s.interleaved=$;return}}catch{}finally{}_=hh(o,s,$,j),_!==null&&($=R(),gi(_,o,j,$),Bi(_,s,j))}}function zi(o){var s=o.alternate;return o===M||s!==null&&s===M}function Ai(o,s){Jh=Ih=!0;var _=o.pending;_===null?s.next=s:(s.next=_.next,_.next=s),o.pending=s}function Bi(o,s,_){if(_&4194240){var j=s.lanes;j&=o.pendingLanes,_|=j,s.lanes=_,Cc(o,_)}}var Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(o,s){return Th().memoizedState=[o,s===void 0?null:s],o},useContext:eh,useEffect:mi,useImperativeHandle:function(o,s,_){return _=_!=null?_.concat([o]):null,ki(4194308,4,pi.bind(null,s,o),_)},useLayoutEffect:function(o,s){return ki(4194308,4,o,s)},useInsertionEffect:function(o,s){return ki(4,2,o,s)},useMemo:function(o,s){var _=Th();return s=s===void 0?null:s,o=o(),_.memoizedState=[o,s],o},useReducer:function(o,s,_){var j=Th();return s=_!==void 0?_(s):s,j.memoizedState=j.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},j.queue=o,o=o.dispatch=xi.bind(null,M,o),[j.memoizedState,o]},useRef:function(o){var s=Th();return o={current:o},s.memoizedState=o},useState:hi,useDebugValue:ri,useDeferredValue:function(o){return Th().memoizedState=o},useTransition:function(){var o=hi(!1),s=o[0];return o=vi.bind(null,o[1]),Th().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,_){var j=M,$=Th();if(I){if(_===void 0)throw Error(p$1(407));_=_()}else{if(_=s(),Q===null)throw Error(p$1(349));Hh&30||di(j,s,_)}$.memoizedState=_;var _e={value:_,getSnapshot:s};return $.queue=_e,mi(ai.bind(null,j,_e,o),[o]),j.flags|=2048,bi(9,ci.bind(null,j,_e,_,s),void 0,null),_},useId:function(){var o=Th(),s=Q.identifierPrefix;if(I){var _=sg,j=rg;_=(j&~(1<<32-oc(j)-1)).toString(32)+_,s=":"+s+"R"+_,_=Kh++,0<_&&(s+="H"+_.toString(32)),s+=":"}else _=Lh++,s=":"+s+"r"+_.toString(32)+":";return o.memoizedState=s},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},useDebugValue:ri,useDeferredValue:function(o){var s=Uh();return ui(s,N.memoizedState,o)},useTransition:function(){var o=Wh(Vh)[0],s=Uh().memoizedState;return[o,s]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(o){var s=Uh();return N===null?s.memoizedState=o:ui(s,N.memoizedState,o)},useTransition:function(){var o=Xh(Vh)[0],s=Uh().memoizedState;return[o,s]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(o,s){if(o&&o.defaultProps){s=A$1({},s),o=o.defaultProps;for(var _ in o)s[_]===void 0&&(s[_]=o[_]);return s}return s}function Di(o,s,_,j){s=o.memoizedState,_=_(j,s),_=_==null?s:A$1({},s,_),o.memoizedState=_,o.lanes===0&&(o.updateQueue.baseState=_)}var Ei={isMounted:function(o){return(o=o._reactInternals)?Vb(o)===o:!1},enqueueSetState:function(o,s,_){o=o._reactInternals;var j=R(),$=yi(o),_e=mh(j,$);_e.payload=s,_!=null&&(_e.callback=_),s=nh(o,_e,$),s!==null&&(gi(s,o,$,j),oh(s,o,$))},enqueueReplaceState:function(o,s,_){o=o._reactInternals;var j=R(),$=yi(o),_e=mh(j,$);_e.tag=1,_e.payload=s,_!=null&&(_e.callback=_),s=nh(o,_e,$),s!==null&&(gi(s,o,$,j),oh(s,o,$))},enqueueForceUpdate:function(o,s){o=o._reactInternals;var _=R(),j=yi(o),$=mh(_,j);$.tag=2,s!=null&&($.callback=s),s=nh(o,$,j),s!==null&&(gi(s,o,j,_),oh(s,o,j))}};function Fi(o,s,_,j,$,_e,et){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(j,_e,et):s.prototype&&s.prototype.isPureReactComponent?!Ie(_,j)||!Ie($,_e):!0}function Gi(o,s,_){var j=!1,$=Vf,_e=s.contextType;return typeof _e=="object"&&_e!==null?_e=eh(_e):($=Zf(s)?Xf:H.current,j=s.contextTypes,_e=(j=j!=null)?Yf(o,$):Vf),s=new s(_,_e),o.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=Ei,o.stateNode=s,s._reactInternals=o,j&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=$,o.__reactInternalMemoizedMaskedChildContext=_e),s}function Hi(o,s,_,j){o=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(_,j),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(_,j),s.state!==o&&Ei.enqueueReplaceState(s,s.state,null)}function Ii(o,s,_,j){var $=o.stateNode;$.props=_,$.state=o.memoizedState,$.refs={},kh(o);var _e=s.contextType;typeof _e=="object"&&_e!==null?$.context=eh(_e):(_e=Zf(s)?Xf:H.current,$.context=Yf(o,_e)),$.state=o.memoizedState,_e=s.getDerivedStateFromProps,typeof _e=="function"&&(Di(o,s,_e,_),$.state=o.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof $.getSnapshotBeforeUpdate=="function"||typeof $.UNSAFE_componentWillMount!="function"&&typeof $.componentWillMount!="function"||(s=$.state,typeof $.componentWillMount=="function"&&$.componentWillMount(),typeof $.UNSAFE_componentWillMount=="function"&&$.UNSAFE_componentWillMount(),s!==$.state&&Ei.enqueueReplaceState($,$.state,null),qh(o,_,$,j),$.state=o.memoizedState),typeof $.componentDidMount=="function"&&(o.flags|=4194308)}function Ji(o,s){try{var _="",j=s;do _+=Pa(j),j=j.return;while(j);var $=_}catch(_e){$=` -Error generating stack: `+_e.message+` -`+_e.stack}return{value:o,source:s,stack:$,digest:null}}function Ki(o,s,_){return{value:o,source:null,stack:_??null,digest:s??null}}function Li(o,s){try{console.error(s.value)}catch(_){setTimeout(function(){throw _})}}var Mi=typeof WeakMap=="function"?WeakMap:Map;function Ni(o,s,_){_=mh(-1,_),_.tag=3,_.payload={element:null};var j=s.value;return _.callback=function(){Oi||(Oi=!0,Pi=j),Li(o,s)},_}function Qi(o,s,_){_=mh(-1,_),_.tag=3;var j=o.type.getDerivedStateFromError;if(typeof j=="function"){var $=s.value;_.payload=function(){return j($)},_.callback=function(){Li(o,s)}}var _e=o.stateNode;return _e!==null&&typeof _e.componentDidCatch=="function"&&(_.callback=function(){Li(o,s),typeof j!="function"&&(Ri===null?Ri=new Set([this]):Ri.add(this));var et=s.stack;this.componentDidCatch(s.value,{componentStack:et!==null?et:""})}),_}function Si(o,s,_){var j=o.pingCache;if(j===null){j=o.pingCache=new Mi;var $=new Set;j.set(s,$)}else $=j.get(s),$===void 0&&($=new Set,j.set(s,$));$.has(_)||($.add(_),o=Ti.bind(null,o,s,_),s.then(o,o))}function Ui(o){do{var s;if((s=o.tag===13)&&(s=o.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return o;o=o.return}while(o!==null);return null}function Vi(o,s,_,j,$){return o.mode&1?(o.flags|=65536,o.lanes=$,o):(o===s?o.flags|=65536:(o.flags|=128,_.flags|=131072,_.flags&=-52805,_.tag===1&&(_.alternate===null?_.tag=17:(s=mh(-1,1),s.tag=2,nh(_,s,1))),_.lanes|=1),o)}var Wi=ua$1.ReactCurrentOwner,dh=!1;function Xi(o,s,_,j){s.child=o===null?Vg(s,null,_,j):Ug(s,o.child,_,j)}function Yi(o,s,_,j,$){_=_.render;var _e=s.ref;return ch(s,$),j=Nh(o,s,_,j,_e,$),_=Sh(),o!==null&&!dh?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~$,Zi(o,s,$)):(I&&_&&vg(s),s.flags|=1,Xi(o,s,j,$),s.child)}function $i(o,s,_,j,$){if(o===null){var _e=_.type;return typeof _e=="function"&&!aj(_e)&&_e.defaultProps===void 0&&_.compare===null&&_.defaultProps===void 0?(s.tag=15,s.type=_e,bj(o,s,_e,j,$)):(o=Rg(_.type,null,j,s,s.mode,$),o.ref=s.ref,o.return=s,s.child=o)}if(_e=o.child,!(o.lanes&$)){var et=_e.memoizedProps;if(_=_.compare,_=_!==null?_:Ie,_(et,j)&&o.ref===s.ref)return Zi(o,s,$)}return s.flags|=1,o=Pg(_e,j),o.ref=s.ref,o.return=s,s.child=o}function bj(o,s,_,j,$){if(o!==null){var _e=o.memoizedProps;if(Ie(_e,j)&&o.ref===s.ref)if(dh=!1,s.pendingProps=j=_e,(o.lanes&$)!==0)o.flags&131072&&(dh=!0);else return s.lanes=o.lanes,Zi(o,s,$)}return cj(o,s,_,j,$)}function dj(o,s,_){var j=s.pendingProps,$=j.children,_e=o!==null?o.memoizedState:null;if(j.mode==="hidden")if(!(s.mode&1))s.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=_;else{if(!(_&1073741824))return o=_e!==null?_e.baseLanes|_:_,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null,transitions:null},s.updateQueue=null,G(ej,fj),fj|=o,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},j=_e!==null?_e.baseLanes:_,G(ej,fj),fj|=j}else _e!==null?(j=_e.baseLanes|_,s.memoizedState=null):j=_,G(ej,fj),fj|=j;return Xi(o,s,$,_),s.child}function gj(o,s){var _=s.ref;(o===null&&_!==null||o!==null&&o.ref!==_)&&(s.flags|=512,s.flags|=2097152)}function cj(o,s,_,j,$){var _e=Zf(_)?Xf:H.current;return _e=Yf(s,_e),ch(s,$),_=Nh(o,s,_,j,_e,$),j=Sh(),o!==null&&!dh?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~$,Zi(o,s,$)):(I&&j&&vg(s),s.flags|=1,Xi(o,s,_,$),s.child)}function hj(o,s,_,j,$){if(Zf(_)){var _e=!0;cg(s)}else _e=!1;if(ch(s,$),s.stateNode===null)ij(o,s),Gi(s,_,j),Ii(s,_,j,$),j=!0;else if(o===null){var et=s.stateNode,tt=s.memoizedProps;et.props=tt;var nt=et.context,rt=_.contextType;typeof rt=="object"&&rt!==null?rt=eh(rt):(rt=Zf(_)?Xf:H.current,rt=Yf(s,rt));var ot=_.getDerivedStateFromProps,ut=typeof ot=="function"||typeof et.getSnapshotBeforeUpdate=="function";ut||typeof et.UNSAFE_componentWillReceiveProps!="function"&&typeof et.componentWillReceiveProps!="function"||(tt!==j||nt!==rt)&&Hi(s,et,j,rt),jh=!1;var dt=s.memoizedState;et.state=dt,qh(s,j,et,$),nt=s.memoizedState,tt!==j||dt!==nt||Wf.current||jh?(typeof ot=="function"&&(Di(s,_,ot,j),nt=s.memoizedState),(tt=jh||Fi(s,_,tt,j,dt,nt,rt))?(ut||typeof et.UNSAFE_componentWillMount!="function"&&typeof et.componentWillMount!="function"||(typeof et.componentWillMount=="function"&&et.componentWillMount(),typeof et.UNSAFE_componentWillMount=="function"&&et.UNSAFE_componentWillMount()),typeof et.componentDidMount=="function"&&(s.flags|=4194308)):(typeof et.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=j,s.memoizedState=nt),et.props=j,et.state=nt,et.context=rt,j=tt):(typeof et.componentDidMount=="function"&&(s.flags|=4194308),j=!1)}else{et=s.stateNode,lh(o,s),tt=s.memoizedProps,rt=s.type===s.elementType?tt:Ci(s.type,tt),et.props=rt,ut=s.pendingProps,dt=et.context,nt=_.contextType,typeof nt=="object"&&nt!==null?nt=eh(nt):(nt=Zf(_)?Xf:H.current,nt=Yf(s,nt));var Ut=_.getDerivedStateFromProps;(ot=typeof Ut=="function"||typeof et.getSnapshotBeforeUpdate=="function")||typeof et.UNSAFE_componentWillReceiveProps!="function"&&typeof et.componentWillReceiveProps!="function"||(tt!==ut||dt!==nt)&&Hi(s,et,j,nt),jh=!1,dt=s.memoizedState,et.state=dt,qh(s,j,et,$);var st=s.memoizedState;tt!==ut||dt!==st||Wf.current||jh?(typeof Ut=="function"&&(Di(s,_,Ut,j),st=s.memoizedState),(rt=jh||Fi(s,_,rt,j,dt,st,nt)||!1)?(ot||typeof et.UNSAFE_componentWillUpdate!="function"&&typeof et.componentWillUpdate!="function"||(typeof et.componentWillUpdate=="function"&&et.componentWillUpdate(j,st,nt),typeof et.UNSAFE_componentWillUpdate=="function"&&et.UNSAFE_componentWillUpdate(j,st,nt)),typeof et.componentDidUpdate=="function"&&(s.flags|=4),typeof et.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof et.componentDidUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=4),typeof et.getSnapshotBeforeUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=1024),s.memoizedProps=j,s.memoizedState=st),et.props=j,et.state=st,et.context=nt,j=rt):(typeof et.componentDidUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=4),typeof et.getSnapshotBeforeUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=1024),j=!1)}return jj(o,s,_,j,_e,$)}function jj(o,s,_,j,$,_e){gj(o,s);var et=(s.flags&128)!==0;if(!j&&!et)return $&&dg(s,_,!1),Zi(o,s,_e);j=s.stateNode,Wi.current=s;var tt=et&&typeof _.getDerivedStateFromError!="function"?null:j.render();return s.flags|=1,o!==null&&et?(s.child=Ug(s,o.child,null,_e),s.child=Ug(s,null,tt,_e)):Xi(o,s,tt,_e),s.memoizedState=j.state,$&&dg(s,_,!0),s.child}function kj(o){var s=o.stateNode;s.pendingContext?ag(o,s.pendingContext,s.pendingContext!==s.context):s.context&&ag(o,s.context,!1),yh(o,s.containerInfo)}function lj(o,s,_,j,$){return Ig(),Jg($),s.flags|=256,Xi(o,s,_,j),s.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(o){return{baseLanes:o,cachePool:null,transitions:null}}function oj(o,s,_){var j=s.pendingProps,$=L.current,_e=!1,et=(s.flags&128)!==0,tt;if((tt=et)||(tt=o!==null&&o.memoizedState===null?!1:($&2)!==0),tt?(_e=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&($|=1),G(L,$&1),o===null)return Eg(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(s.mode&1?o.data==="$!"?s.lanes=8:s.lanes=1073741824:s.lanes=1,null):(et=j.children,o=j.fallback,_e?(j=s.mode,_e=s.child,et={mode:"hidden",children:et},!(j&1)&&_e!==null?(_e.childLanes=0,_e.pendingProps=et):_e=pj(et,j,0,null),o=Tg(o,j,_,null),_e.return=s,o.return=s,_e.sibling=o,s.child=_e,s.child.memoizedState=nj(_),s.memoizedState=mj,o):qj(s,et));if($=o.memoizedState,$!==null&&(tt=$.dehydrated,tt!==null))return rj(o,s,et,j,tt,$,_);if(_e){_e=j.fallback,et=s.mode,$=o.child,tt=$.sibling;var nt={mode:"hidden",children:j.children};return!(et&1)&&s.child!==$?(j=s.child,j.childLanes=0,j.pendingProps=nt,s.deletions=null):(j=Pg($,nt),j.subtreeFlags=$.subtreeFlags&14680064),tt!==null?_e=Pg(tt,_e):(_e=Tg(_e,et,_,null),_e.flags|=2),_e.return=s,j.return=s,j.sibling=_e,s.child=j,j=_e,_e=s.child,et=o.child.memoizedState,et=et===null?nj(_):{baseLanes:et.baseLanes|_,cachePool:null,transitions:et.transitions},_e.memoizedState=et,_e.childLanes=o.childLanes&~_,s.memoizedState=mj,j}return _e=o.child,o=_e.sibling,j=Pg(_e,{mode:"visible",children:j.children}),!(s.mode&1)&&(j.lanes=_),j.return=s,j.sibling=null,o!==null&&(_=s.deletions,_===null?(s.deletions=[o],s.flags|=16):_.push(o)),s.child=j,s.memoizedState=null,j}function qj(o,s){return s=pj({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function sj(o,s,_,j){return j!==null&&Jg(j),Ug(s,o.child,null,_),o=qj(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function rj(o,s,_,j,$,_e,et){if(_)return s.flags&256?(s.flags&=-257,j=Ki(Error(p$1(422))),sj(o,s,et,j)):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(_e=j.fallback,$=s.mode,j=pj({mode:"visible",children:j.children},$,0,null),_e=Tg(_e,$,et,null),_e.flags|=2,j.return=s,_e.return=s,j.sibling=_e,s.child=j,s.mode&1&&Ug(s,o.child,null,et),s.child.memoizedState=nj(et),s.memoizedState=mj,_e);if(!(s.mode&1))return sj(o,s,et,null);if($.data==="$!"){if(j=$.nextSibling&&$.nextSibling.dataset,j)var tt=j.dgst;return j=tt,_e=Error(p$1(419)),j=Ki(_e,j,void 0),sj(o,s,et,j)}if(tt=(et&o.childLanes)!==0,dh||tt){if(j=Q,j!==null){switch(et&-et){case 4:$=2;break;case 16:$=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:$=32;break;case 536870912:$=268435456;break;default:$=0}$=$&(j.suspendedLanes|et)?0:$,$!==0&&$!==_e.retryLane&&(_e.retryLane=$,ih(o,$),gi(j,o,$,-1))}return tj(),j=Ki(Error(p$1(421))),sj(o,s,et,j)}return $.data==="$?"?(s.flags|=128,s.child=o.child,s=uj.bind(null,o),$._reactRetry=s,null):(o=_e.treeContext,yg=Lf($.nextSibling),xg=s,I=!0,zg=null,o!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=o.id,sg=o.overflow,qg=s),s=qj(s,j.children),s.flags|=4096,s)}function vj(o,s,_){o.lanes|=s;var j=o.alternate;j!==null&&(j.lanes|=s),bh(o.return,s,_)}function wj(o,s,_,j,$){var _e=o.memoizedState;_e===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:j,tail:_,tailMode:$}:(_e.isBackwards=s,_e.rendering=null,_e.renderingStartTime=0,_e.last=j,_e.tail=_,_e.tailMode=$)}function xj(o,s,_){var j=s.pendingProps,$=j.revealOrder,_e=j.tail;if(Xi(o,s,j.children,_),j=L.current,j&2)j=j&1|2,s.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&vj(o,_,s);else if(o.tag===19)vj(o,_,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break e;for(;o.sibling===null;){if(o.return===null||o.return===s)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}j&=1}if(G(L,j),!(s.mode&1))s.memoizedState=null;else switch($){case"forwards":for(_=s.child,$=null;_!==null;)o=_.alternate,o!==null&&Ch(o)===null&&($=_),_=_.sibling;_=$,_===null?($=s.child,s.child=null):($=_.sibling,_.sibling=null),wj(s,!1,$,_,_e);break;case"backwards":for(_=null,$=s.child,s.child=null;$!==null;){if(o=$.alternate,o!==null&&Ch(o)===null){s.child=$;break}o=$.sibling,$.sibling=_,_=$,$=o}wj(s,!0,_,null,_e);break;case"together":wj(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function ij(o,s){!(s.mode&1)&&o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2)}function Zi(o,s,_){if(o!==null&&(s.dependencies=o.dependencies),rh|=s.lanes,!(_&s.childLanes))return null;if(o!==null&&s.child!==o.child)throw Error(p$1(153));if(s.child!==null){for(o=s.child,_=Pg(o,o.pendingProps),s.child=_,_.return=s;o.sibling!==null;)o=o.sibling,_=_.sibling=Pg(o,o.pendingProps),_.return=s;_.sibling=null}return s.child}function yj(o,s,_){switch(s.tag){case 3:kj(s),Ig();break;case 5:Ah(s);break;case 1:Zf(s.type)&&cg(s);break;case 4:yh(s,s.stateNode.containerInfo);break;case 10:var j=s.type._context,$=s.memoizedProps.value;G(Wg,j._currentValue),j._currentValue=$;break;case 13:if(j=s.memoizedState,j!==null)return j.dehydrated!==null?(G(L,L.current&1),s.flags|=128,null):_&s.child.childLanes?oj(o,s,_):(G(L,L.current&1),o=Zi(o,s,_),o!==null?o.sibling:null);G(L,L.current&1);break;case 19:if(j=(_&s.childLanes)!==0,o.flags&128){if(j)return xj(o,s,_);s.flags|=128}if($=s.memoizedState,$!==null&&($.rendering=null,$.tail=null,$.lastEffect=null),G(L,L.current),j)break;return null;case 22:case 23:return s.lanes=0,dj(o,s,_)}return Zi(o,s,_)}var zj,Aj,Bj,Cj;zj=function(o,s){for(var _=s.child;_!==null;){if(_.tag===5||_.tag===6)o.appendChild(_.stateNode);else if(_.tag!==4&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===s)break;for(;_.sibling===null;){if(_.return===null||_.return===s)return;_=_.return}_.sibling.return=_.return,_=_.sibling}};Aj=function(){};Bj=function(o,s,_,j){var $=o.memoizedProps;if($!==j){o=s.stateNode,xh(uh.current);var _e=null;switch(_){case"input":$=Ya(o,$),j=Ya(o,j),_e=[];break;case"select":$=A$1({},$,{value:void 0}),j=A$1({},j,{value:void 0}),_e=[];break;case"textarea":$=gb(o,$),j=gb(o,j),_e=[];break;default:typeof $.onClick!="function"&&typeof j.onClick=="function"&&(o.onclick=Bf)}ub(_,j);var et;_=null;for(rt in $)if(!j.hasOwnProperty(rt)&&$.hasOwnProperty(rt)&&$[rt]!=null)if(rt==="style"){var tt=$[rt];for(et in tt)tt.hasOwnProperty(et)&&(_||(_={}),_[et]="")}else rt!=="dangerouslySetInnerHTML"&&rt!=="children"&&rt!=="suppressContentEditableWarning"&&rt!=="suppressHydrationWarning"&&rt!=="autoFocus"&&(ea.hasOwnProperty(rt)?_e||(_e=[]):(_e=_e||[]).push(rt,null));for(rt in j){var nt=j[rt];if(tt=$!=null?$[rt]:void 0,j.hasOwnProperty(rt)&&nt!==tt&&(nt!=null||tt!=null))if(rt==="style")if(tt){for(et in tt)!tt.hasOwnProperty(et)||nt&&nt.hasOwnProperty(et)||(_||(_={}),_[et]="");for(et in nt)nt.hasOwnProperty(et)&&tt[et]!==nt[et]&&(_||(_={}),_[et]=nt[et])}else _||(_e||(_e=[]),_e.push(rt,_)),_=nt;else rt==="dangerouslySetInnerHTML"?(nt=nt?nt.__html:void 0,tt=tt?tt.__html:void 0,nt!=null&&tt!==nt&&(_e=_e||[]).push(rt,nt)):rt==="children"?typeof nt!="string"&&typeof nt!="number"||(_e=_e||[]).push(rt,""+nt):rt!=="suppressContentEditableWarning"&&rt!=="suppressHydrationWarning"&&(ea.hasOwnProperty(rt)?(nt!=null&&rt==="onScroll"&&D("scroll",o),_e||tt===nt||(_e=[])):(_e=_e||[]).push(rt,nt))}_&&(_e=_e||[]).push("style",_);var rt=_e;(s.updateQueue=rt)&&(s.flags|=4)}};Cj=function(o,s,_,j){_!==j&&(s.flags|=4)};function Dj(o,s){if(!I)switch(o.tailMode){case"hidden":s=o.tail;for(var _=null;s!==null;)s.alternate!==null&&(_=s),s=s.sibling;_===null?o.tail=null:_.sibling=null;break;case"collapsed":_=o.tail;for(var j=null;_!==null;)_.alternate!==null&&(j=_),_=_.sibling;j===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:j.sibling=null}}function S(o){var s=o.alternate!==null&&o.alternate.child===o.child,_=0,j=0;if(s)for(var $=o.child;$!==null;)_|=$.lanes|$.childLanes,j|=$.subtreeFlags&14680064,j|=$.flags&14680064,$.return=o,$=$.sibling;else for($=o.child;$!==null;)_|=$.lanes|$.childLanes,j|=$.subtreeFlags,j|=$.flags,$.return=o,$=$.sibling;return o.subtreeFlags|=j,o.childLanes=_,s}function Ej(o,s,_){var j=s.pendingProps;switch(wg(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(s),null;case 1:return Zf(s.type)&&$f(),S(s),null;case 3:return j=s.stateNode,zh(),E(Wf),E(H),Eh(),j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),(o===null||o.child===null)&&(Gg(s)?s.flags|=4:o===null||o.memoizedState.isDehydrated&&!(s.flags&256)||(s.flags|=1024,zg!==null&&(Fj(zg),zg=null))),Aj(o,s),S(s),null;case 5:Bh(s);var $=xh(wh.current);if(_=s.type,o!==null&&s.stateNode!=null)Bj(o,s,_,j,$),o.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!j){if(s.stateNode===null)throw Error(p$1(166));return S(s),null}if(o=xh(uh.current),Gg(s)){j=s.stateNode,_=s.type;var _e=s.memoizedProps;switch(j[Of]=s,j[Pf]=_e,o=(s.mode&1)!==0,_){case"dialog":D("cancel",j),D("close",j);break;case"iframe":case"object":case"embed":D("load",j);break;case"video":case"audio":for($=0;$<\/script>",o=o.removeChild(o.firstChild)):typeof j.is=="string"?o=et.createElement(_,{is:j.is}):(o=et.createElement(_),_==="select"&&(et=o,j.multiple?et.multiple=!0:j.size&&(et.size=j.size))):o=et.createElementNS(o,_),o[Of]=s,o[Pf]=j,zj(o,s,!1,!1),s.stateNode=o;e:{switch(et=vb(_,j),_){case"dialog":D("cancel",o),D("close",o),$=j;break;case"iframe":case"object":case"embed":D("load",o),$=j;break;case"video":case"audio":for($=0;$Gj&&(s.flags|=128,j=!0,Dj(_e,!1),s.lanes=4194304)}else{if(!j)if(o=Ch(et),o!==null){if(s.flags|=128,j=!0,_=o.updateQueue,_!==null&&(s.updateQueue=_,s.flags|=4),Dj(_e,!0),_e.tail===null&&_e.tailMode==="hidden"&&!et.alternate&&!I)return S(s),null}else 2*B()-_e.renderingStartTime>Gj&&_!==1073741824&&(s.flags|=128,j=!0,Dj(_e,!1),s.lanes=4194304);_e.isBackwards?(et.sibling=s.child,s.child=et):(_=_e.last,_!==null?_.sibling=et:s.child=et,_e.last=et)}return _e.tail!==null?(s=_e.tail,_e.rendering=s,_e.tail=s.sibling,_e.renderingStartTime=B(),s.sibling=null,_=L.current,G(L,j?_&1|2:_&1),s):(S(s),null);case 22:case 23:return Hj(),j=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==j&&(s.flags|=8192),j&&s.mode&1?fj&1073741824&&(S(s),s.subtreeFlags&6&&(s.flags|=8192)):S(s),null;case 24:return null;case 25:return null}throw Error(p$1(156,s.tag))}function Ij(o,s){switch(wg(s),s.tag){case 1:return Zf(s.type)&&$f(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return zh(),E(Wf),E(H),Eh(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 5:return Bh(s),null;case 13:if(E(L),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(p$1(340));Ig()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(s.type._context),null;case 22:case 23:return Hj(),null;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Lj(o,s){var _=o.ref;if(_!==null)if(typeof _=="function")try{_(null)}catch(j){W(o,s,j)}else _.current=null}function Mj(o,s,_){try{_()}catch(j){W(o,s,j)}}var Nj=!1;function Oj(o,s){if(Cf=dd,o=Me(),Ne(o)){if("selectionStart"in o)var _={start:o.selectionStart,end:o.selectionEnd};else e:{_=(_=o.ownerDocument)&&_.defaultView||window;var j=_.getSelection&&_.getSelection();if(j&&j.rangeCount!==0){_=j.anchorNode;var $=j.anchorOffset,_e=j.focusNode;j=j.focusOffset;try{_.nodeType,_e.nodeType}catch{_=null;break e}var et=0,tt=-1,nt=-1,rt=0,ot=0,ut=o,dt=null;t:for(;;){for(var Ut;ut!==_||$!==0&&ut.nodeType!==3||(tt=et+$),ut!==_e||j!==0&&ut.nodeType!==3||(nt=et+j),ut.nodeType===3&&(et+=ut.nodeValue.length),(Ut=ut.firstChild)!==null;)dt=ut,ut=Ut;for(;;){if(ut===o)break t;if(dt===_&&++rt===$&&(tt=et),dt===_e&&++ot===j&&(nt=et),(Ut=ut.nextSibling)!==null)break;ut=dt,dt=ut.parentNode}ut=Ut}_=tt===-1||nt===-1?null:{start:tt,end:nt}}else _=null}_=_||{start:0,end:0}}else _=null;for(Df={focusedElem:o,selectionRange:_},dd=!1,V=s;V!==null;)if(s=V,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,V=o;else for(;V!==null;){s=V;try{var st=s.alternate;if(s.flags&1024)switch(s.tag){case 0:case 11:case 15:break;case 1:if(st!==null){var ct=st.memoizedProps,pt=st.memoizedState,Bt=s.stateNode,Qt=Bt.getSnapshotBeforeUpdate(s.elementType===s.type?ct:Ci(s.type,ct),pt);Bt.__reactInternalSnapshotBeforeUpdate=Qt}break;case 3:var gt=s.stateNode.containerInfo;gt.nodeType===1?gt.textContent="":gt.nodeType===9&>.documentElement&>.removeChild(gt.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p$1(163))}}catch(ft){W(s,s.return,ft)}if(o=s.sibling,o!==null){o.return=s.return,V=o;break}V=s.return}return st=Nj,Nj=!1,st}function Pj(o,s,_){var j=s.updateQueue;if(j=j!==null?j.lastEffect:null,j!==null){var $=j=j.next;do{if(($.tag&o)===o){var _e=$.destroy;$.destroy=void 0,_e!==void 0&&Mj(s,_,_e)}$=$.next}while($!==j)}}function Qj(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var _=s=s.next;do{if((_.tag&o)===o){var j=_.create;_.destroy=j()}_=_.next}while(_!==s)}}function Rj(o){var s=o.ref;if(s!==null){var _=o.stateNode;switch(o.tag){case 5:o=_;break;default:o=_}typeof s=="function"?s(o):s.current=o}}function Sj(o){var s=o.alternate;s!==null&&(o.alternate=null,Sj(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&(delete s[Of],delete s[Pf],delete s[of],delete s[Qf],delete s[Rf])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Tj(o){return o.tag===5||o.tag===3||o.tag===4}function Uj(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Tj(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Vj(o,s,_){var j=o.tag;if(j===5||j===6)o=o.stateNode,s?_.nodeType===8?_.parentNode.insertBefore(o,s):_.insertBefore(o,s):(_.nodeType===8?(s=_.parentNode,s.insertBefore(o,_)):(s=_,s.appendChild(o)),_=_._reactRootContainer,_!=null||s.onclick!==null||(s.onclick=Bf));else if(j!==4&&(o=o.child,o!==null))for(Vj(o,s,_),o=o.sibling;o!==null;)Vj(o,s,_),o=o.sibling}function Wj(o,s,_){var j=o.tag;if(j===5||j===6)o=o.stateNode,s?_.insertBefore(o,s):_.appendChild(o);else if(j!==4&&(o=o.child,o!==null))for(Wj(o,s,_),o=o.sibling;o!==null;)Wj(o,s,_),o=o.sibling}var X=null,Xj=!1;function Yj(o,s,_){for(_=_.child;_!==null;)Zj(o,s,_),_=_.sibling}function Zj(o,s,_){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,_)}catch{}switch(_.tag){case 5:U||Lj(_,s);case 6:var j=X,$=Xj;X=null,Yj(o,s,_),X=j,Xj=$,X!==null&&(Xj?(o=X,_=_.stateNode,o.nodeType===8?o.parentNode.removeChild(_):o.removeChild(_)):X.removeChild(_.stateNode));break;case 18:X!==null&&(Xj?(o=X,_=_.stateNode,o.nodeType===8?Kf(o.parentNode,_):o.nodeType===1&&Kf(o,_),bd(o)):Kf(X,_.stateNode));break;case 4:j=X,$=Xj,X=_.stateNode.containerInfo,Xj=!0,Yj(o,s,_),X=j,Xj=$;break;case 0:case 11:case 14:case 15:if(!U&&(j=_.updateQueue,j!==null&&(j=j.lastEffect,j!==null))){$=j=j.next;do{var _e=$,et=_e.destroy;_e=_e.tag,et!==void 0&&(_e&2||_e&4)&&Mj(_,s,et),$=$.next}while($!==j)}Yj(o,s,_);break;case 1:if(!U&&(Lj(_,s),j=_.stateNode,typeof j.componentWillUnmount=="function"))try{j.props=_.memoizedProps,j.state=_.memoizedState,j.componentWillUnmount()}catch(tt){W(_,s,tt)}Yj(o,s,_);break;case 21:Yj(o,s,_);break;case 22:_.mode&1?(U=(j=U)||_.memoizedState!==null,Yj(o,s,_),U=j):Yj(o,s,_);break;default:Yj(o,s,_)}}function ak(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var _=o.stateNode;_===null&&(_=o.stateNode=new Kj),s.forEach(function(j){var $=bk.bind(null,o,j);_.has(j)||(_.add(j),j.then($,$))})}}function ck(o,s){var _=s.deletions;if(_!==null)for(var j=0;j<_.length;j++){var $=_[j];try{var _e=o,et=s,tt=et;e:for(;tt!==null;){switch(tt.tag){case 5:X=tt.stateNode,Xj=!1;break e;case 3:X=tt.stateNode.containerInfo,Xj=!0;break e;case 4:X=tt.stateNode.containerInfo,Xj=!0;break e}tt=tt.return}if(X===null)throw Error(p$1(160));Zj(_e,et,$),X=null,Xj=!1;var nt=$.alternate;nt!==null&&(nt.return=null),$.return=null}catch(rt){W($,s,rt)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)dk(s,o),s=s.sibling}function dk(o,s){var _=o.alternate,j=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(ck(s,o),ek(o),j&4){try{Pj(3,o,o.return),Qj(3,o)}catch(ct){W(o,o.return,ct)}try{Pj(5,o,o.return)}catch(ct){W(o,o.return,ct)}}break;case 1:ck(s,o),ek(o),j&512&&_!==null&&Lj(_,_.return);break;case 5:if(ck(s,o),ek(o),j&512&&_!==null&&Lj(_,_.return),o.flags&32){var $=o.stateNode;try{ob($,"")}catch(ct){W(o,o.return,ct)}}if(j&4&&($=o.stateNode,$!=null)){var _e=o.memoizedProps,et=_!==null?_.memoizedProps:_e,tt=o.type,nt=o.updateQueue;if(o.updateQueue=null,nt!==null)try{tt==="input"&&_e.type==="radio"&&_e.name!=null&&ab($,_e),vb(tt,et);var rt=vb(tt,_e);for(et=0;et$&&($=et),j&=~_e}if(j=$,j=B()-j,j=(120>j?120:480>j?480:1080>j?1080:1920>j?1920:3e3>j?3e3:4320>j?4320:1960*lk(j/1960))-j,10o?16:o,wk===null)var j=!1;else{if(o=wk,wk=null,xk=0,K&6)throw Error(p$1(331));var $=K;for(K|=4,V=o.current;V!==null;){var _e=V,et=_e.child;if(V.flags&16){var tt=_e.deletions;if(tt!==null){for(var nt=0;ntB()-fk?Kk(o,0):rk|=_),Dk(o,s)}function Yk(o,s){s===0&&(o.mode&1?(s=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):s=1);var _=R();o=ih(o,s),o!==null&&(Ac(o,s,_),Dk(o,_))}function uj(o){var s=o.memoizedState,_=0;s!==null&&(_=s.retryLane),Yk(o,_)}function bk(o,s){var _=0;switch(o.tag){case 13:var j=o.stateNode,$=o.memoizedState;$!==null&&(_=$.retryLane);break;case 19:j=o.stateNode;break;default:throw Error(p$1(314))}j!==null&&j.delete(s),Yk(o,_)}var Vk;Vk=function(o,s,_){if(o!==null)if(o.memoizedProps!==s.pendingProps||Wf.current)dh=!0;else{if(!(o.lanes&_)&&!(s.flags&128))return dh=!1,yj(o,s,_);dh=!!(o.flags&131072)}else dh=!1,I&&s.flags&1048576&&ug(s,ng,s.index);switch(s.lanes=0,s.tag){case 2:var j=s.type;ij(o,s),o=s.pendingProps;var $=Yf(s,H.current);ch(s,_),$=Nh(null,s,j,o,$,_);var _e=Sh();return s.flags|=1,typeof $=="object"&&$!==null&&typeof $.render=="function"&&$.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Zf(j)?(_e=!0,cg(s)):_e=!1,s.memoizedState=$.state!==null&&$.state!==void 0?$.state:null,kh(s),$.updater=Ei,s.stateNode=$,$._reactInternals=s,Ii(s,j,o,_),s=jj(null,s,j,!0,_e,_)):(s.tag=0,I&&_e&&vg(s),Xi(null,s,$,_),s=s.child),s;case 16:j=s.elementType;e:{switch(ij(o,s),o=s.pendingProps,$=j._init,j=$(j._payload),s.type=j,$=s.tag=Zk(j),o=Ci(j,o),$){case 0:s=cj(null,s,j,o,_);break e;case 1:s=hj(null,s,j,o,_);break e;case 11:s=Yi(null,s,j,o,_);break e;case 14:s=$i(null,s,j,Ci(j.type,o),_);break e}throw Error(p$1(306,j,""))}return s;case 0:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),cj(o,s,j,$,_);case 1:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),hj(o,s,j,$,_);case 3:e:{if(kj(s),o===null)throw Error(p$1(387));j=s.pendingProps,_e=s.memoizedState,$=_e.element,lh(o,s),qh(s,j,null,_);var et=s.memoizedState;if(j=et.element,_e.isDehydrated)if(_e={element:j,isDehydrated:!1,cache:et.cache,pendingSuspenseBoundaries:et.pendingSuspenseBoundaries,transitions:et.transitions},s.updateQueue.baseState=_e,s.memoizedState=_e,s.flags&256){$=Ji(Error(p$1(423)),s),s=lj(o,s,j,_,$);break e}else if(j!==$){$=Ji(Error(p$1(424)),s),s=lj(o,s,j,_,$);break e}else for(yg=Lf(s.stateNode.containerInfo.firstChild),xg=s,I=!0,zg=null,_=Vg(s,null,j,_),s.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling;else{if(Ig(),j===$){s=Zi(o,s,_);break e}Xi(o,s,j,_)}s=s.child}return s;case 5:return Ah(s),o===null&&Eg(s),j=s.type,$=s.pendingProps,_e=o!==null?o.memoizedProps:null,et=$.children,Ef(j,$)?et=null:_e!==null&&Ef(j,_e)&&(s.flags|=32),gj(o,s),Xi(o,s,et,_),s.child;case 6:return o===null&&Eg(s),null;case 13:return oj(o,s,_);case 4:return yh(s,s.stateNode.containerInfo),j=s.pendingProps,o===null?s.child=Ug(s,null,j,_):Xi(o,s,j,_),s.child;case 11:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),Yi(o,s,j,$,_);case 7:return Xi(o,s,s.pendingProps,_),s.child;case 8:return Xi(o,s,s.pendingProps.children,_),s.child;case 12:return Xi(o,s,s.pendingProps.children,_),s.child;case 10:e:{if(j=s.type._context,$=s.pendingProps,_e=s.memoizedProps,et=$.value,G(Wg,j._currentValue),j._currentValue=et,_e!==null)if(He(_e.value,et)){if(_e.children===$.children&&!Wf.current){s=Zi(o,s,_);break e}}else for(_e=s.child,_e!==null&&(_e.return=s);_e!==null;){var tt=_e.dependencies;if(tt!==null){et=_e.child;for(var nt=tt.firstContext;nt!==null;){if(nt.context===j){if(_e.tag===1){nt=mh(-1,_&-_),nt.tag=2;var rt=_e.updateQueue;if(rt!==null){rt=rt.shared;var ot=rt.pending;ot===null?nt.next=nt:(nt.next=ot.next,ot.next=nt),rt.pending=nt}}_e.lanes|=_,nt=_e.alternate,nt!==null&&(nt.lanes|=_),bh(_e.return,_,s),tt.lanes|=_;break}nt=nt.next}}else if(_e.tag===10)et=_e.type===s.type?null:_e.child;else if(_e.tag===18){if(et=_e.return,et===null)throw Error(p$1(341));et.lanes|=_,tt=et.alternate,tt!==null&&(tt.lanes|=_),bh(et,_,s),et=_e.sibling}else et=_e.child;if(et!==null)et.return=_e;else for(et=_e;et!==null;){if(et===s){et=null;break}if(_e=et.sibling,_e!==null){_e.return=et.return,et=_e;break}et=et.return}_e=et}Xi(o,s,$.children,_),s=s.child}return s;case 9:return $=s.type,j=s.pendingProps.children,ch(s,_),$=eh($),j=j($),s.flags|=1,Xi(o,s,j,_),s.child;case 14:return j=s.type,$=Ci(j,s.pendingProps),$=Ci(j.type,$),$i(o,s,j,$,_);case 15:return bj(o,s,s.type,s.pendingProps,_);case 17:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),ij(o,s),s.tag=1,Zf(j)?(o=!0,cg(s)):o=!1,ch(s,_),Gi(s,j,$),Ii(s,j,$,_),jj(null,s,j,!0,o,_);case 19:return xj(o,s,_);case 22:return dj(o,s,_)}throw Error(p$1(156,s.tag))};function Fk(o,s){return ac(o,s)}function $k(o,s,_,j){this.tag=o,this.key=_,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=j,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(o,s,_,j){return new $k(o,s,_,j)}function aj(o){return o=o.prototype,!(!o||!o.isReactComponent)}function Zk(o){if(typeof o=="function")return aj(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Da)return 11;if(o===Ga)return 14}return 2}function Pg(o,s){var _=o.alternate;return _===null?(_=Bg(o.tag,s,o.key,o.mode),_.elementType=o.elementType,_.type=o.type,_.stateNode=o.stateNode,_.alternate=o,o.alternate=_):(_.pendingProps=s,_.type=o.type,_.flags=0,_.subtreeFlags=0,_.deletions=null),_.flags=o.flags&14680064,_.childLanes=o.childLanes,_.lanes=o.lanes,_.child=o.child,_.memoizedProps=o.memoizedProps,_.memoizedState=o.memoizedState,_.updateQueue=o.updateQueue,s=o.dependencies,_.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},_.sibling=o.sibling,_.index=o.index,_.ref=o.ref,_}function Rg(o,s,_,j,$,_e){var et=2;if(j=o,typeof o=="function")aj(o)&&(et=1);else if(typeof o=="string")et=5;else e:switch(o){case ya:return Tg(_.children,$,_e,s);case za:et=8,$|=8;break;case Aa:return o=Bg(12,_,s,$|2),o.elementType=Aa,o.lanes=_e,o;case Ea:return o=Bg(13,_,s,$),o.elementType=Ea,o.lanes=_e,o;case Fa:return o=Bg(19,_,s,$),o.elementType=Fa,o.lanes=_e,o;case Ia:return pj(_,$,_e,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case Ba:et=10;break e;case Ca:et=9;break e;case Da:et=11;break e;case Ga:et=14;break e;case Ha:et=16,j=null;break e}throw Error(p$1(130,o==null?o:typeof o,""))}return s=Bg(et,_,s,$),s.elementType=o,s.type=j,s.lanes=_e,s}function Tg(o,s,_,j){return o=Bg(7,o,j,s),o.lanes=_,o}function pj(o,s,_,j){return o=Bg(22,o,j,s),o.elementType=Ia,o.lanes=_,o.stateNode={isHidden:!1},o}function Qg(o,s,_){return o=Bg(6,o,null,s),o.lanes=_,o}function Sg(o,s,_){return s=Bg(4,o.children!==null?o.children:[],o.key,s),s.lanes=_,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function al(o,s,_,j,$){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=j,this.onRecoverableError=$,this.mutableSourceEagerHydrationData=null}function bl(o,s,_,j,$,_e,et,tt,nt){return o=new al(o,s,_,tt,nt),s===1?(s=1,_e===!0&&(s|=8)):s=0,_e=Bg(3,null,null,s),o.current=_e,_e.stateNode=o,_e.memoizedState={element:j,isDehydrated:_,cache:null,transitions:null,pendingSuspenseBoundaries:null},kh(_e),o}function cl(o,s,_){var j=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(o){console.error(o)}}checkDCE(),reactDom.exports=reactDom_production_min;var reactDomExports=reactDom.exports,m$1=reactDomExports;client.createRoot=m$1.createRoot,client.hydrateRoot=m$1.hydrateRoot;var isDevelopment$3=!1;function sheetForTag(o){if(o.sheet)return o.sheet;for(var s=0;s0?charat(characters,--position):0,column--,character===10&&(column=1,line--),character}function next(){return character=position2||token(character)>3?"":" "}function escaping(o,s){for(;--s&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(o,caret()+(s<6&&peek()==32&&next()==32))}function delimiter(o){for(;next();)switch(character){case o:return position;case 34:case 39:o!==34&&o!==39&&delimiter(character);break;case 40:o===41&&delimiter(o);break;case 92:next();break}return position}function commenter(o,s){for(;next()&&o+character!==47+10;)if(o+character===42+42&&peek()===47)break;return"/*"+slice(s,position-1)+"*"+from$1(o===47?o:next())}function identifier(o){for(;!token(peek());)next();return slice(o,position)}function compile(o){return dealloc(parse$1("",null,null,null,[""],o=alloc(o),0,[0],o))}function parse$1(o,s,_,j,$,_e,et,tt,nt){for(var rt=0,ot=0,ut=et,dt=0,Ut=0,st=0,ct=1,pt=1,Bt=1,Qt=0,gt="",ft=$,Ft=_e,yt=j,Ct=gt;pt;)switch(st=Qt,Qt=next()){case 40:if(st!=108&&charat(Ct,ut-1)==58){indexof(Ct+=replace(delimit(Qt),"&","&\f"),"&\f")!=-1&&(Bt=-1);break}case 34:case 39:case 91:Ct+=delimit(Qt);break;case 9:case 10:case 13:case 32:Ct+=whitespace(st);break;case 92:Ct+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),s,_),nt);break;default:Ct+="/"}break;case 123*ct:tt[rt++]=strlen(Ct)*Bt;case 125*ct:case 59:case 0:switch(Qt){case 0:case 125:pt=0;case 59+ot:Bt==-1&&(Ct=replace(Ct,/\f/g,"")),Ut>0&&strlen(Ct)-ut&&append(Ut>32?declaration(Ct+";",j,_,ut-1):declaration(replace(Ct," ","")+";",j,_,ut-2),nt);break;case 59:Ct+=";";default:if(append(yt=ruleset(Ct,s,_,rt,ot,$,tt,gt,ft=[],Ft=[],ut),_e),Qt===123)if(ot===0)parse$1(Ct,s,yt,yt,ft,_e,ut,tt,Ft);else switch(dt===99&&charat(Ct,3)===110?100:dt){case 100:case 108:case 109:case 115:parse$1(o,yt,yt,j&&append(ruleset(o,yt,yt,0,0,$,tt,gt,$,ft=[],ut),Ft),$,Ft,ut,tt,j?ft:Ft);break;default:parse$1(Ct,yt,yt,yt,[""],Ft,0,tt,Ft)}}rt=ot=Ut=0,ct=Bt=1,gt=Ct="",ut=et;break;case 58:ut=1+strlen(Ct),Ut=st;default:if(ct<1){if(Qt==123)--ct;else if(Qt==125&&ct++==0&&prev()==125)continue}switch(Ct+=from$1(Qt),Qt*ct){case 38:Bt=ot>0?1:(Ct+="\f",-1);break;case 44:tt[rt++]=(strlen(Ct)-1)*Bt,Bt=1;break;case 64:peek()===45&&(Ct+=delimit(next())),dt=peek(),ot=ut=strlen(gt=Ct+=identifier(caret())),Qt++;break;case 45:st===45&&strlen(Ct)==2&&(ct=0)}}return _e}function ruleset(o,s,_,j,$,_e,et,tt,nt,rt,ot){for(var ut=$-1,dt=$===0?_e:[""],Ut=sizeof(dt),st=0,ct=0,pt=0;st0?dt[Bt]+" "+Qt:replace(Qt,/&\f/g,dt[Bt])))&&(nt[pt++]=gt);return node(o,s,_,$===0?RULESET:tt,nt,rt,ot)}function comment(o,s,_){return node(o,s,_,COMMENT,from$1(char()),substr(o,2,-2),0)}function declaration(o,s,_,j){return node(o,s,_,DECLARATION,substr(o,0,j),substr(o,j+1,-1),j)}function serialize(o,s){for(var _="",j=sizeof(o),$=0;$6)switch(charat(o,s+1)){case 109:if(charat(o,s+4)!==45)break;case 102:return replace(o,/(.+:)(.+)-([^]+)/,"$1"+WEBKIT+"$2-$3$1"+MOZ+(charat(o,s+3)==108?"$3":"$2-$3"))+o;case 115:return~indexof(o,"stretch")?prefix(replace(o,"stretch","fill-available"),s)+o:o}break;case 4949:if(charat(o,s+1)!==115)break;case 6444:switch(charat(o,strlen(o)-3-(~indexof(o,"!important")&&10))){case 107:return replace(o,":",":"+WEBKIT)+o;case 101:return replace(o,/(.+:)([^;!]+)(;|!.+)?/,"$1"+WEBKIT+(charat(o,14)===45?"inline-":"")+"box$3$1"+WEBKIT+"$2$3$1"+MS+"$2box$3")+o}break;case 5936:switch(charat(o,s+11)){case 114:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"tb")+o;case 108:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"tb-rl")+o;case 45:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"lr")+o}return WEBKIT+o+MS+o+o}return o}var prefixer=function(s,_,j,$){if(s.length>-1&&!s.return)switch(s.type){case DECLARATION:s.return=prefix(s.value,s.length);break;case KEYFRAMES:return serialize([copy(s,{value:replace(s.value,"@","@"+WEBKIT)})],$);case RULESET:if(s.length)return combine(s.props,function(_e){switch(match(_e,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return serialize([copy(s,{props:[replace(_e,/:(read-\w+)/,":"+MOZ+"$1")]})],$);case"::placeholder":return serialize([copy(s,{props:[replace(_e,/:(plac\w+)/,":"+WEBKIT+"input-$1")]}),copy(s,{props:[replace(_e,/:(plac\w+)/,":"+MOZ+"$1")]}),copy(s,{props:[replace(_e,/:(plac\w+)/,MS+"input-$1")]})],$)}return""})}},defaultStylisPlugins=[prefixer],createCache=function(s){var _=s.key;if(_==="css"){var j=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(j,function(ct){var pt=ct.getAttribute("data-emotion");pt.indexOf(" ")!==-1&&(document.head.appendChild(ct),ct.setAttribute("data-s",""))})}var $=s.stylisPlugins||defaultStylisPlugins,_e={},et,tt=[];et=s.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+_+' "]'),function(ct){for(var pt=ct.getAttribute("data-emotion").split(" "),Bt=1;Bt=4;++j,$-=4)_=o.charCodeAt(j)&255|(o.charCodeAt(++j)&255)<<8|(o.charCodeAt(++j)&255)<<16|(o.charCodeAt(++j)&255)<<24,_=(_&65535)*1540483477+((_>>>16)*59797<<16),_^=_>>>24,s=(_&65535)*1540483477+((_>>>16)*59797<<16)^(s&65535)*1540483477+((s>>>16)*59797<<16);switch($){case 3:s^=(o.charCodeAt(j+2)&255)<<16;case 2:s^=(o.charCodeAt(j+1)&255)<<8;case 1:s^=o.charCodeAt(j)&255,s=(s&65535)*1540483477+((s>>>16)*59797<<16)}return s^=s>>>13,s=(s&65535)*1540483477+((s>>>16)*59797<<16),((s^s>>>15)>>>0).toString(36)}var unitlessKeys={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},isDevelopment$2=!1,hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function(s){return s.charCodeAt(1)===45},isProcessableValue=function(s){return s!=null&&typeof s!="boolean"},processStyleName=memoize$1(function(o){return isCustomProperty(o)?o:o.replace(hyphenateRegex,"-$&").toLowerCase()}),processStyleValue=function(s,_){switch(s){case"animation":case"animationName":if(typeof _=="string")return _.replace(animationRegex,function(j,$,_e){return cursor={name:$,styles:_e,next:cursor},$})}return unitlessKeys[s]!==1&&!isCustomProperty(s)&&typeof _=="number"&&_!==0?_+"px":_},noComponentSelectorMessage="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function handleInterpolation(o,s,_){if(_==null)return"";var j=_;if(j.__emotion_styles!==void 0)return j;switch(typeof _){case"boolean":return"";case"object":{var $=_;if($.anim===1)return cursor={name:$.name,styles:$.styles,next:cursor},$.name;var _e=_;if(_e.styles!==void 0){var et=_e.next;if(et!==void 0)for(;et!==void 0;)cursor={name:et.name,styles:et.styles,next:cursor},et=et.next;var tt=_e.styles+";";return tt}return createStringFromObject(o,s,_)}case"function":{if(o!==void 0){var nt=cursor,rt=_(o);return cursor=nt,handleInterpolation(o,s,rt)}break}}var ot=_;if(s==null)return ot;var ut=s[ot];return ut!==void 0?ut:ot}function createStringFromObject(o,s,_){var j="";if(Array.isArray(_))for(var $=0;$<_.length;$++)j+=handleInterpolation(o,s,_[$])+";";else for(var _e in _){var et=_[_e];if(typeof et!="object"){var tt=et;s!=null&&s[tt]!==void 0?j+=_e+"{"+s[tt]+"}":isProcessableValue(tt)&&(j+=processStyleName(_e)+":"+processStyleValue(_e,tt)+";")}else{if(_e==="NO_COMPONENT_SELECTOR"&&isDevelopment$2)throw new Error(noComponentSelectorMessage);if(Array.isArray(et)&&typeof et[0]=="string"&&(s==null||s[et[0]]===void 0))for(var nt=0;nt96?testOmitPropsOnStringTag:testOmitPropsOnComponent},composeShouldForwardProps=function(s,_,j){var $;if(_){var _e=_.shouldForwardProp;$=s.__emotion_forwardProp&&_e?function(et){return s.__emotion_forwardProp(et)&&_e(et)}:_e}return typeof $!="function"&&j&&($=s.__emotion_forwardProp),$},Insertion=function(s){var _=s.cache,j=s.serialized,$=s.isStringTag;return registerStyles(_,j,$),useInsertionEffectAlwaysWithSyncFallback(function(){return insertStyles(_,j,$)}),null},createStyled$2=function o(s,_){var j=s.__emotion_real===s,$=j&&s.__emotion_base||s,_e,et;_!==void 0&&(_e=_.label,et=_.target);var tt=composeShouldForwardProps(s,_,j),nt=tt||getDefaultShouldForwardProp($),rt=!nt("as");return function(){var ot=arguments,ut=j&&s.__emotion_styles!==void 0?s.__emotion_styles.slice(0):[];if(_e!==void 0&&ut.push("label:"+_e+";"),ot[0]==null||ot[0].raw===void 0)ut.push.apply(ut,ot);else{var dt=ot[0];ut.push(dt[0]);for(var Ut=ot.length,st=1;st($[1].styles.match(/^@layer\s+[^{]*$/)||($[1].styles=`@layer mui {${$[1].styles}}`),j(...$))}return _}const cacheMap=new Map;function StyledEngineProvider(o){const{injectFirst:s,enableCssLayer:_,children:j}=o,$=reactExports.useMemo(()=>{const _e=`${s}-${_}`;if(typeof document=="object"&&cacheMap.has(_e))return cacheMap.get(_e);const et=getCache(s,_);return cacheMap.set(_e,et),et},[s,_]);return s||_?jsx$2(CacheProvider,{value:$,children:j}):j}function isEmpty$1(o){return o==null||Object.keys(o).length===0}function GlobalStyles$2(o){const{styles:s,defaultTheme:_={}}=o;return jsx$2(Global,{styles:typeof s=="function"?$=>s(isEmpty$1($)?_:$):s})}/** - * @mui/styled-engine v5.18.0 - * - * @license MIT - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function styled$2(o,s){return styled$3(o,s)}const internal_processStyles=(o,s)=>{Array.isArray(o.__emotion_styles)&&(o.__emotion_styles=s(o.__emotion_styles))},wrapper=[];function internal_serializeStyles(o){return wrapper[0]=o,serializeStyles(wrapper)}const styledEngine=Object.freeze(Object.defineProperty({__proto__:null,GlobalStyles:GlobalStyles$2,StyledEngineProvider,ThemeContext:ThemeContext$2,css,default:styled$2,internal_processStyles,internal_serializeStyles,keyframes},Symbol.toStringTag,{value:"Module"}));function isPlainObject(o){if(typeof o!="object"||o===null)return!1;const s=Object.getPrototypeOf(o);return(s===null||s===Object.prototype||Object.getPrototypeOf(s)===null)&&!(Symbol.toStringTag in o)&&!(Symbol.iterator in o)}function deepClone(o){if(reactExports.isValidElement(o)||!isPlainObject(o))return o;const s={};return Object.keys(o).forEach(_=>{s[_]=deepClone(o[_])}),s}function deepmerge$1(o,s,_={clone:!0}){const j=_.clone?_extends$1({},o):o;return isPlainObject(o)&&isPlainObject(s)&&Object.keys(s).forEach($=>{reactExports.isValidElement(s[$])?j[$]=s[$]:isPlainObject(s[$])&&Object.prototype.hasOwnProperty.call(o,$)&&isPlainObject(o[$])?j[$]=deepmerge$1(o[$],s[$],_):_.clone?j[$]=isPlainObject(s[$])?deepClone(s[$]):s[$]:j[$]=s[$]}),j}const deepmerge=Object.freeze(Object.defineProperty({__proto__:null,default:deepmerge$1,isPlainObject},Symbol.toStringTag,{value:"Module"})),_excluded$a=["values","unit","step"],sortBreakpointsValues=o=>{const s=Object.keys(o).map(_=>({key:_,val:o[_]}))||[];return s.sort((_,j)=>_.val-j.val),s.reduce((_,j)=>_extends$1({},_,{[j.key]:j.val}),{})};function createBreakpoints(o){const{values:s={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:_="px",step:j=5}=o,$=_objectWithoutPropertiesLoose$1(o,_excluded$a),_e=sortBreakpointsValues(s),et=Object.keys(_e);function tt(dt){return`@media (min-width:${typeof s[dt]=="number"?s[dt]:dt}${_})`}function nt(dt){return`@media (max-width:${(typeof s[dt]=="number"?s[dt]:dt)-j/100}${_})`}function rt(dt,Ut){const st=et.indexOf(Ut);return`@media (min-width:${typeof s[dt]=="number"?s[dt]:dt}${_}) and (max-width:${(st!==-1&&typeof s[et[st]]=="number"?s[et[st]]:Ut)-j/100}${_})`}function ot(dt){return et.indexOf(dt)+1`@media (min-width:${values[o]}px)`};function handleBreakpoints(o,s,_){const j=o.theme||{};if(Array.isArray(s)){const _e=j.breakpoints||defaultBreakpoints;return s.reduce((et,tt,nt)=>(et[_e.up(_e.keys[nt])]=_(s[nt]),et),{})}if(typeof s=="object"){const _e=j.breakpoints||defaultBreakpoints;return Object.keys(s).reduce((et,tt)=>{if(Object.keys(_e.values||values).indexOf(tt)!==-1){const nt=_e.up(tt);et[nt]=_(s[tt],tt)}else{const nt=tt;et[nt]=s[nt]}return et},{})}return _(s)}function createEmptyBreakpointObject(o={}){var s;return((s=o.keys)==null?void 0:s.reduce((j,$)=>{const _e=o.up($);return j[_e]={},j},{}))||{}}function removeUnusedBreakpoints(o,s){return o.reduce((_,j)=>{const $=_[j];return(!$||Object.keys($).length===0)&&delete _[j],_},s)}function capitalize$1(o){if(typeof o!="string")throw new Error(formatMuiErrorMessage$1(7));return o.charAt(0).toUpperCase()+o.slice(1)}const capitalize=Object.freeze(Object.defineProperty({__proto__:null,default:capitalize$1},Symbol.toStringTag,{value:"Module"}));function getPath(o,s,_=!0){if(!s||typeof s!="string")return null;if(o&&o.vars&&_){const j=`vars.${s}`.split(".").reduce(($,_e)=>$&&$[_e]?$[_e]:null,o);if(j!=null)return j}return s.split(".").reduce((j,$)=>j&&j[$]!=null?j[$]:null,o)}function getStyleValue(o,s,_,j=_){let $;return typeof o=="function"?$=o(_):Array.isArray(o)?$=o[_]||j:$=getPath(o,_)||j,s&&($=s($,j,o)),$}function style$1(o){const{prop:s,cssProperty:_=o.prop,themeKey:j,transform:$}=o,_e=et=>{if(et[s]==null)return null;const tt=et[s],nt=et.theme,rt=getPath(nt,j)||{};return handleBreakpoints(et,tt,ut=>{let dt=getStyleValue(rt,$,ut);return ut===dt&&typeof ut=="string"&&(dt=getStyleValue(rt,$,`${s}${ut==="default"?"":capitalize$1(ut)}`,ut)),_===!1?dt:{[_]:dt}})};return _e.propTypes={},_e.filterProps=[s],_e}function memoize(o){const s={};return _=>(s[_]===void 0&&(s[_]=o(_)),s[_])}const properties={m:"margin",p:"padding"},directions={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},aliases={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},getCssProperties=memoize(o=>{if(o.length>2)if(aliases[o])o=aliases[o];else return[o];const[s,_]=o.split(""),j=properties[s],$=directions[_]||"";return Array.isArray($)?$.map(_e=>j+_e):[j+$]}),marginKeys=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],paddingKeys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...marginKeys,...paddingKeys];function createUnaryUnit(o,s,_,j){var $;const _e=($=getPath(o,s,!1))!=null?$:_;return typeof _e=="number"?et=>typeof et=="string"?et:_e*et:Array.isArray(_e)?et=>typeof et=="string"?et:_e[et]:typeof _e=="function"?_e:()=>{}}function createUnarySpacing(o){return createUnaryUnit(o,"spacing",8)}function getValue(o,s){if(typeof s=="string"||s==null)return s;const _=Math.abs(s),j=o(_);return s>=0?j:typeof j=="number"?-j:`-${j}`}function getStyleFromPropValue(o,s){return _=>o.reduce((j,$)=>(j[$]=getValue(s,_),j),{})}function resolveCssProperty(o,s,_,j){if(s.indexOf(_)===-1)return null;const $=getCssProperties(_),_e=getStyleFromPropValue($,j),et=o[_];return handleBreakpoints(o,et,_e)}function style(o,s){const _=createUnarySpacing(o.theme);return Object.keys(o).map(j=>resolveCssProperty(o,s,j,_)).reduce(merge$2,{})}function margin(o){return style(o,marginKeys)}margin.propTypes={};margin.filterProps=marginKeys;function padding(o){return style(o,paddingKeys)}padding.propTypes={};padding.filterProps=paddingKeys;function createSpacing(o=8){if(o.mui)return o;const s=createUnarySpacing({spacing:o}),_=(...j)=>(j.length===0?[1]:j).map(_e=>{const et=s(_e);return typeof et=="number"?`${et}px`:et}).join(" ");return _.mui=!0,_}function compose(...o){const s=o.reduce((j,$)=>($.filterProps.forEach(_e=>{j[_e]=$}),j),{}),_=j=>Object.keys(j).reduce(($,_e)=>s[_e]?merge$2($,s[_e](j)):$,{});return _.propTypes={},_.filterProps=o.reduce((j,$)=>j.concat($.filterProps),[]),_}function borderTransform(o){return typeof o!="number"?o:`${o}px solid`}function createBorderStyle(o,s){return style$1({prop:o,themeKey:"borders",transform:s})}const border=createBorderStyle("border",borderTransform),borderTop=createBorderStyle("borderTop",borderTransform),borderRight=createBorderStyle("borderRight",borderTransform),borderBottom=createBorderStyle("borderBottom",borderTransform),borderLeft=createBorderStyle("borderLeft",borderTransform),borderColor=createBorderStyle("borderColor"),borderTopColor=createBorderStyle("borderTopColor"),borderRightColor=createBorderStyle("borderRightColor"),borderBottomColor=createBorderStyle("borderBottomColor"),borderLeftColor=createBorderStyle("borderLeftColor"),outline=createBorderStyle("outline",borderTransform),outlineColor=createBorderStyle("outlineColor"),borderRadius=o=>{if(o.borderRadius!==void 0&&o.borderRadius!==null){const s=createUnaryUnit(o.theme,"shape.borderRadius",4),_=j=>({borderRadius:getValue(s,j)});return handleBreakpoints(o,o.borderRadius,_)}return null};borderRadius.propTypes={};borderRadius.filterProps=["borderRadius"];compose(border,borderTop,borderRight,borderBottom,borderLeft,borderColor,borderTopColor,borderRightColor,borderBottomColor,borderLeftColor,borderRadius,outline,outlineColor);const gap=o=>{if(o.gap!==void 0&&o.gap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({gap:getValue(s,j)});return handleBreakpoints(o,o.gap,_)}return null};gap.propTypes={};gap.filterProps=["gap"];const columnGap=o=>{if(o.columnGap!==void 0&&o.columnGap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({columnGap:getValue(s,j)});return handleBreakpoints(o,o.columnGap,_)}return null};columnGap.propTypes={};columnGap.filterProps=["columnGap"];const rowGap=o=>{if(o.rowGap!==void 0&&o.rowGap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({rowGap:getValue(s,j)});return handleBreakpoints(o,o.rowGap,_)}return null};rowGap.propTypes={};rowGap.filterProps=["rowGap"];const gridColumn=style$1({prop:"gridColumn"}),gridRow=style$1({prop:"gridRow"}),gridAutoFlow=style$1({prop:"gridAutoFlow"}),gridAutoColumns=style$1({prop:"gridAutoColumns"}),gridAutoRows=style$1({prop:"gridAutoRows"}),gridTemplateColumns=style$1({prop:"gridTemplateColumns"}),gridTemplateRows=style$1({prop:"gridTemplateRows"}),gridTemplateAreas=style$1({prop:"gridTemplateAreas"}),gridArea=style$1({prop:"gridArea"});compose(gap,columnGap,rowGap,gridColumn,gridRow,gridAutoFlow,gridAutoColumns,gridAutoRows,gridTemplateColumns,gridTemplateRows,gridTemplateAreas,gridArea);function paletteTransform(o,s){return s==="grey"?s:o}const color$1=style$1({prop:"color",themeKey:"palette",transform:paletteTransform}),bgcolor=style$1({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:paletteTransform}),backgroundColor=style$1({prop:"backgroundColor",themeKey:"palette",transform:paletteTransform});compose(color$1,bgcolor,backgroundColor);function sizingTransform(o){return o<=1&&o!==0?`${o*100}%`:o}const width=style$1({prop:"width",transform:sizingTransform}),maxWidth=o=>{if(o.maxWidth!==void 0&&o.maxWidth!==null){const s=_=>{var j,$;const _e=((j=o.theme)==null||(j=j.breakpoints)==null||(j=j.values)==null?void 0:j[_])||values[_];return _e?(($=o.theme)==null||($=$.breakpoints)==null?void 0:$.unit)!=="px"?{maxWidth:`${_e}${o.theme.breakpoints.unit}`}:{maxWidth:_e}:{maxWidth:sizingTransform(_)}};return handleBreakpoints(o,o.maxWidth,s)}return null};maxWidth.filterProps=["maxWidth"];const minWidth=style$1({prop:"minWidth",transform:sizingTransform}),height=style$1({prop:"height",transform:sizingTransform}),maxHeight=style$1({prop:"maxHeight",transform:sizingTransform}),minHeight=style$1({prop:"minHeight",transform:sizingTransform});style$1({prop:"size",cssProperty:"width",transform:sizingTransform});style$1({prop:"size",cssProperty:"height",transform:sizingTransform});const boxSizing=style$1({prop:"boxSizing"});compose(width,maxWidth,minWidth,height,maxHeight,minHeight,boxSizing);const defaultSxConfig={border:{themeKey:"borders",transform:borderTransform},borderTop:{themeKey:"borders",transform:borderTransform},borderRight:{themeKey:"borders",transform:borderTransform},borderBottom:{themeKey:"borders",transform:borderTransform},borderLeft:{themeKey:"borders",transform:borderTransform},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:borderTransform},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:borderRadius},color:{themeKey:"palette",transform:paletteTransform},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:paletteTransform},backgroundColor:{themeKey:"palette",transform:paletteTransform},p:{style:padding},pt:{style:padding},pr:{style:padding},pb:{style:padding},pl:{style:padding},px:{style:padding},py:{style:padding},padding:{style:padding},paddingTop:{style:padding},paddingRight:{style:padding},paddingBottom:{style:padding},paddingLeft:{style:padding},paddingX:{style:padding},paddingY:{style:padding},paddingInline:{style:padding},paddingInlineStart:{style:padding},paddingInlineEnd:{style:padding},paddingBlock:{style:padding},paddingBlockStart:{style:padding},paddingBlockEnd:{style:padding},m:{style:margin},mt:{style:margin},mr:{style:margin},mb:{style:margin},ml:{style:margin},mx:{style:margin},my:{style:margin},margin:{style:margin},marginTop:{style:margin},marginRight:{style:margin},marginBottom:{style:margin},marginLeft:{style:margin},marginX:{style:margin},marginY:{style:margin},marginInline:{style:margin},marginInlineStart:{style:margin},marginInlineEnd:{style:margin},marginBlock:{style:margin},marginBlockStart:{style:margin},marginBlockEnd:{style:margin},displayPrint:{cssProperty:!1,transform:o=>({"@media print":{display:o}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:gap},rowGap:{style:rowGap},columnGap:{style:columnGap},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:sizingTransform},maxWidth:{style:maxWidth},minWidth:{transform:sizingTransform},height:{transform:sizingTransform},maxHeight:{transform:sizingTransform},minHeight:{transform:sizingTransform},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},defaultSxConfig$1=defaultSxConfig;function objectsHaveSameKeys(...o){const s=o.reduce((j,$)=>j.concat(Object.keys($)),[]),_=new Set(s);return o.every(j=>_.size===Object.keys(j).length)}function callIfFn(o,s){return typeof o=="function"?o(s):o}function unstable_createStyleFunctionSx(){function o(_,j,$,_e){const et={[_]:j,theme:$},tt=_e[_];if(!tt)return{[_]:j};const{cssProperty:nt=_,themeKey:rt,transform:ot,style:ut}=tt;if(j==null)return null;if(rt==="typography"&&j==="inherit")return{[_]:j};const dt=getPath($,rt)||{};return ut?ut(et):handleBreakpoints(et,j,st=>{let ct=getStyleValue(dt,ot,st);return st===ct&&typeof st=="string"&&(ct=getStyleValue(dt,ot,`${_}${st==="default"?"":capitalize$1(st)}`,st)),nt===!1?ct:{[nt]:ct}})}function s(_){var j;const{sx:$,theme:_e={},nested:et}=_||{};if(!$)return null;const tt=(j=_e.unstable_sxConfig)!=null?j:defaultSxConfig$1;function nt(rt){let ot=rt;if(typeof rt=="function")ot=rt(_e);else if(typeof rt!="object")return rt;if(!ot)return null;const ut=createEmptyBreakpointObject(_e.breakpoints),dt=Object.keys(ut);let Ut=ut;return Object.keys(ot).forEach(st=>{const ct=callIfFn(ot[st],_e);if(ct!=null)if(typeof ct=="object")if(tt[st])Ut=merge$2(Ut,o(st,ct,_e,tt));else{const pt=handleBreakpoints({theme:_e},ct,Bt=>({[st]:Bt}));objectsHaveSameKeys(pt,ct)?Ut[st]=s({sx:ct,theme:_e,nested:!0}):Ut=merge$2(Ut,pt)}else Ut=merge$2(Ut,o(st,ct,_e,tt))}),!et&&_e.modularCssLayers?{"@layer sx":removeUnusedBreakpoints(dt,Ut)}:removeUnusedBreakpoints(dt,Ut)}return Array.isArray($)?$.map(nt):nt($)}return s}const styleFunctionSx$1=unstable_createStyleFunctionSx();styleFunctionSx$1.filterProps=["sx"];const styleFunctionSx$2=styleFunctionSx$1;function applyStyles(o,s){const _=this;return _.vars&&typeof _.getColorSchemeSelector=="function"?{[_.getColorSchemeSelector(o).replace(/(\[[^\]]+\])/,"*:where($1)")]:s}:_.palette.mode===o?s:{}}const _excluded$9=["breakpoints","palette","spacing","shape"];function createTheme$2(o={},...s){const{breakpoints:_={},palette:j={},spacing:$,shape:_e={}}=o,et=_objectWithoutPropertiesLoose$1(o,_excluded$9),tt=createBreakpoints(_),nt=createSpacing($);let rt=deepmerge$1({breakpoints:tt,direction:"ltr",components:{},palette:_extends$1({mode:"light"},j),spacing:nt,shape:_extends$1({},shape$1,_e)},et);return rt.applyStyles=applyStyles,rt=s.reduce((ot,ut)=>deepmerge$1(ot,ut),rt),rt.unstable_sxConfig=_extends$1({},defaultSxConfig$1,et==null?void 0:et.unstable_sxConfig),rt.unstable_sx=function(ut){return styleFunctionSx$2({sx:ut,theme:this})},rt}const createTheme$1=Object.freeze(Object.defineProperty({__proto__:null,default:createTheme$2,private_createBreakpoints:createBreakpoints,unstable_applyStyles:applyStyles},Symbol.toStringTag,{value:"Module"}));function isObjectEmpty(o){return Object.keys(o).length===0}function useTheme$2(o=null){const s=reactExports.useContext(ThemeContext$2);return!s||isObjectEmpty(s)?o:s}const systemDefaultTheme$1=createTheme$2();function useTheme$1(o=systemDefaultTheme$1){return useTheme$2(o)}function wrapGlobalLayer(o){const s=internal_serializeStyles(o);return o!==s&&s.styles?(s.styles.match(/^@layer\s+[^{]*$/)||(s.styles=`@layer global{${s.styles}}`),s):o}function GlobalStyles$1({styles:o,themeId:s,defaultTheme:_={}}){const j=useTheme$1(_),$=s&&j[s]||j;let _e=typeof o=="function"?o($):o;return $.modularCssLayers&&(Array.isArray(_e)?_e=_e.map(et=>wrapGlobalLayer(typeof et=="function"?et($):et)):_e=wrapGlobalLayer(_e)),jsx$2(GlobalStyles$2,{styles:_e})}const _excluded$8=["sx"],splitProps=o=>{var s,_;const j={systemProps:{},otherProps:{}},$=(s=o==null||(_=o.theme)==null?void 0:_.unstable_sxConfig)!=null?s:defaultSxConfig$1;return Object.keys(o).forEach(_e=>{$[_e]?j.systemProps[_e]=o[_e]:j.otherProps[_e]=o[_e]}),j};function extendSxProp(o){const{sx:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$8),{systemProps:j,otherProps:$}=splitProps(_);let _e;return Array.isArray(s)?_e=[j,...s]:typeof s=="function"?_e=(...et)=>{const tt=s(...et);return isPlainObject(tt)?_extends$1({},j,tt):j}:_e=_extends$1({},j,s),_extends$1({},$,{sx:_e})}const styleFunctionSx=Object.freeze(Object.defineProperty({__proto__:null,default:styleFunctionSx$2,extendSxProp,unstable_createStyleFunctionSx,unstable_defaultSxConfig:defaultSxConfig$1},Symbol.toStringTag,{value:"Module"})),defaultGenerator=o=>o,createClassNameGenerator=()=>{let o=defaultGenerator;return{configure(s){o=s},generate(s){return o(s)},reset(){o=defaultGenerator}}},ClassNameGenerator=createClassNameGenerator(),ClassNameGenerator$1=ClassNameGenerator;function r(o){var s,_,j="";if(typeof o=="string"||typeof o=="number")j+=o;else if(typeof o=="object")if(Array.isArray(o)){var $=o.length;for(s=0;s<$;s++)o[s]&&(_=r(o[s]))&&(j&&(j+=" "),j+=_)}else for(_ in o)o[_]&&(j&&(j+=" "),j+=_);return j}function clsx(){for(var o,s,_=0,j="",$=arguments.length;_<$;_++)(o=arguments[_])&&(s=r(o))&&(j&&(j+=" "),j+=s);return j}const globalStateClasses={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function generateUtilityClass(o,s,_="Mui"){const j=globalStateClasses[s];return j?`${_}-${j}`:`${ClassNameGenerator$1.generate(o)}-${s}`}function generateUtilityClasses(o,s,_="Mui"){const j={};return s.forEach($=>{j[$]=generateUtilityClass(o,$,_)}),j}var reactIs={exports:{}},reactIs_production={};/** - * @license React - * react-is.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference");function typeOf(o){if(typeof o=="object"&&o!==null){var s=o.$$typeof;switch(s){case REACT_ELEMENT_TYPE:switch(o=o.type,o){case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:case REACT_SUSPENSE_LIST_TYPE:case REACT_VIEW_TRANSITION_TYPE:return o;default:switch(o=o&&o.$$typeof,o){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:return o;case REACT_CONSUMER_TYPE:return o;default:return s}}case REACT_PORTAL_TYPE:return s}}}reactIs_production.ContextConsumer=REACT_CONSUMER_TYPE;reactIs_production.ContextProvider=REACT_CONTEXT_TYPE;reactIs_production.Element=REACT_ELEMENT_TYPE;reactIs_production.ForwardRef=REACT_FORWARD_REF_TYPE;reactIs_production.Fragment=REACT_FRAGMENT_TYPE;reactIs_production.Lazy=REACT_LAZY_TYPE;reactIs_production.Memo=REACT_MEMO_TYPE;reactIs_production.Portal=REACT_PORTAL_TYPE;reactIs_production.Profiler=REACT_PROFILER_TYPE;reactIs_production.StrictMode=REACT_STRICT_MODE_TYPE;reactIs_production.Suspense=REACT_SUSPENSE_TYPE;reactIs_production.SuspenseList=REACT_SUSPENSE_LIST_TYPE;reactIs_production.isContextConsumer=function(o){return typeOf(o)===REACT_CONSUMER_TYPE};reactIs_production.isContextProvider=function(o){return typeOf(o)===REACT_CONTEXT_TYPE};reactIs_production.isElement=function(o){return typeof o=="object"&&o!==null&&o.$$typeof===REACT_ELEMENT_TYPE};reactIs_production.isForwardRef=function(o){return typeOf(o)===REACT_FORWARD_REF_TYPE};reactIs_production.isFragment=function(o){return typeOf(o)===REACT_FRAGMENT_TYPE};reactIs_production.isLazy=function(o){return typeOf(o)===REACT_LAZY_TYPE};reactIs_production.isMemo=function(o){return typeOf(o)===REACT_MEMO_TYPE};reactIs_production.isPortal=function(o){return typeOf(o)===REACT_PORTAL_TYPE};reactIs_production.isProfiler=function(o){return typeOf(o)===REACT_PROFILER_TYPE};reactIs_production.isStrictMode=function(o){return typeOf(o)===REACT_STRICT_MODE_TYPE};reactIs_production.isSuspense=function(o){return typeOf(o)===REACT_SUSPENSE_TYPE};reactIs_production.isSuspenseList=function(o){return typeOf(o)===REACT_SUSPENSE_LIST_TYPE};reactIs_production.isValidElementType=function(o){return typeof o=="string"||typeof o=="function"||o===REACT_FRAGMENT_TYPE||o===REACT_PROFILER_TYPE||o===REACT_STRICT_MODE_TYPE||o===REACT_SUSPENSE_TYPE||o===REACT_SUSPENSE_LIST_TYPE||typeof o=="object"&&o!==null&&(o.$$typeof===REACT_LAZY_TYPE||o.$$typeof===REACT_MEMO_TYPE||o.$$typeof===REACT_CONTEXT_TYPE||o.$$typeof===REACT_CONSUMER_TYPE||o.$$typeof===REACT_FORWARD_REF_TYPE||o.$$typeof===REACT_CLIENT_REFERENCE||o.getModuleId!==void 0)};reactIs_production.typeOf=typeOf;reactIs.exports=reactIs_production;var reactIsExports=reactIs.exports;const fnNameMatchRegex=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function getFunctionName(o){const s=`${o}`.match(fnNameMatchRegex);return s&&s[1]||""}function getFunctionComponentName(o,s=""){return o.displayName||o.name||getFunctionName(o)||s}function getWrappedName(o,s,_){const j=getFunctionComponentName(s);return o.displayName||(j!==""?`${_}(${j})`:_)}function getDisplayName$1(o){if(o!=null){if(typeof o=="string")return o;if(typeof o=="function")return getFunctionComponentName(o,"Component");if(typeof o=="object")switch(o.$$typeof){case reactIsExports.ForwardRef:return getWrappedName(o,o.render,"ForwardRef");case reactIsExports.Memo:return getWrappedName(o,o.type,"memo");default:return}}}const getDisplayName=Object.freeze(Object.defineProperty({__proto__:null,default:getDisplayName$1,getFunctionName},Symbol.toStringTag,{value:"Module"}));function resolveProps(o,s){const _=_extends$1({},s);return Object.keys(o).forEach(j=>{if(j.toString().match(/^(components|slots)$/))_[j]=_extends$1({},o[j],_[j]);else if(j.toString().match(/^(componentsProps|slotProps)$/)){const $=o[j]||{},_e=s[j];_[j]={},!_e||!Object.keys(_e)?_[j]=$:!$||!Object.keys($)?_[j]=_e:(_[j]=_extends$1({},_e),Object.keys($).forEach(et=>{_[j][et]=resolveProps($[et],_e[et])}))}else _[j]===void 0&&(_[j]=o[j])}),_}const useEnhancedEffect=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,useEnhancedEffect$1=useEnhancedEffect;function clamp$1(o,s=Number.MIN_SAFE_INTEGER,_=Number.MAX_SAFE_INTEGER){return Math.max(s,Math.min(o,_))}const clamp=Object.freeze(Object.defineProperty({__proto__:null,default:clamp$1},Symbol.toStringTag,{value:"Module"}));let globalId=0;function useGlobalId(o){const[s,_]=reactExports.useState(o),j=o||s;return reactExports.useEffect(()=>{s==null&&(globalId+=1,_(`mui-${globalId}`))},[s]),j}const maybeReactUseId=React$2["useId".toString()];function useId(o){if(maybeReactUseId!==void 0){const s=maybeReactUseId();return o??s}return useGlobalId(o)}function composeClasses(o,s,_=void 0){const j={};return Object.keys(o).forEach($=>{j[$]=o[$].reduce((_e,et)=>{if(et){const tt=s(et);tt!==""&&_e.push(tt),_&&_[et]&&_e.push(_[et])}return _e},[]).join(" ")}),j}const ThemeContext=reactExports.createContext(null),ThemeContext$1=ThemeContext;function useTheme(){return reactExports.useContext(ThemeContext$1)}const hasSymbol=typeof Symbol=="function"&&Symbol.for,nested=hasSymbol?Symbol.for("mui.nested"):"__THEME_NESTED__";function mergeOuterLocalTheme(o,s){return typeof s=="function"?s(o):_extends$1({},o,s)}function ThemeProvider$2(o){const{children:s,theme:_}=o,j=useTheme(),$=reactExports.useMemo(()=>{const _e=j===null?_:mergeOuterLocalTheme(j,_);return _e!=null&&(_e[nested]=j!==null),_e},[_,j]);return jsx$2(ThemeContext$1.Provider,{value:$,children:s})}const _excluded$7=["value"],RtlContext=reactExports.createContext();function RtlProvider(o){let{value:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$7);return jsx$2(RtlContext.Provider,_extends$1({value:s??!0},_))}const PropsContext=reactExports.createContext(void 0);function DefaultPropsProvider({value:o,children:s}){return jsx$2(PropsContext.Provider,{value:o,children:s})}function getThemeProps(o){const{theme:s,name:_,props:j}=o;if(!s||!s.components||!s.components[_])return j;const $=s.components[_];return $.defaultProps?resolveProps($.defaultProps,j):!$.styleOverrides&&!$.variants?resolveProps($,j):j}function useDefaultProps$1({props:o,name:s}){const _=reactExports.useContext(PropsContext);return getThemeProps({props:o,name:s,theme:{components:_}})}function useLayerOrder(o){const s=useTheme$2(),_=useId()||"",{modularCssLayers:j}=o;let $="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return!j||s!==null?$="":typeof j=="string"?$=j.replace(/mui(?!\.)/g,$):$=`@layer ${$};`,useEnhancedEffect$1(()=>{const _e=document.querySelector("head");if(!_e)return;const et=_e.firstChild;if($){var tt;if(et&&(tt=et.hasAttribute)!=null&&tt.call(et,"data-mui-layer-order")&&et.getAttribute("data-mui-layer-order")===_)return;const rt=document.createElement("style");rt.setAttribute("data-mui-layer-order",_),rt.textContent=$,_e.prepend(rt)}else{var nt;(nt=_e.querySelector(`style[data-mui-layer-order="${_}"]`))==null||nt.remove()}},[$,_]),$?jsx$2(GlobalStyles$1,{styles:$}):null}const EMPTY_THEME={};function useThemeScoping(o,s,_,j=!1){return reactExports.useMemo(()=>{const $=o&&s[o]||s;if(typeof _=="function"){const _e=_($),et=o?_extends$1({},s,{[o]:_e}):_e;return j?()=>et:et}return o?_extends$1({},s,{[o]:_}):_extends$1({},s,_)},[o,s,_,j])}function ThemeProvider$1(o){const{children:s,theme:_,themeId:j}=o,$=useTheme$2(EMPTY_THEME),_e=useTheme()||EMPTY_THEME,et=useThemeScoping(j,$,_),tt=useThemeScoping(j,_e,_,!0),nt=et.direction==="rtl",rt=useLayerOrder(et);return jsx$2(ThemeProvider$2,{theme:tt,children:jsx$2(ThemeContext$2.Provider,{value:et,children:jsx$2(RtlProvider,{value:nt,children:jsxs$1(DefaultPropsProvider,{value:et==null?void 0:et.components,children:[rt,s]})})})})}const THEME_ID="$$material",_excluded$6=["theme"];function ThemeProvider(o){let{theme:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$6);const j=s[THEME_ID];let $=j||s;return typeof s!="function"&&(j&&!j.vars?$=_extends$1({},j,{vars:null}):s&&!s.vars&&($=_extends$1({},s,{vars:null}))),jsx$2(ThemeProvider$1,_extends$1({},_,{themeId:j?THEME_ID:void 0,theme:$}))}function useDefaultProps(o){return useDefaultProps$1(o)}function createMixins(o,s){return _extends$1({toolbar:{minHeight:56,[o.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[o.up("sm")]:{minHeight:64}}},s)}var colorManipulator={},interopRequireDefault={exports:{}};(function(o){function s(_){return _&&_.__esModule?_:{default:_}}o.exports=s,o.exports.__esModule=!0,o.exports.default=o.exports})(interopRequireDefault);var interopRequireDefaultExports=interopRequireDefault.exports;const require$$1$2=getAugmentedNamespace(formatMuiErrorMessage),require$$2=getAugmentedNamespace(clamp);var _interopRequireDefault$1=interopRequireDefaultExports;Object.defineProperty(colorManipulator,"__esModule",{value:!0});colorManipulator.alpha=alpha$1;colorManipulator.blend=blend;colorManipulator.colorChannel=void 0;var darken_1=colorManipulator.darken=darken;colorManipulator.decomposeColor=decomposeColor;colorManipulator.emphasize=emphasize;var getContrastRatio_1=colorManipulator.getContrastRatio=getContrastRatio;colorManipulator.getLuminance=getLuminance;colorManipulator.hexToRgb=hexToRgb;colorManipulator.hslToRgb=hslToRgb;var lighten_1=colorManipulator.lighten=lighten;colorManipulator.private_safeAlpha=private_safeAlpha;colorManipulator.private_safeColorChannel=void 0;colorManipulator.private_safeDarken=private_safeDarken;colorManipulator.private_safeEmphasize=private_safeEmphasize;colorManipulator.private_safeLighten=private_safeLighten;colorManipulator.recomposeColor=recomposeColor;colorManipulator.rgbToHex=rgbToHex;var _formatMuiErrorMessage2=_interopRequireDefault$1(require$$1$2),_clamp=_interopRequireDefault$1(require$$2);function clampWrapper(o,s=0,_=1){return(0,_clamp.default)(o,s,_)}function hexToRgb(o){o=o.slice(1);const s=new RegExp(`.{1,${o.length>=6?2:1}}`,"g");let _=o.match(s);return _&&_[0].length===1&&(_=_.map(j=>j+j)),_?`rgb${_.length===4?"a":""}(${_.map((j,$)=>$<3?parseInt(j,16):Math.round(parseInt(j,16)/255*1e3)/1e3).join(", ")})`:""}function intToHex(o){const s=o.toString(16);return s.length===1?`0${s}`:s}function decomposeColor(o){if(o.type)return o;if(o.charAt(0)==="#")return decomposeColor(hexToRgb(o));const s=o.indexOf("("),_=o.substring(0,s);if(["rgb","rgba","hsl","hsla","color"].indexOf(_)===-1)throw new Error((0,_formatMuiErrorMessage2.default)(9,o));let j=o.substring(s+1,o.length-1),$;if(_==="color"){if(j=j.split(" "),$=j.shift(),j.length===4&&j[3].charAt(0)==="/"&&(j[3]=j[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf($)===-1)throw new Error((0,_formatMuiErrorMessage2.default)(10,$))}else j=j.split(",");return j=j.map(_e=>parseFloat(_e)),{type:_,values:j,colorSpace:$}}const colorChannel=o=>{const s=decomposeColor(o);return s.values.slice(0,3).map((_,j)=>s.type.indexOf("hsl")!==-1&&j!==0?`${_}%`:_).join(" ")};colorManipulator.colorChannel=colorChannel;const private_safeColorChannel=(o,s)=>{try{return colorChannel(o)}catch{return o}};colorManipulator.private_safeColorChannel=private_safeColorChannel;function recomposeColor(o){const{type:s,colorSpace:_}=o;let{values:j}=o;return s.indexOf("rgb")!==-1?j=j.map(($,_e)=>_e<3?parseInt($,10):$):s.indexOf("hsl")!==-1&&(j[1]=`${j[1]}%`,j[2]=`${j[2]}%`),s.indexOf("color")!==-1?j=`${_} ${j.join(" ")}`:j=`${j.join(", ")}`,`${s}(${j})`}function rgbToHex(o){if(o.indexOf("#")===0)return o;const{values:s}=decomposeColor(o);return`#${s.map((_,j)=>intToHex(j===3?Math.round(255*_):_)).join("")}`}function hslToRgb(o){o=decomposeColor(o);const{values:s}=o,_=s[0],j=s[1]/100,$=s[2]/100,_e=j*Math.min($,1-$),et=(rt,ot=(rt+_/30)%12)=>$-_e*Math.max(Math.min(ot-3,9-ot,1),-1);let tt="rgb";const nt=[Math.round(et(0)*255),Math.round(et(8)*255),Math.round(et(4)*255)];return o.type==="hsla"&&(tt+="a",nt.push(s[3])),recomposeColor({type:tt,values:nt})}function getLuminance(o){o=decomposeColor(o);let s=o.type==="hsl"||o.type==="hsla"?decomposeColor(hslToRgb(o)).values:o.values;return s=s.map(_=>(o.type!=="color"&&(_/=255),_<=.03928?_/12.92:((_+.055)/1.055)**2.4)),Number((.2126*s[0]+.7152*s[1]+.0722*s[2]).toFixed(3))}function getContrastRatio(o,s){const _=getLuminance(o),j=getLuminance(s);return(Math.max(_,j)+.05)/(Math.min(_,j)+.05)}function alpha$1(o,s){return o=decomposeColor(o),s=clampWrapper(s),(o.type==="rgb"||o.type==="hsl")&&(o.type+="a"),o.type==="color"?o.values[3]=`/${s}`:o.values[3]=s,recomposeColor(o)}function private_safeAlpha(o,s,_){try{return alpha$1(o,s)}catch{return o}}function darken(o,s){if(o=decomposeColor(o),s=clampWrapper(s),o.type.indexOf("hsl")!==-1)o.values[2]*=1-s;else if(o.type.indexOf("rgb")!==-1||o.type.indexOf("color")!==-1)for(let _=0;_<3;_+=1)o.values[_]*=1-s;return recomposeColor(o)}function private_safeDarken(o,s,_){try{return darken(o,s)}catch{return o}}function lighten(o,s){if(o=decomposeColor(o),s=clampWrapper(s),o.type.indexOf("hsl")!==-1)o.values[2]+=(100-o.values[2])*s;else if(o.type.indexOf("rgb")!==-1)for(let _=0;_<3;_+=1)o.values[_]+=(255-o.values[_])*s;else if(o.type.indexOf("color")!==-1)for(let _=0;_<3;_+=1)o.values[_]+=(1-o.values[_])*s;return recomposeColor(o)}function private_safeLighten(o,s,_){try{return lighten(o,s)}catch{return o}}function emphasize(o,s=.15){return getLuminance(o)>.5?darken(o,s):lighten(o,s)}function private_safeEmphasize(o,s,_){try{return emphasize(o,s)}catch{return o}}function blend(o,s,_,j=1){const $=(nt,rt)=>Math.round((nt**(1/j)*(1-_)+rt**(1/j)*_)**j),_e=decomposeColor(o),et=decomposeColor(s),tt=[$(_e.values[0],et.values[0]),$(_e.values[1],et.values[1]),$(_e.values[2],et.values[2])];return recomposeColor({type:"rgb",values:tt})}const common$1={black:"#000",white:"#fff"},common$2=common$1,grey={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},grey$1=grey,purple={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},purple$1=purple,red={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},red$1=red,orange={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},orange$1=orange,blue={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},blue$1=blue,lightBlue={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},lightBlue$1=lightBlue,green={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},green$1=green,_excluded$5=["mode","contrastThreshold","tonalOffset"],light={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:common$2.white,default:common$2.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},dark={text:{primary:common$2.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:common$2.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function addLightOrDark(o,s,_,j){const $=j.light||j,_e=j.dark||j*1.5;o[s]||(o.hasOwnProperty(_)?o[s]=o[_]:s==="light"?o.light=lighten_1(o.main,$):s==="dark"&&(o.dark=darken_1(o.main,_e)))}function getDefaultPrimary(o="light"){return o==="dark"?{main:blue$1[200],light:blue$1[50],dark:blue$1[400]}:{main:blue$1[700],light:blue$1[400],dark:blue$1[800]}}function getDefaultSecondary(o="light"){return o==="dark"?{main:purple$1[200],light:purple$1[50],dark:purple$1[400]}:{main:purple$1[500],light:purple$1[300],dark:purple$1[700]}}function getDefaultError(o="light"){return o==="dark"?{main:red$1[500],light:red$1[300],dark:red$1[700]}:{main:red$1[700],light:red$1[400],dark:red$1[800]}}function getDefaultInfo(o="light"){return o==="dark"?{main:lightBlue$1[400],light:lightBlue$1[300],dark:lightBlue$1[700]}:{main:lightBlue$1[700],light:lightBlue$1[500],dark:lightBlue$1[900]}}function getDefaultSuccess(o="light"){return o==="dark"?{main:green$1[400],light:green$1[300],dark:green$1[700]}:{main:green$1[800],light:green$1[500],dark:green$1[900]}}function getDefaultWarning(o="light"){return o==="dark"?{main:orange$1[400],light:orange$1[300],dark:orange$1[700]}:{main:"#ed6c02",light:orange$1[500],dark:orange$1[900]}}function createPalette(o){const{mode:s="light",contrastThreshold:_=3,tonalOffset:j=.2}=o,$=_objectWithoutPropertiesLoose$1(o,_excluded$5),_e=o.primary||getDefaultPrimary(s),et=o.secondary||getDefaultSecondary(s),tt=o.error||getDefaultError(s),nt=o.info||getDefaultInfo(s),rt=o.success||getDefaultSuccess(s),ot=o.warning||getDefaultWarning(s);function ut(ct){return getContrastRatio_1(ct,dark.text.primary)>=_?dark.text.primary:light.text.primary}const dt=({color:ct,name:pt,mainShade:Bt=500,lightShade:Qt=300,darkShade:gt=700})=>{if(ct=_extends$1({},ct),!ct.main&&ct[Bt]&&(ct.main=ct[Bt]),!ct.hasOwnProperty("main"))throw new Error(formatMuiErrorMessage$1(11,pt?` (${pt})`:"",Bt));if(typeof ct.main!="string")throw new Error(formatMuiErrorMessage$1(12,pt?` (${pt})`:"",JSON.stringify(ct.main)));return addLightOrDark(ct,"light",Qt,j),addLightOrDark(ct,"dark",gt,j),ct.contrastText||(ct.contrastText=ut(ct.main)),ct},Ut={dark,light};return deepmerge$1(_extends$1({common:_extends$1({},common$2),mode:s,primary:dt({color:_e,name:"primary"}),secondary:dt({color:et,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:dt({color:tt,name:"error"}),warning:dt({color:ot,name:"warning"}),info:dt({color:nt,name:"info"}),success:dt({color:rt,name:"success"}),grey:grey$1,contrastThreshold:_,getContrastText:ut,augmentColor:dt,tonalOffset:j},Ut[s]),$)}const _excluded$4=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function round$1(o){return Math.round(o*1e5)/1e5}const caseAllCaps={textTransform:"uppercase"},defaultFontFamily='"Roboto", "Helvetica", "Arial", sans-serif';function createTypography(o,s){const _=typeof s=="function"?s(o):s,{fontFamily:j=defaultFontFamily,fontSize:$=14,fontWeightLight:_e=300,fontWeightRegular:et=400,fontWeightMedium:tt=500,fontWeightBold:nt=700,htmlFontSize:rt=16,allVariants:ot,pxToRem:ut}=_,dt=_objectWithoutPropertiesLoose$1(_,_excluded$4),Ut=$/14,st=ut||(Bt=>`${Bt/rt*Ut}rem`),ct=(Bt,Qt,gt,ft,Ft)=>_extends$1({fontFamily:j,fontWeight:Bt,fontSize:st(Qt),lineHeight:gt},j===defaultFontFamily?{letterSpacing:`${round$1(ft/Qt)}em`}:{},Ft,ot),pt={h1:ct(_e,96,1.167,-1.5),h2:ct(_e,60,1.2,-.5),h3:ct(et,48,1.167,0),h4:ct(et,34,1.235,.25),h5:ct(et,24,1.334,0),h6:ct(tt,20,1.6,.15),subtitle1:ct(et,16,1.75,.15),subtitle2:ct(tt,14,1.57,.1),body1:ct(et,16,1.5,.15),body2:ct(et,14,1.43,.15),button:ct(tt,14,1.75,.4,caseAllCaps),caption:ct(et,12,1.66,.4),overline:ct(et,12,2.66,1,caseAllCaps),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return deepmerge$1(_extends$1({htmlFontSize:rt,pxToRem:st,fontFamily:j,fontSize:$,fontWeightLight:_e,fontWeightRegular:et,fontWeightMedium:tt,fontWeightBold:nt},pt),dt,{clone:!1})}const shadowKeyUmbraOpacity=.2,shadowKeyPenumbraOpacity=.14,shadowAmbientShadowOpacity=.12;function createShadow(...o){return[`${o[0]}px ${o[1]}px ${o[2]}px ${o[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`,`${o[4]}px ${o[5]}px ${o[6]}px ${o[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`,`${o[8]}px ${o[9]}px ${o[10]}px ${o[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(",")}const shadows=["none",createShadow(0,2,1,-1,0,1,1,0,0,1,3,0),createShadow(0,3,1,-2,0,2,2,0,0,1,5,0),createShadow(0,3,3,-2,0,3,4,0,0,1,8,0),createShadow(0,2,4,-1,0,4,5,0,0,1,10,0),createShadow(0,3,5,-1,0,5,8,0,0,1,14,0),createShadow(0,3,5,-1,0,6,10,0,0,1,18,0),createShadow(0,4,5,-2,0,7,10,1,0,2,16,1),createShadow(0,5,5,-3,0,8,10,1,0,3,14,2),createShadow(0,5,6,-3,0,9,12,1,0,3,16,2),createShadow(0,6,6,-3,0,10,14,1,0,4,18,3),createShadow(0,6,7,-4,0,11,15,1,0,4,20,3),createShadow(0,7,8,-4,0,12,17,2,0,5,22,4),createShadow(0,7,8,-4,0,13,19,2,0,5,24,4),createShadow(0,7,9,-4,0,14,21,2,0,5,26,4),createShadow(0,8,9,-5,0,15,22,2,0,6,28,5),createShadow(0,8,10,-5,0,16,24,2,0,6,30,5),createShadow(0,8,11,-5,0,17,26,2,0,6,32,5),createShadow(0,9,11,-5,0,18,28,2,0,7,34,6),createShadow(0,9,12,-6,0,19,29,2,0,7,36,6),createShadow(0,10,13,-6,0,20,31,3,0,8,38,7),createShadow(0,10,13,-6,0,21,33,3,0,8,40,7),createShadow(0,10,14,-6,0,22,35,3,0,8,42,7),createShadow(0,11,14,-7,0,23,36,3,0,9,44,8),createShadow(0,11,15,-7,0,24,38,3,0,9,46,8)],shadows$1=shadows,_excluded$3=["duration","easing","delay"],easing={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},duration$3={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function formatMs(o){return`${Math.round(o)}ms`}function getAutoHeightDuration(o){if(!o)return 0;const s=o/36;return Math.round((4+15*s**.25+s/5)*10)}function createTransitions(o){const s=_extends$1({},easing,o.easing),_=_extends$1({},duration$3,o.duration);return _extends$1({getAutoHeightDuration,create:($=["all"],_e={})=>{const{duration:et=_.standard,easing:tt=s.easeInOut,delay:nt=0}=_e;return _objectWithoutPropertiesLoose$1(_e,_excluded$3),(Array.isArray($)?$:[$]).map(rt=>`${rt} ${typeof et=="string"?et:formatMs(et)} ${tt} ${typeof nt=="string"?nt:formatMs(nt)}`).join(",")}},o,{easing:s,duration:_})}const zIndex={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},zIndex$1=zIndex,_excluded$2=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function createTheme(o={},...s){const{mixins:_={},palette:j={},transitions:$={},typography:_e={}}=o,et=_objectWithoutPropertiesLoose$1(o,_excluded$2);if(o.vars&&o.generateCssVars===void 0)throw new Error(formatMuiErrorMessage$1(18));const tt=createPalette(j),nt=createTheme$2(o);let rt=deepmerge$1(nt,{mixins:createMixins(nt.breakpoints,_),palette:tt,shadows:shadows$1.slice(),typography:createTypography(tt,_e),transitions:createTransitions($),zIndex:_extends$1({},zIndex$1)});return rt=deepmerge$1(rt,et),rt=s.reduce((ot,ut)=>deepmerge$1(ot,ut),rt),rt.unstable_sxConfig=_extends$1({},defaultSxConfig$1,et==null?void 0:et.unstable_sxConfig),rt.unstable_sx=function(ut){return styleFunctionSx$2({sx:ut,theme:this})},rt}const defaultTheme=createTheme(),defaultTheme$1=defaultTheme;function GlobalStyles(o){return jsx$2(GlobalStyles$1,_extends$1({},o,{defaultTheme:defaultTheme$1,themeId:THEME_ID}))}const html=(o,s)=>_extends$1({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},s&&!o.vars&&{colorScheme:o.palette.mode}),body=o=>_extends$1({color:(o.vars||o).palette.text.primary},o.typography.body1,{backgroundColor:(o.vars||o).palette.background.default,"@media print":{backgroundColor:(o.vars||o).palette.common.white}}),styles=(o,s=!1)=>{var _;const j={};s&&o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([et,tt])=>{var nt;j[o.getColorSchemeSelector(et).replace(/\s*&/,"")]={colorScheme:(nt=tt.palette)==null?void 0:nt.mode}});let $=_extends$1({html:html(o,s),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:o.typography.fontWeightBold},body:_extends$1({margin:0},body(o),{"&::backdrop":{backgroundColor:(o.vars||o).palette.background.default}})},j);const _e=(_=o.components)==null||(_=_.MuiCssBaseline)==null?void 0:_.styleOverrides;return _e&&($=[$,_e]),$};function CssBaseline(o){const s=useDefaultProps({props:o,name:"MuiCssBaseline"}),{children:_,enableColorScheme:j=!1}=s;return jsxs$1(reactExports.Fragment,{children:[jsx$2(GlobalStyles,{styles:$=>styles($,j)}),_]})}var createStyled$1={};const require$$1$1=getAugmentedNamespace(_extends$2);var objectWithoutPropertiesLoose={exports:{}},hasRequiredObjectWithoutPropertiesLoose;function requireObjectWithoutPropertiesLoose(){return hasRequiredObjectWithoutPropertiesLoose||(hasRequiredObjectWithoutPropertiesLoose=1,function(o){function s(_,j){if(_==null)return{};var $={};for(var _e in _)if({}.hasOwnProperty.call(_,_e)){if(j.indexOf(_e)!==-1)continue;$[_e]=_[_e]}return $}o.exports=s,o.exports.__esModule=!0,o.exports.default=o.exports}(objectWithoutPropertiesLoose)),objectWithoutPropertiesLoose.exports}const require$$1=getAugmentedNamespace(styledEngine),require$$4=getAugmentedNamespace(deepmerge),require$$5=getAugmentedNamespace(capitalize),require$$6=getAugmentedNamespace(getDisplayName),require$$7=getAugmentedNamespace(createTheme$1),require$$8=getAugmentedNamespace(styleFunctionSx);var _interopRequireDefault=interopRequireDefaultExports;Object.defineProperty(createStyled$1,"__esModule",{value:!0});var _default=createStyled$1.default=createStyled;createStyled$1.shouldForwardProp=shouldForwardProp;createStyled$1.systemDefaultTheme=void 0;var _extends2=_interopRequireDefault(require$$1$1),_objectWithoutPropertiesLoose2=_interopRequireDefault(requireObjectWithoutPropertiesLoose()),_styledEngine=_interopRequireWildcard(require$$1),_deepmerge=require$$4;_interopRequireDefault(require$$5);_interopRequireDefault(require$$6);var _createTheme=_interopRequireDefault(require$$7),_styleFunctionSx=_interopRequireDefault(require$$8);const _excluded$1=["ownerState"],_excluded2=["variants"],_excluded3=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function _getRequireWildcardCache(o){if(typeof WeakMap!="function")return null;var s=new WeakMap,_=new WeakMap;return(_getRequireWildcardCache=function(j){return j?_:s})(o)}function _interopRequireWildcard(o,s){if(!s&&o&&o.__esModule)return o;if(o===null||typeof o!="object"&&typeof o!="function")return{default:o};var _=_getRequireWildcardCache(s);if(_&&_.has(o))return _.get(o);var j={__proto__:null},$=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var _e in o)if(_e!=="default"&&Object.prototype.hasOwnProperty.call(o,_e)){var et=$?Object.getOwnPropertyDescriptor(o,_e):null;et&&(et.get||et.set)?Object.defineProperty(j,_e,et):j[_e]=o[_e]}return j.default=o,_&&_.set(o,j),j}function isEmpty(o){return Object.keys(o).length===0}function isStringTag(o){return typeof o=="string"&&o.charCodeAt(0)>96}function shouldForwardProp(o){return o!=="ownerState"&&o!=="theme"&&o!=="sx"&&o!=="as"}function shallowLayer(o,s){return s&&o&&typeof o=="object"&&o.styles&&!o.styles.startsWith("@layer")&&(o.styles=`@layer ${s}{${String(o.styles)}}`),o}const systemDefaultTheme=createStyled$1.systemDefaultTheme=(0,_createTheme.default)(),lowercaseFirstLetter=o=>o&&o.charAt(0).toLowerCase()+o.slice(1);function resolveTheme({defaultTheme:o,theme:s,themeId:_}){return isEmpty(s)?o:s[_]||s}function defaultOverridesResolver(o){return o?(s,_)=>_[o]:null}function processStyleArg(o,s,_){let{ownerState:j}=s,$=(0,_objectWithoutPropertiesLoose2.default)(s,_excluded$1);const _e=typeof o=="function"?o((0,_extends2.default)({ownerState:j},$)):o;if(Array.isArray(_e))return _e.flatMap(et=>processStyleArg(et,(0,_extends2.default)({ownerState:j},$),_));if(_e&&typeof _e=="object"&&Array.isArray(_e.variants)){const{variants:et=[]}=_e;let nt=(0,_objectWithoutPropertiesLoose2.default)(_e,_excluded2);return et.forEach(rt=>{let ot=!0;if(typeof rt.props=="function"?ot=rt.props((0,_extends2.default)({ownerState:j},$,j)):Object.keys(rt.props).forEach(ut=>{(j==null?void 0:j[ut])!==rt.props[ut]&&$[ut]!==rt.props[ut]&&(ot=!1)}),ot){Array.isArray(nt)||(nt=[nt]);const ut=typeof rt.style=="function"?rt.style((0,_extends2.default)({ownerState:j},$,j)):rt.style;nt.push(_?shallowLayer((0,_styledEngine.internal_serializeStyles)(ut),_):ut)}}),nt}return _?shallowLayer((0,_styledEngine.internal_serializeStyles)(_e),_):_e}function createStyled(o={}){const{themeId:s,defaultTheme:_=systemDefaultTheme,rootShouldForwardProp:j=shouldForwardProp,slotShouldForwardProp:$=shouldForwardProp}=o,_e=et=>(0,_styleFunctionSx.default)((0,_extends2.default)({},et,{theme:resolveTheme((0,_extends2.default)({},et,{defaultTheme:_,themeId:s}))}));return _e.__mui_systemSx=!0,(et,tt={})=>{(0,_styledEngine.internal_processStyles)(et,yt=>yt.filter(Ct=>!(Ct!=null&&Ct.__mui_systemSx)));const{name:nt,slot:rt,skipVariantsResolver:ot,skipSx:ut,overridesResolver:dt=defaultOverridesResolver(lowercaseFirstLetter(rt))}=tt,Ut=(0,_objectWithoutPropertiesLoose2.default)(tt,_excluded3),st=nt&&nt.startsWith("Mui")||rt?"components":"custom",ct=ot!==void 0?ot:rt&&rt!=="Root"&&rt!=="root"||!1,pt=ut||!1;let Bt,Qt=shouldForwardProp;rt==="Root"||rt==="root"?Qt=j:rt?Qt=$:isStringTag(et)&&(Qt=void 0);const gt=(0,_styledEngine.default)(et,(0,_extends2.default)({shouldForwardProp:Qt,label:Bt},Ut)),ft=yt=>typeof yt=="function"&&yt.__emotion_real!==yt||(0,_deepmerge.isPlainObject)(yt)?Ct=>{const xt=resolveTheme({theme:Ct.theme,defaultTheme:_,themeId:s});return processStyleArg(yt,(0,_extends2.default)({},Ct,{theme:xt}),xt.modularCssLayers?st:void 0)}:yt,Ft=(yt,...Ct)=>{let xt=ft(yt);const ht=Ct?Ct.map(ft):[];nt&&dt&&ht.push(vt=>{const Tt=resolveTheme((0,_extends2.default)({},vt,{defaultTheme:_,themeId:s}));if(!Tt.components||!Tt.components[nt]||!Tt.components[nt].styleOverrides)return null;const Ot=Tt.components[nt].styleOverrides,_t={};return Object.entries(Ot).forEach(([Wt,bt])=>{_t[Wt]=processStyleArg(bt,(0,_extends2.default)({},vt,{theme:Tt}),Tt.modularCssLayers?"theme":void 0)}),dt(vt,_t)}),nt&&!ct&&ht.push(vt=>{var Tt;const Ot=resolveTheme((0,_extends2.default)({},vt,{defaultTheme:_,themeId:s})),_t=Ot==null||(Tt=Ot.components)==null||(Tt=Tt[nt])==null?void 0:Tt.variants;return processStyleArg({variants:_t},(0,_extends2.default)({},vt,{theme:Ot}),Ot.modularCssLayers?"theme":void 0)}),pt||ht.push(_e);const mt=ht.length-Ct.length;if(Array.isArray(yt)&&mt>0){const vt=new Array(mt).fill("");xt=[...yt,...vt],xt.raw=[...yt.raw,...vt]}const It=gt(xt,...ht);return et.muiName&&(It.muiName=et.muiName),It};return gt.withConfig&&(Ft.withConfig=gt.withConfig),Ft}}function slotShouldForwardProp(o){return o!=="ownerState"&&o!=="theme"&&o!=="sx"&&o!=="as"}const rootShouldForwardProp=o=>slotShouldForwardProp(o)&&o!=="classes",rootShouldForwardProp$1=rootShouldForwardProp,styled=_default({themeId:THEME_ID,defaultTheme:defaultTheme$1,rootShouldForwardProp:rootShouldForwardProp$1}),styled$1=styled;function getScopedCssBaselineUtilityClass(o){return generateUtilityClass("MuiScopedCssBaseline",o)}generateUtilityClasses("MuiScopedCssBaseline",["root"]);const _excluded=["className","component","enableColorScheme"],useUtilityClasses=o=>{const{classes:s}=o;return composeClasses({root:["root"]},getScopedCssBaselineUtilityClass,s)},ScopedCssBaselineRoot=styled$1("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(o,s)=>s.root})(({theme:o,ownerState:s})=>{const _={};return s.enableColorScheme&&o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([j,$])=>{var _e;_[`&${o.getColorSchemeSelector(j).replace(/\s*&/,"")}`]={colorScheme:(_e=$.palette)==null?void 0:_e.mode}}),_extends$1({},html(o,s.enableColorScheme),body(o),{"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:o.typography.fontWeightBold}},_)}),ScopedCssBaseline=reactExports.forwardRef(function(s,_){const j=useDefaultProps({props:s,name:"MuiScopedCssBaseline"}),{className:$,component:_e="div"}=j,et=_objectWithoutPropertiesLoose$1(j,_excluded),tt=_extends$1({},j,{component:_e}),nt=useUtilityClasses(tt);return jsx$2(ScopedCssBaselineRoot,_extends$1({as:_e,className:clsx(nt.root,$),ref:_,ownerState:tt},et))}),D0=ScopedCssBaseline;var Bn=Object.defineProperty,Sn=(o,s,_)=>s in o?Bn(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,he=(o,s,_)=>(Sn(o,typeof s!="symbol"?s+"":s,_),_);const DEFAULT_FORMANT_API_URL="https://api.formant.io";function whichFormantApiUrl(o,s,_){try{if(s.get("formant_prod"))return"https://api.formant.io";if(s.get("formant_stage"))return"https://api-stage.formant.io";if(s.get("formant_dev"))return"https://api-dev.formant.io";if(s.get("formant_local"))return"https://api.formant.local";if(s.get("formant_url")){const j=s.get("formant_url");if(j!==null)try{return new URL(j).origin}catch{console.warn(`Ignoring malformed \`formant_url\` url parameter: ${j}`)}}if(_){if(_.includes("app-dev.formant.io")||_.includes("v2-coherence-dev.vercel.app")||_.includes("localhost"))return"https://api-dev.formant.io";if(_.includes("app-stage.formant.io"))return"https://api-stage.formant.io";if(_.includes("app.formant.io")||_.includes("v2-coherence.vercel.app"))return"https://api.formant.io"}}catch{}if(_){if(_.includes("app-dev.formant.io"))return"https://api-dev.formant.io";if(_.includes("app-stage.formant.io"))return"https://api-stage.formant.io";if(_.includes("app.formant.io"))return"https://api.formant.io"}return typeof o<"u"&&"FORMANT_API_URL"in o&&typeof o.FORMANT_API_URL=="string"?o.FORMANT_API_URL:DEFAULT_FORMANT_API_URL}let FORMANT_API_URL=whichFormantApiUrl(typeof window<"u"?window:globalThis,new URLSearchParams(typeof window<"u"&&window.location?window.location.search:void 0),typeof window<"u"&&window.location?window.location.host:void 0);const setFormantApiUrl=o=>{FORMANT_API_URL=o};function addAccessTokenRefreshListener(o){function s(_){const j=_.data;j.type==="auth_token"&&o(j.token)}return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}}function getCurrentModuleContext(){return typeof window<"u"&&window.location?new URLSearchParams(window.location.search).get("module"):null}function sendAppMessage(o){if(!(window&&window.parent))throw new Error("cannot send message to non-existent parent");window.parent.postMessage(o,"*")}function refreshAuthToken(){const o=getCurrentModuleContext();if(!o)throw new Error("No module context");sendAppMessage({type:"refresh_auth_token",module:o})}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var base64={exports:{}};/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */base64.exports;(function(o,s){(function(_){var j=s,$=o&&o.exports==j&&o,_e=typeof commonjsGlobal=="object"&&commonjsGlobal;(_e.global===_e||_e.window===_e)&&(_=_e);var et=function(st){this.message=st};et.prototype=new Error,et.prototype.name="InvalidCharacterError";var tt=function(st){throw new et(st)},nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rt=/[\t\n\f\r ]/g,ot=function(st){st=String(st).replace(rt,"");var ct=st.length;ct%4==0&&(st=st.replace(/==?$/,""),ct=st.length),(ct%4==1||/[^+a-zA-Z0-9/]/.test(st))&&tt("Invalid character: the string to be decoded is not correctly encoded.");for(var pt=0,Bt,Qt,gt="",ft=-1;++ft>(-2*pt&6)));return gt},ut=function(st){st=String(st),/[^\0-\xFF]/.test(st)&&tt("The string to be encoded contains characters outside of the Latin1 range.");for(var ct=st.length%3,pt="",Bt=-1,Qt,gt,ft,Ft,yt=st.length-ct;++Bt>18&63)+nt.charAt(Ft>>12&63)+nt.charAt(Ft>>6&63)+nt.charAt(Ft&63);return ct==2?(Qt=st.charCodeAt(Bt)<<8,gt=st.charCodeAt(++Bt),Ft=Qt+gt,pt+=nt.charAt(Ft>>10)+nt.charAt(Ft>>4&63)+nt.charAt(Ft<<2&63)+"="):ct==1&&(Ft=st.charCodeAt(Bt),pt+=nt.charAt(Ft>>2)+nt.charAt(Ft<<4&63)+"=="),pt},dt={encode:ut,decode:ot,version:"1.0.0"};if(j&&!j.nodeType)if($)$.exports=dt;else for(var Ut in dt)dt.hasOwnProperty(Ut)&&(j[Ut]=dt[Ut]);else _.base64=dt})(commonjsGlobal)})(base64,base64.exports);var base64Exports=base64.exports;class LoginFailureError extends Error{constructor(s){super("login failed"),he(this,"reason"),this.reason=s,this.name="LoginFailureError",Object.setPrototypeOf(this,new.target.prototype)}}class LoginChallengedError extends Error{constructor(s){super("login challenged"),he(this,"challenge"),this.challenge=s,this.name="LoginChallengedError",Object.setPrototypeOf(this,new.target.prototype)}}class AuthenticationStore{constructor({apiUrl:s,refreshAuthToken:_,addAccessTokenRefreshListener:j}){he(this,"_refreshToken"),he(this,"_isShareToken",!1),he(this,"_currentOrganization"),he(this,"_currentUser"),he(this,"_defaultDeviceId"),he(this,"_token"),he(this,"_waitingForAuth",new Set),he(this,"_refreshTimer"),he(this,"_apiUrl"),he(this,"_refreshAuthToken"),he(this,"_addAccessTokenRefreshListener"),this._apiUrl=s,this._refreshAuthToken=_,this._addAccessTokenRefreshListener=j}set apiUrl(s){this._apiUrl=s,setFormantApiUrl(s)}get apiUrl(){return this._apiUrl}get token(){return this._token}get currentUser(){return this._currentUser}get currentOrganization(){return this._currentOrganization}get defaultDeviceId(){return this._defaultDeviceId}get refreshToken(){return this._refreshToken}get isShareToken(){return this._isShareToken}async login(s,_,j={}){const{advanced:$=!1}=j;try{const _e=await fetch(`${this._apiUrl}/v1/admin/auth/login`,{method:"POST",body:JSON.stringify({email:s,password:_}),headers:{"Content-Type":"application/json"}}),et=await _e.json();if(_e.status!==200)throw new LoginFailureError(et.message);if("challenge"in et)throw new LoginChallengedError(et.challenge);const{authentication:tt}=et;return await this.loginWithToken(tt.accessToken,tt.refreshToken),$?{result:"success",authentication:tt}:tt}catch(_e){if($||console.error("login() failed",{err:_e}),this._waitingForAuth.forEach(et=>et(!1)),this._waitingForAuth.clear(),!$)throw _e;return _e instanceof LoginChallengedError?{result:"challenged",challenge:_e.challenge}:{result:"failure",reason:_e instanceof LoginFailureError?_e.reason:_e instanceof Error?_e.message:String(_e)}}}async loginWithToken(s,_){var j;const $=JSON.parse(base64Exports.decode(s.split(".")[1]));try{let _e;if(this._isShareToken=$["formant:claims"]&&$["formant:claims"].type=="share",$["formant:claims"]&&(this._currentOrganization=$["formant:claims"].organizationId),$["custom:organization_id"]&&(this._currentOrganization=$["custom:organization_id"]),this._isShareToken||(_e=$.sub),$["formant:claims"]&&$["formant:claims"].userId&&(_e=$["formant:claims"].userId),_e&&((j=this._currentUser)==null?void 0:j.id)!==_e){const et=await fetch(`${this._apiUrl}/v1/admin/users/${_e}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+s}}),tt=await et.json();if(et.status===404)this._currentUser=void 0;else{if(et.status!==200)throw new Error(tt.message);this._currentUser=tt}}this._token=s,this._waitingForAuth.forEach(et=>et(!0))}catch(_e){console.error("loginWithToken() failed",{err:_e}),this._waitingForAuth.forEach(et=>et(!1))}finally{this._waitingForAuth.clear()}_&&(this._refreshToken=_,setInterval(async()=>{if(this._refreshToken){const _e=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:this._refreshToken})})).json();this._token=_e.authentication.accessToken}},1e3*60*60))}isAuthenticated(){return this._token!==void 0}async loginToPeer(s,_,j){if((await fetch(`${s}/login`,{method:"POST",body:JSON.stringify({username:_,password:j}),headers:{"Content-Type":"application/json"}})).status!==200)throw new LoginFailureError("Invalid authentication")}getCurrentUser(){return this._currentUser}async waitTilAuthenticated(){return this.token!==void 0?!0:new Promise(s=>{this._waitingForAuth.add(s)})}async listenForRefresh(){const s=()=>{this._refreshTimer=void 0,this._refreshAuthToken()};this._addAccessTokenRefreshListener(_=>{this._refreshTimer&&clearTimeout(this._refreshTimer),this._refreshTimer=setTimeout(s,36e5),this.loginWithToken(_)}),this._refreshTimer=setTimeout(s,36e5)}async forgotPassword(s){await fetch(`${this._apiUrl}/v1/admin/auth/forgot-password`,{method:"POST",body:JSON.stringify({email:s}),headers:{"Content-Type":"application/json"}})}async confirmForgotPassword(s){return(await fetch(`${this._apiUrl}/v1/admin/auth/confirm-forgot-password`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).ok}async respondToNewPasswordRequiredChallenge(s){const _=await fetch(`${this._apiUrl}/v1/admin/auth/respond-to-new-password-required-challenge`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}});if(_.ok)return await _.json();throw new Error("respond-to-new-password-required-challenge failed")}async loginWithGoogle(s){return await(await fetch(`${this._apiUrl}/v1/admin/auth/login-google`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()}async refresh(s){const _=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:s})})).json();await this.loginWithToken(_.authentication.accessToken,s)}async checkSso(s,_){return await(await fetch(`${this._apiUrl}/v1/admin/auth/check-sso`,{method:"POST",body:JSON.stringify({email:s,allowUserAutoCreation:_}),headers:{"Content-Type":"application/json"}})).json()}async loginWithSso(s,_){const j=await(await fetch(`${this._apiUrl}/v1/admin/auth/login-sso`,{method:"POST",body:JSON.stringify({token:s,refreshToken:_}),headers:{"Content-Type":"application/json"}})).json();if(!j.authentication)throw new Error("Failed to login with SSO");return await this.loginWithToken(j.authentication.accessToken,j.authentication.refreshToken)}}const Authentication=new AuthenticationStore({apiUrl:FORMANT_API_URL,refreshAuthToken,addAccessTokenRefreshListener});async function getModuleConfiguration(o){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/module-configurations/${o}`,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).configuration}function disableAnalyticsBottomBar(){sendAppMessage({type:"hide_analytics_date_picker"})}function goToDevice(o){sendAppMessage({type:"go_to_device",deviceId:o})}function goToTime(o){sendAppMessage({type:"go_to_time",time:o.getTime()})}function requestModuleData(){const o=getCurrentModuleContext();if(!o)throw new Error("No module context");sendAppMessage({type:"request_module_data",module:o})}function sendChannelData(o,s){const _=getCurrentModuleContext();if(!_)throw new Error("No module context");sendAppMessage({type:"send_channel_data",source:_,channel:o,data:s})}function setModuleDateTimeRange(o,s){const _=getCurrentModuleContext();if(!_)throw new Error("No module context");sendAppMessage({type:"set_module_data_time_range",module:_,before:o,after:s||0})}function setupModuleMenus(o){const s=getCurrentModuleContext();if(!s)throw new Error("No module context");sendAppMessage({type:"setup_module_menus",module:s,menus:o})}function showMessage(o){sendAppMessage({type:"show_message",message:o})}function addChannelDataListener(o,s){const _=j=>{const $=j.data;$.type==="channel_data"&&$.channel===o&&s({source:$.source,data:$.data})};return window.addEventListener("message",_),()=>window.removeEventListener("message",_)}function addMenuListener(o){const s=_=>{const j=_.data;j.type==="module_menu_item_clicked"&&o(j.menu)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function addModuleConfigurationListener(o){const s=_=>{const j=_.data;j.type==="module_configuration"&&o(j)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function addModuleDataListener(o){const s=getCurrentModuleContext();s&&sendAppMessage({type:"request_module_data",module:s});const _=j=>{const $=j.data;$.type==="module_data"&&o({streams:$.streams,time:$.time,queryRange:$.queryRange})};return window.addEventListener("message",_),()=>window.removeEventListener("message",_)}function addOverviewDeviceListener(o){sendAppMessage({type:"request_devices"});const s=_=>{const j=_.data;j.type==="overview_devices"&&o(j.data)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function _typeof$1(o){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},_typeof$1(o)}function toInteger(o){if(o===null||o===!0||o===!1)return NaN;var s=Number(o);return isNaN(s)?s:s<0?Math.ceil(s):Math.floor(s)}function requiredArgs(o,s){if(s.length1?"s":"")+" required, but only "+s.length+" present")}function toDate(o){requiredArgs(1,arguments);var s=Object.prototype.toString.call(o);return o instanceof Date||_typeof$1(o)==="object"&&s==="[object Date]"?new Date(o.getTime()):typeof o=="number"||s==="[object Number]"?new Date(o):((typeof o=="string"||s==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function addDays(o,s){requiredArgs(2,arguments);var _=toDate(o),j=toInteger(s);return isNaN(j)?new Date(NaN):(j&&_.setDate(_.getDate()+j),_)}function addMonths(o,s){requiredArgs(2,arguments);var _=toDate(o),j=toInteger(s);if(isNaN(j))return new Date(NaN);if(!j)return _;var $=_.getDate(),_e=new Date(_.getTime());_e.setMonth(_.getMonth()+j+1,0);var et=_e.getDate();return $>=et?_e:(_.setFullYear(_e.getFullYear(),_e.getMonth(),$),_)}function addMilliseconds(o,s){requiredArgs(2,arguments);var _=toDate(o).getTime(),j=toInteger(s);return new Date(_+j)}var MILLISECONDS_IN_HOUR=36e5;function addHours(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMilliseconds(o,_*MILLISECONDS_IN_HOUR)}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(o,s){var _,j,$,_e,et,tt,nt,rt;requiredArgs(1,arguments);var ot=getDefaultOptions(),ut=toInteger((_=(j=($=(_e=s==null?void 0:s.weekStartsOn)!==null&&_e!==void 0?_e:s==null||(et=s.locale)===null||et===void 0||(tt=et.options)===null||tt===void 0?void 0:tt.weekStartsOn)!==null&&$!==void 0?$:ot.weekStartsOn)!==null&&j!==void 0?j:(nt=ot.locale)===null||nt===void 0||(rt=nt.options)===null||rt===void 0?void 0:rt.weekStartsOn)!==null&&_!==void 0?_:0);if(!(ut>=0&&ut<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var dt=toDate(o),Ut=dt.getDay(),st=(Ut=et)throw new RangeError("Invalid interval");var tt=[],nt=j,rt=Number((_=s==null?void 0:s.step)!==null&&_!==void 0?_:1);if(rt<1||isNaN(rt))throw new RangeError("`options.step` must be a number equal to or greater than 1");for(;nt.getTime()<=et;)tt.push(toDate(nt)),nt=addMinutes(nt,rt);return tt}function eachMonthOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime(),_e=[];if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var et=_;for(et.setHours(0,0,0,0),et.setDate(1);et.getTime()<=$;)_e.push(toDate(et)),et.setMonth(et.getMonth()+1);return _e}function startOfQuarter(o){requiredArgs(1,arguments);var s=toDate(o),_=s.getMonth(),j=_-_%3;return s.setMonth(j,1),s.setHours(0,0,0,0),s}function eachQuarterOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime();if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var _e=startOfQuarter(_),et=startOfQuarter(j);$=et.getTime();for(var tt=[],nt=_e;nt.getTime()<=$;)tt.push(toDate(nt)),nt=addQuarters(nt,1);return tt}function eachWeekOfInterval(o,s){requiredArgs(1,arguments);var _=o||{},j=toDate(_.start),$=toDate(_.end),_e=$.getTime();if(!(j.getTime()<=_e))throw new RangeError("Invalid interval");var et=startOfWeek(j,s),tt=startOfWeek($,s);et.setHours(15),tt.setHours(15),_e=tt.getTime();for(var nt=[],rt=et;rt.getTime()<=_e;)rt.setHours(0),nt.push(toDate(rt)),rt=addWeeks(rt,1),rt.setHours(15);return nt}function startOfMonth(o){requiredArgs(1,arguments);var s=toDate(o);return s.setDate(1),s.setHours(0,0,0,0),s}function endOfYear(o){requiredArgs(1,arguments);var s=toDate(o),_=s.getFullYear();return s.setFullYear(_+1,0,0),s.setHours(23,59,59,999),s}function startOfYear(o){requiredArgs(1,arguments);var s=toDate(o),_=new Date(0);return _.setFullYear(s.getFullYear(),0,1),_.setHours(0,0,0,0),_}function eachYearOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime();if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var _e=[],et=_;for(et.setHours(0,0,0,0),et.setMonth(0,1);et.getTime()<=$;)_e.push(toDate(et)),et.setFullYear(et.getFullYear()+1);return _e}function endOfHour(o){requiredArgs(1,arguments);var s=toDate(o);return s.setMinutes(59,59,999),s}function endOfWeek(o,s){var _,j,$,_e,et,tt,nt,rt;requiredArgs(1,arguments);var ot=getDefaultOptions(),ut=toInteger((_=(j=($=(_e=s==null?void 0:s.weekStartsOn)!==null&&_e!==void 0?_e:s==null||(et=s.locale)===null||et===void 0||(tt=et.options)===null||tt===void 0?void 0:tt.weekStartsOn)!==null&&$!==void 0?$:ot.weekStartsOn)!==null&&j!==void 0?j:(nt=ot.locale)===null||nt===void 0||(rt=nt.options)===null||rt===void 0?void 0:rt.weekStartsOn)!==null&&_!==void 0?_:0);if(!(ut>=0&&ut<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var dt=toDate(o),Ut=dt.getDay(),st=(Ut=1&&Ut<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var st=new Date(0);st.setFullYear(ut+1,0,Ut),st.setHours(0,0,0,0);var ct=startOfWeek(st,s),pt=new Date(0);pt.setFullYear(ut,0,Ut),pt.setHours(0,0,0,0);var Bt=startOfWeek(pt,s);return ot.getTime()>=ct.getTime()?ut+1:ot.getTime()>=Bt.getTime()?ut:ut-1}function startOfWeekYear(o,s){var _,j,$,_e,et,tt,nt,rt;requiredArgs(1,arguments);var ot=getDefaultOptions(),ut=toInteger((_=(j=($=(_e=s==null?void 0:s.firstWeekContainsDate)!==null&&_e!==void 0?_e:s==null||(et=s.locale)===null||et===void 0||(tt=et.options)===null||tt===void 0?void 0:tt.firstWeekContainsDate)!==null&&$!==void 0?$:ot.firstWeekContainsDate)!==null&&j!==void 0?j:(nt=ot.locale)===null||nt===void 0||(rt=nt.options)===null||rt===void 0?void 0:rt.firstWeekContainsDate)!==null&&_!==void 0?_:1),dt=getWeekYear(o,s),Ut=new Date(0);Ut.setFullYear(dt,0,ut),Ut.setHours(0,0,0,0);var st=startOfWeek(Ut,s);return st}var MILLISECONDS_IN_WEEK=6048e5;function getWeek(o,s){requiredArgs(1,arguments);var _=toDate(o),j=startOfWeek(_,s).getTime()-startOfWeekYear(_,s).getTime();return Math.round(j/MILLISECONDS_IN_WEEK)+1}function getYear(o){return requiredArgs(1,arguments),toDate(o).getFullYear()}function startOfHour(o){requiredArgs(1,arguments);var s=toDate(o);return s.setMinutes(0,0,0),s}function subDays(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addDays(o,-_)}function roundToNearestMinutes(o,s){var _;if(arguments.length<1)throw new TypeError("1 argument required, but only none provided present");var j=toInteger((_=s==null?void 0:s.nearestTo)!==null&&_!==void 0?_:1);if(j<1||j>30)throw new RangeError("`options.nearestTo` must be between 1 and 30");var $=toDate(o),_e=$.getSeconds(),et=$.getMinutes()+_e/60,tt=getRoundingMethod(s==null?void 0:s.roundingMethod),nt=tt(et/j)*j,rt=et%j,ot=Math.round(rt/j)*j;return new Date($.getFullYear(),$.getMonth(),$.getDate(),$.getHours(),nt+ot)}function subMonths(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMonths(o,-_)}function subHours(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addHours(o,-_)}function subMinutes(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMinutes(o,-_)}function subQuarters(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addQuarters(o,-_)}function subWeeks(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addWeeks(o,-_)}function subYears(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addYears(o,-_)}const millisecond$2=1,second$2=1e3,minute$2=60*second$2,hour$2=60*minute$2,day$2=24*hour$2,week$2=7*day$2,month$2=30*day$2,year$2=365*day$2,duration$2={millisecond:millisecond$2,second:second$2,minute:minute$2,hour:hour$2,day:day$2,week:week$2,month:month$2,year:year$2};function filterDataByType$1(o,s){return o.filter(_=>s.includes(_.type))}function filterDataByTime$1(o,s,_){const j=s.getTime(),$=_.getTime();return o.map(_e=>({..._e,points:_e.points.filter(([et])=>et>=j&&et<$)})).filter(({points:_e})=>_e.length>0)}let StoreCache$1=class{constructor({capacity:o,timeout:s}={}){he(this,"entries",new Map),he(this,"metadata",new Map),he(this,"capacity"),he(this,"staleIntervalMs"),this.capacity=o||1e4,this.staleIntervalMs=s||duration$2.minute}get(o,s){const _=this.keyToCacheKey(o);return this.isStale(_)&&!this.isGenerating(_)&&s&&this.generate(o,s),this.entries.get(_)}set(o,s){const _=this.keyToCacheKey(o);this.metadata.set(_,{generating:!1,staleAt:performance.now()+this.staleIntervalMs});const j=this.entries.get(_);JSON.stringify(j)===JSON.stringify(s)||(this.entries.set(_,s),this.enforceMaxSize())}clear(){this.entries.clear(),[...this.metadata.values()].forEach(o=>o.generating=!1)}clearKey(o){this.metadata.delete(o),this.entries.delete(o)}keyToCacheKey(o){return JSON.stringify(o)}enforceMaxSize(){for(;this.metadata.size>this.capacity&&this.metadata.size>0;){const[o]=[...this.metadata.entries()].reduce(([s,_],[j,$])=>$.staleAt<_.staleAt?[j,$]:[s,_]);this.clearKey(o)}}isStale(o){const s=this.metadata.get(o);return s?(s==null?void 0:s.staleAt){const et=this.metadata.get(_);return(et==null?void 0:et.generating)!==$||this.set(o,_e),_e}).catch(_e=>{throw this.metadata.delete(_),_e});this.metadata.set(_,{...j,generating:$,staleAt:performance.now()+this.staleIntervalMs})}};async function queryTelemetry(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}let QueryStore$1=class{constructor(){he(this,"queryStoreCache",new StoreCache$1({capacity:1e4,timeout:20*duration$2.second})),he(this,"liveQueryStoreCache",new StoreCache$1({capacity:1e4,timeout:200*duration$2.millisecond}))}moduleQuery(o,s,_,j,$,_e=!1){const et={...o,names:[...s],types:[..._]},tt=this.query(et,j,$,_e);return tt===void 0||tt==="too much data"?tt:filterDataByType$1(tt,_)}query(o,s,_,j=!1){const $={...o,start:startOfMinute(s).toISOString(),end:j?_.toISOString():addMinutes(roundToNearestMinutes(_),1).toISOString(),latestOnly:j},_e=_>addSeconds(new Date,-20);let et;return _e?et=this.liveQueryCache($):et=this.queryCache($),!et||et==="too much data"||j?et:filterDataByTime$1(et,s,_)}queryCache(o){return this.queryStoreCache.get(o,async()=>{try{return await queryTelemetry(o)}catch(s){throw s}})}liveQueryCache(o){return this.liveQueryStoreCache.get(o,async()=>{try{return await queryTelemetry(o)}catch(s){throw s}})}};const queryStore=new QueryStore$1;function addStreamListener(o,s,_){const j=$=>{const _e=$.data;if(_e.type==="module_data"){const{start:et,end:tt}=_e.queryRange;_(queryStore.moduleQuery({},o,s,new Date(et),new Date(tt),!1))}};return window.addEventListener("message",j),()=>window.removeEventListener("message",j)}async function getDate(o,s,_){return new Promise(j=>{sendAppMessage({type:"request_date",minTime:s,maxTime:_,time:o});const $=_e=>{const et=_e.data;et.type==="date_response"&&(window.removeEventListener("message",$),j(et.data))};window.addEventListener("message",$)})}async function prompt(o,s){return new Promise(_=>{const j=Math.random().toString();sendAppMessage({type:"prompt",promptId:j,schema:o,okText:s==null?void 0:s.okText,cancelText:s==null?void 0:s.cancelText});const $=_e=>{const et=_e.data;et.type==="prompt_response"&&et.promptId===j&&_(et.data),window.removeEventListener("message",$)};window.addEventListener("message",$)})}const Xt=class{static isModule(){return getCurrentModuleContext()!==null}static async getCurrentModuleConfiguration(){let o=new URLSearchParams("");typeof window<"u"&&window.location&&(o=new URLSearchParams(window.location.search));const s=o.get("configuration");if(!(s===null||s.trim()===""))return getModuleConfiguration(s.trim())}static get isOnline(){return Xt._isOnline}static listenForConnectionEvents(){const o=s=>{const{data:_}=s;_.type==="formant_online"&&(this._isOnline=_.online)};return window.addEventListener("message",o),()=>window.removeEventListener("message",o)}static checkConnection(o=1e3){return new Promise((s,_)=>{const j=setTimeout(()=>_(new Error("deadline expired: took too long")),o),$=_e=>{window.removeEventListener("message",$),clearTimeout(j);const{data:et}=_e;et.type==="formant_online"&&(this._isOnline=et.online,s(et.online))};window.addEventListener("message",$),sendAppMessage({type:"formant_online"})})}static waitForConnection(o=5e3){let s=!1;const _=new Promise((_e,et)=>{setTimeout(()=>{s=!0,et(new Error("deadline expired: took too long"))},o)}),j=_e=>new Promise(et=>setTimeout(et,_e)),$=async()=>{for(await j(50);!s&&!(this.isOnline||await this.checkConnection);)await j(500)};return Promise.race([_,$()])}};let App$2=Xt;he(App$2,"getCurrentModuleContext",getCurrentModuleContext),he(App$2,"disableAnalyticsBottomBar",disableAnalyticsBottomBar),he(App$2,"goToDevice",goToDevice),he(App$2,"goToTime",goToTime),he(App$2,"refreshAuthToken",refreshAuthToken),he(App$2,"requestModuleData",requestModuleData),he(App$2,"sendChannelData",sendChannelData),he(App$2,"setModuleDateTimeRange",setModuleDateTimeRange),he(App$2,"setupModuleMenus",setupModuleMenus),he(App$2,"showMessage",showMessage),he(App$2,"addAccessTokenRefreshListener",addAccessTokenRefreshListener),he(App$2,"addChannelDataListener",addChannelDataListener),he(App$2,"addMenuListener",addMenuListener),he(App$2,"addModuleConfigurationListener",addModuleConfigurationListener),he(App$2,"addModuleDataListener",addModuleDataListener),he(App$2,"addOverviewDeviceListener",addOverviewDeviceListener),he(App$2,"addStreamListener",addStreamListener),he(App$2,"getDate",getDate),he(App$2,"prompt",prompt),he(App$2,"_isOnline",null);class CaptureStream{constructor(s){he(this,"token"),this.captureSession=s}async ingestJSON(s){if(!this.token){const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/capture-sessions/${this.captureSession.code}/authenticate`,{method:"POST"})).json();this.token=_.token}await fetch(`${FORMANT_API_URL}/v1/ingest`,{method:"POST",body:JSON.stringify({deviceId:this.captureSession.deviceId,name:this.captureSession.streamName,type:"json",points:[[Date.now(),JSON.stringify(s)]]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+this.token}})}}class DataChannel{constructor(s){he(this,"ready",!1),he(this,"listeners",[]),he(this,"openListeners",[]),he(this,"closeListeners",[]),he(this,"errorListeners",[]),he(this,"binaryListeners",[]),he(this,"error"),he(this,"decoder",new TextDecoder),this.dataChannel=s,this.dataChannel.binaryType="arraybuffer",this.dataChannel.onopen=()=>{this.setReady()},this.dataChannel.onclose=()=>{this.ready=!1,this.closeListeners.forEach(_=>_())},this.dataChannel.onerror=_=>{console.error(_),this.error="An error occurred in DataChannel",this.errorListeners.forEach(j=>j(_))},this.dataChannel.onmessage=_=>{this.listeners.forEach(j=>{const $=new Uint8Array(_.data),_e=this.decoder.decode($);j(_e)}),this.binaryListeners.forEach(j=>{j(new Uint8Array(_.data))})}}setReady(){this.ready=!0,this.openListeners.forEach(s=>s())}addOpenListener(s){this.openListeners.push(s)}removeOpenListener(s){this.openListeners=this.openListeners.filter(_=>_!==s)}addCloseListener(s){this.closeListeners.push(s)}removeCloseListener(s){this.closeListeners=this.closeListeners.filter(_=>_!==s)}addErrorListener(s){this.errorListeners.push(s)}removeErrorListener(s){this.errorListeners=this.errorListeners.filter(_=>_!==s)}async waitTilReady(){return this.ready?!0:new Promise((s,_)=>{let j=setInterval(()=>{this.dataChannel.readyState==="open"&&this.setReady(),this.ready&&(clearInterval(j),s(!0)),this.error&&_(this.error)},10)})}send(s){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(s)}sendBinary(s){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(s)}addListener(s){this.listeners.push(s)}removeListener(s){const _=this.listeners.indexOf(s);if(_===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.listeners.splice(_,1)}addBinaryListener(s){this.binaryListeners.push(s)}removeBinaryListener(s){const _=this.binaryListeners.indexOf(s);if(_===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.binaryListeners.splice(_,1)}}function defined$1(o,s){if(o!==void 0)return o;throw new Error(s||"Value is undefined")}function delay$1(o){return new Promise(s=>setTimeout(s,o))}async function createDevice(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const Z_FIXED$1=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN$1=2;function zero$1(o){let s=o.length;for(;--s>=0;)o[s]=0}const STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH$1=3,MAX_MATCH$1=258,LENGTH_CODES$1=29,LITERALS$1=256,L_CODES$1=LITERALS$1+1+LENGTH_CODES$1,D_CODES$1=30,BL_CODES$1=19,HEAP_SIZE$1=2*L_CODES$1+1,MAX_BITS$1=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),DIST_CODE_LEN=512,static_ltree=new Array((L_CODES$1+2)*2);zero$1(static_ltree);const static_dtree=new Array(D_CODES$1*2);zero$1(static_dtree);const _dist_code=new Array(DIST_CODE_LEN);zero$1(_dist_code);const _length_code=new Array(MAX_MATCH$1-MIN_MATCH$1+1);zero$1(_length_code);const base_length=new Array(LENGTH_CODES$1);zero$1(base_length);const base_dist=new Array(D_CODES$1);zero$1(base_dist);function StaticTreeDesc(o,s,_,j,$){this.static_tree=o,this.extra_bits=s,this.extra_base=_,this.elems=j,this.max_length=$,this.has_stree=o&&o.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(o,s){this.dyn_tree=o,this.max_code=0,this.stat_desc=s}const d_code=o=>o<256?_dist_code[o]:_dist_code[256+(o>>>7)],put_short=(o,s)=>{o.pending_buf[o.pending++]=s&255,o.pending_buf[o.pending++]=s>>>8&255},send_bits=(o,s,_)=>{o.bi_valid>Buf_size-_?(o.bi_buf|=s<>Buf_size-o.bi_valid,o.bi_valid+=_-Buf_size):(o.bi_buf|=s<{send_bits(o,_[s*2],_[s*2+1])},bi_reverse=(o,s)=>{let _=0;do _|=o&1,o>>>=1,_<<=1;while(--s>0);return _>>>1},bi_flush=o=>{o.bi_valid===16?(put_short(o,o.bi_buf),o.bi_buf=0,o.bi_valid=0):o.bi_valid>=8&&(o.pending_buf[o.pending++]=o.bi_buf&255,o.bi_buf>>=8,o.bi_valid-=8)},gen_bitlen=(o,s)=>{const _=s.dyn_tree,j=s.max_code,$=s.stat_desc.static_tree,_e=s.stat_desc.has_stree,et=s.stat_desc.extra_bits,tt=s.stat_desc.extra_base,nt=s.stat_desc.max_length;let rt,ot,ut,dt,Ut,st,ct=0;for(dt=0;dt<=MAX_BITS$1;dt++)o.bl_count[dt]=0;for(_[o.heap[o.heap_max]*2+1]=0,rt=o.heap_max+1;rtnt&&(dt=nt,ct++),_[ot*2+1]=dt,!(ot>j)&&(o.bl_count[dt]++,Ut=0,ot>=tt&&(Ut=et[ot-tt]),st=_[ot*2],o.opt_len+=st*(dt+Ut),_e&&(o.static_len+=st*($[ot*2+1]+Ut)));if(ct!==0){do{for(dt=nt-1;o.bl_count[dt]===0;)dt--;o.bl_count[dt]--,o.bl_count[dt+1]+=2,o.bl_count[nt]--,ct-=2}while(ct>0);for(dt=nt;dt!==0;dt--)for(ot=o.bl_count[dt];ot!==0;)ut=o.heap[--rt],!(ut>j)&&(_[ut*2+1]!==dt&&(o.opt_len+=(dt-_[ut*2+1])*_[ut*2],_[ut*2+1]=dt),ot--)}},gen_codes=(o,s,_)=>{const j=new Array(MAX_BITS$1+1);let $=0,_e,et;for(_e=1;_e<=MAX_BITS$1;_e++)$=$+_[_e-1]<<1,j[_e]=$;for(et=0;et<=s;et++){let tt=o[et*2+1];tt!==0&&(o[et*2]=bi_reverse(j[tt]++,tt))}},tr_static_init=()=>{let o,s,_,j,$;const _e=new Array(MAX_BITS$1+1);for(_=0,j=0;j>=7;j{let s;for(s=0;s{o.bi_valid>8?put_short(o,o.bi_buf):o.bi_valid>0&&(o.pending_buf[o.pending++]=o.bi_buf),o.bi_buf=0,o.bi_valid=0},smaller=(o,s,_,j)=>{const $=s*2,_e=_*2;return o[$]{const j=o.heap[_];let $=_<<1;for(;$<=o.heap_len&&(${let j,$,_e=0,et,tt;if(o.sym_next!==0)do j=o.pending_buf[o.sym_buf+_e++]&255,j+=(o.pending_buf[o.sym_buf+_e++]&255)<<8,$=o.pending_buf[o.sym_buf+_e++],j===0?send_code(o,$,s):(et=_length_code[$],send_code(o,et+LITERALS$1+1,s),tt=extra_lbits[et],tt!==0&&($-=base_length[et],send_bits(o,$,tt)),j--,et=d_code(j),send_code(o,et,_),tt=extra_dbits[et],tt!==0&&(j-=base_dist[et],send_bits(o,j,tt)));while(_e{const _=s.dyn_tree,j=s.stat_desc.static_tree,$=s.stat_desc.has_stree,_e=s.stat_desc.elems;let et,tt,nt=-1,rt;for(o.heap_len=0,o.heap_max=HEAP_SIZE$1,et=0;et<_e;et++)_[et*2]!==0?(o.heap[++o.heap_len]=nt=et,o.depth[et]=0):_[et*2+1]=0;for(;o.heap_len<2;)rt=o.heap[++o.heap_len]=nt<2?++nt:0,_[rt*2]=1,o.depth[rt]=0,o.opt_len--,$&&(o.static_len-=j[rt*2+1]);for(s.max_code=nt,et=o.heap_len>>1;et>=1;et--)pqdownheap(o,_,et);rt=_e;do et=o.heap[1],o.heap[1]=o.heap[o.heap_len--],pqdownheap(o,_,1),tt=o.heap[1],o.heap[--o.heap_max]=et,o.heap[--o.heap_max]=tt,_[rt*2]=_[et*2]+_[tt*2],o.depth[rt]=(o.depth[et]>=o.depth[tt]?o.depth[et]:o.depth[tt])+1,_[et*2+1]=_[tt*2+1]=rt,o.heap[1]=rt++,pqdownheap(o,_,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],gen_bitlen(o,s),gen_codes(_,nt,o.bl_count)},scan_tree=(o,s,_)=>{let j,$=-1,_e,et=s[0*2+1],tt=0,nt=7,rt=4;for(et===0&&(nt=138,rt=3),s[(_+1)*2+1]=65535,j=0;j<=_;j++)_e=et,et=s[(j+1)*2+1],!(++tt{let j,$=-1,_e,et=s[0*2+1],tt=0,nt=7,rt=4;for(et===0&&(nt=138,rt=3),j=0;j<=_;j++)if(_e=et,et=s[(j+1)*2+1],!(++tt{let s;for(scan_tree(o,o.dyn_ltree,o.l_desc.max_code),scan_tree(o,o.dyn_dtree,o.d_desc.max_code),build_tree(o,o.bl_desc),s=BL_CODES$1-1;s>=3&&o.bl_tree[bl_order[s]*2+1]===0;s--);return o.opt_len+=3*(s+1)+5+5+4,s},send_all_trees=(o,s,_,j)=>{let $;for(send_bits(o,s-257,5),send_bits(o,_-1,5),send_bits(o,j-4,4),$=0;${let s=4093624447,_;for(_=0;_<=31;_++,s>>>=1)if(s&1&&o.dyn_ltree[_*2]!==0)return Z_BINARY;if(o.dyn_ltree[9*2]!==0||o.dyn_ltree[10*2]!==0||o.dyn_ltree[13*2]!==0)return Z_TEXT;for(_=32;_{static_init_done||(tr_static_init(),static_init_done=!0),o.l_desc=new TreeDesc(o.dyn_ltree,static_l_desc),o.d_desc=new TreeDesc(o.dyn_dtree,static_d_desc),o.bl_desc=new TreeDesc(o.bl_tree,static_bl_desc),o.bi_buf=0,o.bi_valid=0,init_block(o)},_tr_stored_block$1=(o,s,_,j)=>{send_bits(o,(STORED_BLOCK<<1)+(j?1:0),3),bi_windup(o),put_short(o,_),put_short(o,~_),_&&o.pending_buf.set(o.window.subarray(s,s+_),o.pending),o.pending+=_},_tr_align$1=o=>{send_bits(o,STATIC_TREES<<1,3),send_code(o,END_BLOCK,static_ltree),bi_flush(o)},_tr_flush_block$1=(o,s,_,j)=>{let $,_e,et=0;o.level>0?(o.strm.data_type===Z_UNKNOWN$1&&(o.strm.data_type=detect_data_type(o)),build_tree(o,o.l_desc),build_tree(o,o.d_desc),et=build_bl_tree(o),$=o.opt_len+3+7>>>3,_e=o.static_len+3+7>>>3,_e<=$&&($=_e)):$=_e=_+5,_+4<=$&&s!==-1?_tr_stored_block$1(o,s,_,j):o.strategy===Z_FIXED$1||_e===$?(send_bits(o,(STATIC_TREES<<1)+(j?1:0),3),compress_block(o,static_ltree,static_dtree)):(send_bits(o,(DYN_TREES<<1)+(j?1:0),3),send_all_trees(o,o.l_desc.max_code+1,o.d_desc.max_code+1,et+1),compress_block(o,o.dyn_ltree,o.dyn_dtree)),init_block(o),j&&bi_windup(o)},_tr_tally$1=(o,s,_)=>(o.pending_buf[o.sym_buf+o.sym_next++]=s,o.pending_buf[o.sym_buf+o.sym_next++]=s>>8,o.pending_buf[o.sym_buf+o.sym_next++]=_,s===0?o.dyn_ltree[_*2]++:(o.matches++,s--,o.dyn_ltree[(_length_code[_]+LITERALS$1+1)*2]++,o.dyn_dtree[d_code(s)*2]++),o.sym_next===o.sym_end);var _tr_init_1=_tr_init$1,_tr_stored_block_1=_tr_stored_block$1,_tr_flush_block_1=_tr_flush_block$1,_tr_tally_1=_tr_tally$1,_tr_align_1=_tr_align$1,trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block_1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:_tr_align_1};const adler32=(o,s,_,j)=>{let $=o&65535|0,_e=o>>>16&65535|0,et=0;for(;_!==0;){et=_>2e3?2e3:_,_-=et;do $=$+s[j++]|0,_e=_e+$|0;while(--et);$%=65521,_e%=65521}return $|_e<<16|0};var adler32_1=adler32;const makeTable=()=>{let o,s=[];for(var _=0;_<256;_++){o=_;for(var j=0;j<8;j++)o=o&1?3988292384^o>>>1:o>>>1;s[_]=o}return s},crcTable=new Uint32Array(makeTable()),crc32=(o,s,_,j)=>{const $=crcTable,_e=j+_;o^=-1;for(let et=j;et<_e;et++)o=o>>>8^$[(o^s[et])&255];return o^-1};var crc32_1=crc32,messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init,_tr_stored_block,_tr_flush_block,_tr_tally,_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED,Z_HUFFMAN_ONLY,Z_RLE,Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,MAX_MEM_LEVEL=9,MAX_WBITS$1=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,GZIP_STATE=57,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3,err=(o,s)=>(o.msg=messages[s],s),rank=o=>o*2-(o>4?9:0),zero=o=>{let s=o.length;for(;--s>=0;)o[s]=0},slide_hash=o=>{let s,_,j,$=o.w_size;s=o.hash_size,j=s;do _=o.head[--j],o.head[j]=_>=$?_-$:0;while(--s);s=$,j=s;do _=o.prev[--j],o.prev[j]=_>=$?_-$:0;while(--s)};let HASH_ZLIB=(o,s,_)=>(s<{const s=o.state;let _=s.pending;_>o.avail_out&&(_=o.avail_out),_!==0&&(o.output.set(s.pending_buf.subarray(s.pending_out,s.pending_out+_),o.next_out),o.next_out+=_,s.pending_out+=_,o.total_out+=_,o.avail_out-=_,s.pending-=_,s.pending===0&&(s.pending_out=0))},flush_block_only=(o,s)=>{_tr_flush_block(o,o.block_start>=0?o.block_start:-1,o.strstart-o.block_start,s),o.block_start=o.strstart,flush_pending(o.strm)},put_byte=(o,s)=>{o.pending_buf[o.pending++]=s},putShortMSB=(o,s)=>{o.pending_buf[o.pending++]=s>>>8&255,o.pending_buf[o.pending++]=s&255},read_buf=(o,s,_,j)=>{let $=o.avail_in;return $>j&&($=j),$===0?0:(o.avail_in-=$,s.set(o.input.subarray(o.next_in,o.next_in+$),_),o.state.wrap===1?o.adler=adler32_1(o.adler,s,$,_):o.state.wrap===2&&(o.adler=crc32_1(o.adler,s,$,_)),o.next_in+=$,o.total_in+=$,$)},longest_match=(o,s)=>{let _=o.max_chain_length,j=o.strstart,$,_e,et=o.prev_length,tt=o.nice_match;const nt=o.strstart>o.w_size-MIN_LOOKAHEAD?o.strstart-(o.w_size-MIN_LOOKAHEAD):0,rt=o.window,ot=o.w_mask,ut=o.prev,dt=o.strstart+MAX_MATCH;let Ut=rt[j+et-1],st=rt[j+et];o.prev_length>=o.good_match&&(_>>=2),tt>o.lookahead&&(tt=o.lookahead);do if($=s,!(rt[$+et]!==st||rt[$+et-1]!==Ut||rt[$]!==rt[j]||rt[++$]!==rt[j+1])){j+=2,$++;do;while(rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&jet){if(o.match_start=s,et=_e,_e>=tt)break;Ut=rt[j+et-1],st=rt[j+et]}}while((s=ut[s&ot])>nt&&--_!==0);return et<=o.lookahead?et:o.lookahead},fill_window=o=>{const s=o.w_size;let _,j,$;do{if(j=o.window_size-o.lookahead-o.strstart,o.strstart>=s+(s-MIN_LOOKAHEAD)&&(o.window.set(o.window.subarray(s,s+s-j),0),o.match_start-=s,o.strstart-=s,o.block_start-=s,o.insert>o.strstart&&(o.insert=o.strstart),slide_hash(o),j+=s),o.strm.avail_in===0)break;if(_=read_buf(o.strm,o.window,o.strstart+o.lookahead,j),o.lookahead+=_,o.lookahead+o.insert>=MIN_MATCH)for($=o.strstart-o.insert,o.ins_h=o.window[$],o.ins_h=HASH(o,o.ins_h,o.window[$+1]);o.insert&&(o.ins_h=HASH(o,o.ins_h,o.window[$+MIN_MATCH-1]),o.prev[$&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=$,$++,o.insert--,!(o.lookahead+o.insert{let _=o.pending_buf_size-5>o.w_size?o.w_size:o.pending_buf_size-5,j,$,_e,et=0,tt=o.strm.avail_in;do{if(j=65535,_e=o.bi_valid+42>>3,o.strm.avail_out<_e||(_e=o.strm.avail_out-_e,$=o.strstart-o.block_start,j>$+o.strm.avail_in&&(j=$+o.strm.avail_in),j>_e&&(j=_e),j<_&&(j===0&&s!==Z_FINISH$3||s===Z_NO_FLUSH$2||j!==$+o.strm.avail_in)))break;et=s===Z_FINISH$3&&j===$+o.strm.avail_in?1:0,_tr_stored_block(o,0,0,et),o.pending_buf[o.pending-4]=j,o.pending_buf[o.pending-3]=j>>8,o.pending_buf[o.pending-2]=~j,o.pending_buf[o.pending-1]=~j>>8,flush_pending(o.strm),$&&($>j&&($=j),o.strm.output.set(o.window.subarray(o.block_start,o.block_start+$),o.strm.next_out),o.strm.next_out+=$,o.strm.avail_out-=$,o.strm.total_out+=$,o.block_start+=$,j-=$),j&&(read_buf(o.strm,o.strm.output,o.strm.next_out,j),o.strm.next_out+=j,o.strm.avail_out-=j,o.strm.total_out+=j)}while(et===0);return tt-=o.strm.avail_in,tt&&(tt>=o.w_size?(o.matches=2,o.window.set(o.strm.input.subarray(o.strm.next_in-o.w_size,o.strm.next_in),0),o.strstart=o.w_size,o.insert=o.strstart):(o.window_size-o.strstart<=tt&&(o.strstart-=o.w_size,o.window.set(o.window.subarray(o.w_size,o.w_size+o.strstart),0),o.matches<2&&o.matches++,o.insert>o.strstart&&(o.insert=o.strstart)),o.window.set(o.strm.input.subarray(o.strm.next_in-tt,o.strm.next_in),o.strstart),o.strstart+=tt,o.insert+=tt>o.w_size-o.insert?o.w_size-o.insert:tt),o.block_start=o.strstart),o.high_water_e&&o.block_start>=o.w_size&&(o.block_start-=o.w_size,o.strstart-=o.w_size,o.window.set(o.window.subarray(o.w_size,o.w_size+o.strstart),0),o.matches<2&&o.matches++,_e+=o.w_size,o.insert>o.strstart&&(o.insert=o.strstart)),_e>o.strm.avail_in&&(_e=o.strm.avail_in),_e&&(read_buf(o.strm,o.window,o.strstart,_e),o.strstart+=_e,o.insert+=_e>o.w_size-o.insert?o.w_size-o.insert:_e),o.high_water>3,_e=o.pending_buf_size-_e>65535?65535:o.pending_buf_size-_e,_=_e>o.w_size?o.w_size:_e,$=o.strstart-o.block_start,($>=_||($||s===Z_FINISH$3)&&s!==Z_NO_FLUSH$2&&o.strm.avail_in===0&&$<=_e)&&(j=$>_e?_e:$,et=s===Z_FINISH$3&&o.strm.avail_in===0&&j===$?1:0,_tr_stored_block(o,o.block_start,j,et),o.block_start+=j,flush_pending(o.strm)),et?BS_FINISH_STARTED:BS_NEED_MORE)},deflate_fast=(o,s)=>{let _,j;for(;;){if(o.lookahead=MIN_MATCH&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart),_!==0&&o.strstart-_<=o.w_size-MIN_LOOKAHEAD&&(o.match_length=longest_match(o,_)),o.match_length>=MIN_MATCH)if(j=_tr_tally(o,o.strstart-o.match_start,o.match_length-MIN_MATCH),o.lookahead-=o.match_length,o.match_length<=o.max_lazy_match&&o.lookahead>=MIN_MATCH){o.match_length--;do o.strstart++,o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart;while(--o.match_length!==0);o.strstart++}else o.strstart+=o.match_length,o.match_length=0,o.ins_h=o.window[o.strstart],o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+1]);else j=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++;if(j&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=o.strstart{let _,j,$;for(;;){if(o.lookahead=MIN_MATCH&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart),o.prev_length=o.match_length,o.prev_match=o.match_start,o.match_length=MIN_MATCH-1,_!==0&&o.prev_length4096)&&(o.match_length=MIN_MATCH-1)),o.prev_length>=MIN_MATCH&&o.match_length<=o.prev_length){$=o.strstart+o.lookahead-MIN_MATCH,j=_tr_tally(o,o.strstart-1-o.prev_match,o.prev_length-MIN_MATCH),o.lookahead-=o.prev_length-1,o.prev_length-=2;do++o.strstart<=$&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart);while(--o.prev_length!==0);if(o.match_available=0,o.match_length=MIN_MATCH-1,o.strstart++,j&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}else if(o.match_available){if(j=_tr_tally(o,0,o.window[o.strstart-1]),j&&flush_block_only(o,!1),o.strstart++,o.lookahead--,o.strm.avail_out===0)return BS_NEED_MORE}else o.match_available=1,o.strstart++,o.lookahead--}return o.match_available&&(j=_tr_tally(o,0,o.window[o.strstart-1]),o.match_available=0),o.insert=o.strstart{let _,j,$,_e;const et=o.window;for(;;){if(o.lookahead<=MAX_MATCH){if(fill_window(o),o.lookahead<=MAX_MATCH&&s===Z_NO_FLUSH$2)return BS_NEED_MORE;if(o.lookahead===0)break}if(o.match_length=0,o.lookahead>=MIN_MATCH&&o.strstart>0&&($=o.strstart-1,j=et[$],j===et[++$]&&j===et[++$]&&j===et[++$])){_e=o.strstart+MAX_MATCH;do;while(j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&$<_e);o.match_length=MAX_MATCH-(_e-$),o.match_length>o.lookahead&&(o.match_length=o.lookahead)}if(o.match_length>=MIN_MATCH?(_=_tr_tally(o,1,o.match_length-MIN_MATCH),o.lookahead-=o.match_length,o.strstart+=o.match_length,o.match_length=0):(_=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++),_&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=0,s===Z_FINISH$3?(flush_block_only(o,!0),o.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):o.sym_next&&(flush_block_only(o,!1),o.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_huff=(o,s)=>{let _;for(;;){if(o.lookahead===0&&(fill_window(o),o.lookahead===0)){if(s===Z_NO_FLUSH$2)return BS_NEED_MORE;break}if(o.match_length=0,_=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++,_&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=0,s===Z_FINISH$3?(flush_block_only(o,!0),o.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):o.sym_next&&(flush_block_only(o,!1),o.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE};function Config$1(o,s,_,j,$){this.good_length=o,this.max_lazy=s,this.nice_length=_,this.max_chain=j,this.func=$}const configuration_table=[new Config$1(0,0,0,0,deflate_stored),new Config$1(4,4,8,4,deflate_fast),new Config$1(4,5,16,8,deflate_fast),new Config$1(4,6,32,32,deflate_fast),new Config$1(4,4,16,16,deflate_slow),new Config$1(8,16,32,32,deflate_slow),new Config$1(8,16,128,128,deflate_slow),new Config$1(8,32,128,256,deflate_slow),new Config$1(32,128,258,1024,deflate_slow),new Config$1(32,258,258,4096,deflate_slow)],lm_init=o=>{o.window_size=2*o.w_size,zero(o.head),o.max_lazy_match=configuration_table[o.level].max_lazy,o.good_match=configuration_table[o.level].good_length,o.nice_match=configuration_table[o.level].nice_length,o.max_chain_length=configuration_table[o.level].max_chain,o.strstart=0,o.block_start=0,o.lookahead=0,o.insert=0,o.match_length=o.prev_length=MIN_MATCH-1,o.match_available=0,o.ins_h=0};function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HEAP_SIZE*2),this.dyn_dtree=new Uint16Array((2*D_CODES+1)*2),this.bl_tree=new Uint16Array((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(MAX_BITS+1),this.heap=new Uint16Array(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*L_CODES+1),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=o=>{if(!o)return 1;const s=o.state;return!s||s.strm!==o||s.status!==INIT_STATE&&s.status!==GZIP_STATE&&s.status!==EXTRA_STATE&&s.status!==NAME_STATE&&s.status!==COMMENT_STATE&&s.status!==HCRC_STATE&&s.status!==BUSY_STATE&&s.status!==FINISH_STATE?1:0},deflateResetKeep=o=>{if(deflateStateCheck(o))return err(o,Z_STREAM_ERROR$2);o.total_in=o.total_out=0,o.data_type=Z_UNKNOWN;const s=o.state;return s.pending=0,s.pending_out=0,s.wrap<0&&(s.wrap=-s.wrap),s.status=s.wrap===2?GZIP_STATE:s.wrap?INIT_STATE:BUSY_STATE,o.adler=s.wrap===2?0:1,s.last_flush=-2,_tr_init(s),Z_OK$3},deflateReset=o=>{const s=deflateResetKeep(o);return s===Z_OK$3&&lm_init(o.state),s},deflateSetHeader=(o,s)=>deflateStateCheck(o)||o.state.wrap!==2?Z_STREAM_ERROR$2:(o.state.gzhead=s,Z_OK$3),deflateInit2=(o,s,_,j,$,_e)=>{if(!o)return Z_STREAM_ERROR$2;let et=1;if(s===Z_DEFAULT_COMPRESSION$1&&(s=6),j<0?(et=0,j=-j):j>15&&(et=2,j-=16),$<1||$>MAX_MEM_LEVEL||_!==Z_DEFLATED$2||j<8||j>15||s<0||s>9||_e<0||_e>Z_FIXED||j===8&&et!==1)return err(o,Z_STREAM_ERROR$2);j===8&&(j=9);const tt=new DeflateState;return o.state=tt,tt.strm=o,tt.status=INIT_STATE,tt.wrap=et,tt.gzhead=null,tt.w_bits=j,tt.w_size=1<deflateInit2(o,s,Z_DEFLATED$2,MAX_WBITS$1,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY$1),deflate$2=(o,s)=>{if(deflateStateCheck(o)||s>Z_BLOCK$1||s<0)return o?err(o,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const _=o.state;if(!o.output||o.avail_in!==0&&!o.input||_.status===FINISH_STATE&&s!==Z_FINISH$3)return err(o,o.avail_out===0?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const j=_.last_flush;if(_.last_flush=s,_.pending!==0){if(flush_pending(o),o.avail_out===0)return _.last_flush=-1,Z_OK$3}else if(o.avail_in===0&&rank(s)<=rank(j)&&s!==Z_FINISH$3)return err(o,Z_BUF_ERROR$1);if(_.status===FINISH_STATE&&o.avail_in!==0)return err(o,Z_BUF_ERROR$1);if(_.status===INIT_STATE&&_.wrap===0&&(_.status=BUSY_STATE),_.status===INIT_STATE){let $=Z_DEFLATED$2+(_.w_bits-8<<4)<<8,_e=-1;if(_.strategy>=Z_HUFFMAN_ONLY||_.level<2?_e=0:_.level<6?_e=1:_.level===6?_e=2:_e=3,$|=_e<<6,_.strstart!==0&&($|=PRESET_DICT),$+=31-$%31,putShortMSB(_,$),_.strstart!==0&&(putShortMSB(_,o.adler>>>16),putShortMSB(_,o.adler&65535)),o.adler=1,_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(_.status===GZIP_STATE){if(o.adler=0,put_byte(_,31),put_byte(_,139),put_byte(_,8),_.gzhead)put_byte(_,(_.gzhead.text?1:0)+(_.gzhead.hcrc?2:0)+(_.gzhead.extra?4:0)+(_.gzhead.name?8:0)+(_.gzhead.comment?16:0)),put_byte(_,_.gzhead.time&255),put_byte(_,_.gzhead.time>>8&255),put_byte(_,_.gzhead.time>>16&255),put_byte(_,_.gzhead.time>>24&255),put_byte(_,_.level===9?2:_.strategy>=Z_HUFFMAN_ONLY||_.level<2?4:0),put_byte(_,_.gzhead.os&255),_.gzhead.extra&&_.gzhead.extra.length&&(put_byte(_,_.gzhead.extra.length&255),put_byte(_,_.gzhead.extra.length>>8&255)),_.gzhead.hcrc&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending,0)),_.gzindex=0,_.status=EXTRA_STATE;else if(put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,_.level===9?2:_.strategy>=Z_HUFFMAN_ONLY||_.level<2?4:0),put_byte(_,OS_CODE),_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(_.status===EXTRA_STATE){if(_.gzhead.extra){let $=_.pending,_e=(_.gzhead.extra.length&65535)-_.gzindex;for(;_.pending+_e>_.pending_buf_size;){let tt=_.pending_buf_size-_.pending;if(_.pending_buf.set(_.gzhead.extra.subarray(_.gzindex,_.gzindex+tt),_.pending),_.pending=_.pending_buf_size,_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex+=tt,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0,_e-=tt}let et=new Uint8Array(_.gzhead.extra);_.pending_buf.set(et.subarray(_.gzindex,_.gzindex+_e),_.pending),_.pending+=_e,_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex=0}_.status=NAME_STATE}if(_.status===NAME_STATE){if(_.gzhead.name){let $=_.pending,_e;do{if(_.pending===_.pending_buf_size){if(_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0}_.gzindex<_.gzhead.name.length?_e=_.gzhead.name.charCodeAt(_.gzindex++)&255:_e=0,put_byte(_,_e)}while(_e!==0);_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex=0}_.status=COMMENT_STATE}if(_.status===COMMENT_STATE){if(_.gzhead.comment){let $=_.pending,_e;do{if(_.pending===_.pending_buf_size){if(_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0}_.gzindex<_.gzhead.comment.length?_e=_.gzhead.comment.charCodeAt(_.gzindex++)&255:_e=0,put_byte(_,_e)}while(_e!==0);_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$))}_.status=HCRC_STATE}if(_.status===HCRC_STATE){if(_.gzhead.hcrc){if(_.pending+2>_.pending_buf_size&&(flush_pending(o),_.pending!==0))return _.last_flush=-1,Z_OK$3;put_byte(_,o.adler&255),put_byte(_,o.adler>>8&255),o.adler=0}if(_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(o.avail_in!==0||_.lookahead!==0||s!==Z_NO_FLUSH$2&&_.status!==FINISH_STATE){let $=_.level===0?deflate_stored(_,s):_.strategy===Z_HUFFMAN_ONLY?deflate_huff(_,s):_.strategy===Z_RLE?deflate_rle(_,s):configuration_table[_.level].func(_,s);if(($===BS_FINISH_STARTED||$===BS_FINISH_DONE)&&(_.status=FINISH_STATE),$===BS_NEED_MORE||$===BS_FINISH_STARTED)return o.avail_out===0&&(_.last_flush=-1),Z_OK$3;if($===BS_BLOCK_DONE&&(s===Z_PARTIAL_FLUSH?_tr_align(_):s!==Z_BLOCK$1&&(_tr_stored_block(_,0,0,!1),s===Z_FULL_FLUSH$1&&(zero(_.head),_.lookahead===0&&(_.strstart=0,_.block_start=0,_.insert=0))),flush_pending(o),o.avail_out===0))return _.last_flush=-1,Z_OK$3}return s!==Z_FINISH$3?Z_OK$3:_.wrap<=0?Z_STREAM_END$3:(_.wrap===2?(put_byte(_,o.adler&255),put_byte(_,o.adler>>8&255),put_byte(_,o.adler>>16&255),put_byte(_,o.adler>>24&255),put_byte(_,o.total_in&255),put_byte(_,o.total_in>>8&255),put_byte(_,o.total_in>>16&255),put_byte(_,o.total_in>>24&255)):(putShortMSB(_,o.adler>>>16),putShortMSB(_,o.adler&65535)),flush_pending(o),_.wrap>0&&(_.wrap=-_.wrap),_.pending!==0?Z_OK$3:Z_STREAM_END$3)},deflateEnd=o=>{if(deflateStateCheck(o))return Z_STREAM_ERROR$2;const s=o.state.status;return o.state=null,s===BUSY_STATE?err(o,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary=(o,s)=>{let _=s.length;if(deflateStateCheck(o))return Z_STREAM_ERROR$2;const j=o.state,$=j.wrap;if($===2||$===1&&j.status!==INIT_STATE||j.lookahead)return Z_STREAM_ERROR$2;if($===1&&(o.adler=adler32_1(o.adler,s,_,0)),j.wrap=0,_>=j.w_size){$===0&&(zero(j.head),j.strstart=0,j.block_start=0,j.insert=0);let nt=new Uint8Array(j.w_size);nt.set(s.subarray(_-j.w_size,_),0),s=nt,_=j.w_size}const _e=o.avail_in,et=o.next_in,tt=o.input;for(o.avail_in=_,o.next_in=0,o.input=s,fill_window(j);j.lookahead>=MIN_MATCH;){let nt=j.strstart,rt=j.lookahead-(MIN_MATCH-1);do j.ins_h=HASH(j,j.ins_h,j.window[nt+MIN_MATCH-1]),j.prev[nt&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=nt,nt++;while(--rt);j.strstart=nt,j.lookahead=MIN_MATCH-1,fill_window(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=MIN_MATCH-1,j.match_available=0,o.next_in=et,o.input=tt,o.avail_in=_e,j.wrap=$,Z_OK$3};var deflateInit_1=deflateInit,deflateInit2_1=deflateInit2,deflateReset_1=deflateReset,deflateResetKeep_1=deflateResetKeep,deflateSetHeader_1=deflateSetHeader,deflate_2$1=deflate$2,deflateEnd_1=deflateEnd,deflateSetDictionary_1=deflateSetDictionary,deflateInfo="pako deflate (from Nodeca project)",deflate_1$2={deflateInit:deflateInit_1,deflateInit2:deflateInit2_1,deflateReset:deflateReset_1,deflateResetKeep:deflateResetKeep_1,deflateSetHeader:deflateSetHeader_1,deflate:deflate_2$1,deflateEnd:deflateEnd_1,deflateSetDictionary:deflateSetDictionary_1,deflateInfo};const _has=(o,s)=>Object.prototype.hasOwnProperty.call(o,s);var assign=function(o){const s=Array.prototype.slice.call(arguments,1);for(;s.length;){const _=s.shift();if(_){if(typeof _!="object")throw new TypeError(_+"must be non-object");for(const j in _)_has(_,j)&&(o[j]=_[j])}}return o},flattenChunks=o=>{let s=0;for(let j=0,$=o.length;j<$;j++)s+=o[j].length;const _=new Uint8Array(s);for(let j=0,$=0,_e=o.length;j<_e;j++){let et=o[j];_.set(et,$),$+=et.length}return _},common={assign,flattenChunks};let STR_APPLY_UIA_OK=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{STR_APPLY_UIA_OK=!1}const _utf8len=new Uint8Array(256);for(let o=0;o<256;o++)_utf8len[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;_utf8len[254]=_utf8len[254]=1;var string2buf=o=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(o);let s,_,j,$,_e,et=o.length,tt=0;for($=0;$>>6,s[_e++]=128|_&63):_<65536?(s[_e++]=224|_>>>12,s[_e++]=128|_>>>6&63,s[_e++]=128|_&63):(s[_e++]=240|_>>>18,s[_e++]=128|_>>>12&63,s[_e++]=128|_>>>6&63,s[_e++]=128|_&63);return s};const buf2binstring=(o,s)=>{if(s<65534&&o.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,o.length===s?o:o.subarray(0,s));let _="";for(let j=0;j{const _=s||o.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(o.subarray(0,s));let j,$;const _e=new Array(_*2);for($=0,j=0;j<_;){let et=o[j++];if(et<128){_e[$++]=et;continue}let tt=_utf8len[et];if(tt>4){_e[$++]=65533,j+=tt-1;continue}for(et&=tt===2?31:tt===3?15:7;tt>1&&j<_;)et=et<<6|o[j++]&63,tt--;if(tt>1){_e[$++]=65533;continue}et<65536?_e[$++]=et:(et-=65536,_e[$++]=55296|et>>10&1023,_e[$++]=56320|et&1023)}return buf2binstring(_e,$)},utf8border=(o,s)=>{s=s||o.length,s>o.length&&(s=o.length);let _=s-1;for(;_>=0&&(o[_]&192)===128;)_--;return _<0||_===0?s:_+_utf8len[o[_]]>s?_:s},strings={string2buf,buf2string,utf8border};function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zstream=ZStream;const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH,Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(o){this.options=common.assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},o||{});let s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let _=deflate_1$2.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(_!==Z_OK$2)throw new Error(messages[_]);if(s.header&&deflate_1$2.deflateSetHeader(this.strm,s.header),s.dictionary){let j;if(typeof s.dictionary=="string"?j=strings.string2buf(s.dictionary):toString$1.call(s.dictionary)==="[object ArrayBuffer]"?j=new Uint8Array(s.dictionary):j=s.dictionary,_=deflate_1$2.deflateSetDictionary(this.strm,j),_!==Z_OK$2)throw new Error(messages[_]);this._dict_set=!0}}Deflate$1.prototype.push=function(o,s){const _=this.strm,j=this.options.chunkSize;let $,_e;if(this.ended)return!1;for(s===~~s?_e=s:_e=s===!0?Z_FINISH$2:Z_NO_FLUSH$1,typeof o=="string"?_.input=strings.string2buf(o):toString$1.call(o)==="[object ArrayBuffer]"?_.input=new Uint8Array(o):_.input=o,_.next_in=0,_.avail_in=_.input.length;;){if(_.avail_out===0&&(_.output=new Uint8Array(j),_.next_out=0,_.avail_out=j),(_e===Z_SYNC_FLUSH||_e===Z_FULL_FLUSH)&&_.avail_out<=6){this.onData(_.output.subarray(0,_.next_out)),_.avail_out=0;continue}if($=deflate_1$2.deflate(_,_e),$===Z_STREAM_END$2)return _.next_out>0&&this.onData(_.output.subarray(0,_.next_out)),$=deflate_1$2.deflateEnd(this.strm),this.onEnd($),this.ended=!0,$===Z_OK$2;if(_.avail_out===0){this.onData(_.output);continue}if(_e>0&&_.next_out>0){this.onData(_.output.subarray(0,_.next_out)),_.avail_out=0;continue}if(_.avail_in===0)break}return!0};Deflate$1.prototype.onData=function(o){this.chunks.push(o)};Deflate$1.prototype.onEnd=function(o){o===Z_OK$2&&(this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=o,this.msg=this.strm.msg};function deflate$1(o,s){const _=new Deflate$1(s);if(_.push(o,!0),_.err)throw _.msg||messages[_.err];return _.result}function deflateRaw$1(o,s){return s=s||{},s.raw=!0,deflate$1(o,s)}function gzip$1(o,s){return s=s||{},s.gzip=!0,deflate$1(o,s)}var Deflate_1$1=Deflate$1,deflate_2=deflate$1,deflateRaw_1$1=deflateRaw$1,gzip_1$1=gzip$1,constants$1=constants$2,deflate_1$1={Deflate:Deflate_1$1,deflate:deflate_2,deflateRaw:deflateRaw_1$1,gzip:gzip_1$1,constants:constants$1};const{Deflate,deflate,deflateRaw,gzip}=deflate_1$1;var deflate_1=deflate,fromByteArray_1=fromByteArray,lookup=[],code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[o&63]}function encodeChunk(o,s,_){for(var j,$=[],_e=s;_e<_;_e+=3)j=(o[_e]<<16&16711680)+(o[_e+1]<<8&65280)+(o[_e+2]&255),$.push(tripletToBase64(j));return $.join("")}function fromByteArray(o){for(var s,_=o.length,j=_%3,$=[],_e=16383,et=0,tt=_-j;ettt?tt:et+_e));return j===1?(s=o[_-1],$.push(lookup[s>>2]+lookup[s<<4&63]+"==")):j===2&&(s=(o[_-2]<<8)+o[_-1],$.push(lookup[s>>10]+lookup[s>>4&63]+lookup[s<<2&63]+"=")),$.join("")}const encoder=new TextEncoder;new TextDecoder;function serializeHash(o){const s=JSON.stringify(o),_=encoder.encode(s),j=deflate_1(_);return fromByteArray_1(j)}async function getViews(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/views`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function createShareLink(o,s){if(!Authentication.token)throw new Error("Not authenticated");const _=(await getViews()).filter(et=>et.name===s);if(_.length===0)return console.warn("View does not exist or it is misspell"),null;const j=await fetch(`${FORMANT_API_URL}/v1/admin/shares`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),$=FORMANT_API_URL.replace("api","app"),{code:_e}=await j.json();return`${$}/shares/${_e}#${serializeHash({viewId:_[0].id})}`}async function disableDevice(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}/disable`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}const aggregateByDateFunctions={day:{interval:eachDayOfInterval,start:startOfDay,end:endOfDay,sub:subDays,get:getDay},week:{interval:eachWeekOfInterval,start:startOfWeek,end:endOfWeek,sub:subWeeks,get:getWeek},month:{interval:eachMonthOfInterval,start:startOfMonth,end:endOfMonth,sub:subMonths,get:getMonth},year:{interval:eachYearOfInterval,start:startOfYear,end:endOfYear,sub:subYears,get:getYear},hour:{interval:eachHourOfInterval,start:startOfHour,end:endOfHour,sub:subHours,get:getHours},minute:{interval:eachMinuteOfInterval,start:startOfMinute,end:endOfMinute,sub:subMinutes,get:getMinutes},quarter:{interval:eachQuarterOfInterval,start:startOfQuarter,end:endOfQuarter,sub:subQuarters,get:getQuarter}},formatTimeFrameText=(o,s)=>o.split("/")[0]+"/"+o.split("/")[1]+"–"+s.split("/")[0]+"/"+s.split("/")[1];async function queryEvents(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/events/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function eventsCounter(o,s,_,j,$){const _e=aggregateByDateFunctions[s];return await Promise.all(Array(_).fill(0).map(async(et,tt)=>{const nt=new Date(j),rt=_e.sub(_e.start(nt),_-tt-1),ot=_e.sub(_e.end(nt),_-tt-1),ut=formatTimeFrameText(rt.toLocaleDateString(),ot.toLocaleDateString()),dt=await queryEvents({...$,eventTypes:o,start:new Date(rt).toISOString(),end:new Date(ot).toISOString()});return{date:ut,events:dt}}))}async function getAnnotationCount(o,s){return(await queryEvents({...o,eventTypes:["annotation"]})).filter(_=>!!_.tags&&Object.keys(_.tags).includes(s)).reduce((_,j)=>{const $=j.tags[s];return $ in _?(_[$]+=1,_):(_[$]=1,_)},{})}async function getAnnotationCountByIntervals(o,s,_){const{end:j,start:$}=o,_e=aggregateByDateFunctions[_].interval({start:new Date($),end:new Date(j)}),et=_e.map((nt,rt)=>{const ot=new Date(nt).toISOString(),ut=rt===_e.length-1?new Date(Date.now()).toISOString():new Date(_e[rt+1]);return getAnnotationCount({...o,start:ot,end:ut},s)}),tt=await Promise.all(et);return _e.map((nt,rt)=>({date:new Date(nt).toISOString(),annotations:tt[rt]}))}async function getDevicesData(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}var dist={exports:{}};/*! For license information please see index.js.LICENSE.txt */(function(module,exports){(function(o,s){module.exports=s()})(window,function(){return function(o){function s(rt){for(var ot,ut,dt=rt[0],Ut=rt[1],st=0,ct=[];st1?"s":"")+" required, but only "+Ht.length+" present")}function rt(Kt){if(Kt===null||Kt===!0||Kt===!1)return NaN;var Ht=Number(Kt);return isNaN(Ht)?Ht:Ht<0?Math.ceil(Ht):Math.floor(Ht)}var ot={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},ut=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,dt=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Ut=/^([+-])(\d{2})(?::?(\d{2}))?$/;function st(Kt){var Ht,on={},sn=Kt.split(ot.dateTimeDelimiter);if(sn.length>2)return on;if(/:/.test(sn[0])?Ht=sn[0]:(on.date=sn[0],Ht=sn[1],ot.timeZoneDelimiter.test(on.date)&&(on.date=Kt.split(ot.timeZoneDelimiter)[0],Ht=Kt.substr(on.date.length,Kt.length))),Ht){var gn=ot.timezone.exec(Ht);gn?(on.time=Ht.replace(gn[1],""),on.timezone=gn[1]):on.time=Ht}return on}function ct(Kt,Ht){var on=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+Ht)+"})|(\\d{2}|[+-]\\d{"+(2+Ht)+"})$)"),sn=Kt.match(on);if(!sn)return{year:NaN,restDateString:""};var gn=sn[1]?parseInt(sn[1]):null,Cn=sn[2]?parseInt(sn[2]):null;return{year:Cn===null?gn:100*Cn,restDateString:Kt.slice((sn[1]||sn[2]).length)}}function pt(Kt,Ht){if(Ht===null)return new Date(NaN);var on=Kt.match(ut);if(!on)return new Date(NaN);var sn=!!on[4],gn=Bt(on[1]),Cn=Bt(on[2])-1,In=Bt(on[3]),Mn=Bt(on[4]),rr=Bt(on[5])-1;if(sn)return function(Dn,Hn,Fr){return Hn>=1&&Hn<=53&&Fr>=0&&Fr<=6}(0,Mn,rr)?function(Dn,Hn,Fr){var hr=new Date(0);hr.setUTCFullYear(Dn,0,4);var Gr=hr.getUTCDay()||7,Co=7*(Hn-1)+Fr+1-Gr;return hr.setUTCDate(hr.getUTCDate()+Co),hr}(Ht,Mn,rr):new Date(NaN);var An=new Date(0);return function(Dn,Hn,Fr){return Hn>=0&&Hn<=11&&Fr>=1&&Fr<=(Ft[Hn]||(yt(Dn)?29:28))}(Ht,Cn,In)&&function(Dn,Hn){return Hn>=1&&Hn<=(yt(Dn)?366:365)}(Ht,gn)?(An.setUTCFullYear(Ht,Cn,Math.max(gn,In)),An):new Date(NaN)}function Bt(Kt){return Kt?parseInt(Kt):1}function Qt(Kt){var Ht=Kt.match(dt);if(!Ht)return NaN;var on=gt(Ht[1]),sn=gt(Ht[2]),gn=gt(Ht[3]);return function(Cn,In,Mn){return Cn===24?In===0&&Mn===0:Mn>=0&&Mn<60&&In>=0&&In<60&&Cn>=0&&Cn<25}(on,sn,gn)?36e5*on+6e4*sn+1e3*gn:NaN}function gt(Kt){return Kt&&parseFloat(Kt.replace(",","."))||0}function ft(Kt){if(Kt==="Z")return 0;var Ht=Kt.match(Ut);if(!Ht)return 0;var on=Ht[1]==="+"?-1:1,sn=parseInt(Ht[2]),gn=Ht[3]&&parseInt(Ht[3])||0;return function(Cn,In){return In>=0&&In<=59}(0,gn)?on*(36e5*sn+6e4*gn):NaN}var Ft=[31,null,31,30,31,30,31,31,30,31,30,31];function yt(Kt){return Kt%400==0||Kt%4==0&&Kt%100!=0}var Ct=_(40);function xt(Kt){return nt(1,arguments),Kt instanceof Date||Object(Ct.a)(Kt)==="object"&&Object.prototype.toString.call(Kt)==="[object Date]"}function ht(Kt){nt(1,arguments);var Ht=Object.prototype.toString.call(Kt);return Kt instanceof Date||Object(Ct.a)(Kt)==="object"&&Ht==="[object Date]"?new Date(Kt.getTime()):typeof Kt=="number"||Ht==="[object Number]"?new Date(Kt):(typeof Kt!="string"&&Ht!=="[object String]"||typeof console>"u"||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function mt(Kt){const Ht=function(on,sn){var gn;nt(1,arguments);var Cn=rt((gn=sn==null?void 0:sn.additionalDigits)!==null&&gn!==void 0?gn:2);if(Cn!==2&&Cn!==1&&Cn!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(typeof on!="string"&&Object.prototype.toString.call(on)!=="[object String]")return new Date(NaN);var In,Mn=st(on);if(Mn.date){var rr=ct(Mn.date,Cn);In=pt(rr.restDateString,rr.year)}if(!In||isNaN(In.getTime()))return new Date(NaN);var An,Dn=In.getTime(),Hn=0;if(Mn.time&&(Hn=Qt(Mn.time),isNaN(Hn)))return new Date(NaN);if(!Mn.timezone){var Fr=new Date(Dn+Hn),hr=new Date(0);return hr.setFullYear(Fr.getUTCFullYear(),Fr.getUTCMonth(),Fr.getUTCDate()),hr.setHours(Fr.getUTCHours(),Fr.getUTCMinutes(),Fr.getUTCSeconds(),Fr.getUTCMilliseconds()),hr}return An=ft(Mn.timezone),isNaN(An)?new Date(NaN):new Date(Dn+Hn+An)}(Kt);if(!function(on){if(nt(1,arguments),!xt(on)&&typeof on!="number")return!1;var sn=ht(on);return!isNaN(Number(sn))}(Ht))throw new Error(`Invalid ISO 8601 date string (${Kt})`);return Ht}const It=Math.pow(2,20),vt=It;var Tt=_(3),Ot=_(28);function _t(Kt){return et()(Kt,{cycles:!0})}var Wt=function(Kt,Ht){var on={};for(var sn in Kt)Object.prototype.hasOwnProperty.call(Kt,sn)&&Ht.indexOf(sn)<0&&(on[sn]=Kt[sn]);if(Kt!=null&&typeof Object.getOwnPropertySymbols=="function"){var gn=0;for(sn=Object.getOwnPropertySymbols(Kt);gnon?Object(Ot.a)(rr):rr;if(!Kt.stack)return{message:_t(sn(Kt))};const{name:gn,message:Cn,stack:In}=Kt,Mn=Wt(Kt,["name","message","stack"]);return{name:gn,message:Cn!==void 0?Cn:_t(sn(Kt)),stack:In,meta:Mn&&Object.keys(Mn).length===0?void 0:sn(Mn)}}function Jt(Kt,Ht={}){const{message:on,stack:sn,meta:gn}=bt(Kt,Ht);return`${sn||on||""}${gn&&Object.keys(gn).length>0?" -- "+_t(gn):""}`}var Zt=_(236);const Vt=Object(Zt.a)();var jt=_(14),zt=_.n(jt),$t=function(Kt,Ht,on,sn){return new(on||(on=Promise))(function(gn,Cn){function In(An){try{rr(sn.next(An))}catch(Dn){Cn(Dn)}}function Mn(An){try{rr(sn.throw(An))}catch(Dn){Cn(Dn)}}function rr(An){var Dn;An.done?gn(An.value):(Dn=An.value,Dn instanceof on?Dn:new on(function(Hn){Hn(Dn)})).then(In,Mn)}rr((sn=sn.apply(Kt,Ht||[])).next())})},nn=function(Kt,Ht){var on={};for(var sn in Kt)Object.prototype.hasOwnProperty.call(Kt,sn)&&Ht.indexOf(sn)<0&&(on[sn]=Kt[sn]);if(Kt!=null&&typeof Object.getOwnPropertySymbols=="function"){var gn=0;for(sn=Object.getOwnPropertySymbols(Kt);gn{var{timestamp:Ht,level:on,message:sn,error:gn}=Kt,Cn=Dt(Kt,["timestamp","level","message","error"]);const In=Object.assign(Object.assign({timestamp:Ht?mt(Ht).getTime():new Date().getTime(),level:on.toUpperCase(),message:sn},gn?{error:bt(gn)}:{}),{meta:Object.assign(Object.assign({},wt),Cn)});return et()(In,{cycles:!0})}):tt.format.printf(Kt=>{var{timestamp:Ht,level:on,message:sn,error:gn}=Kt,Cn=Dt(Kt,["timestamp","level","message","error"]);let In=`${Ht||new Date().toISOString()} ${on.toUpperCase()}: ${sn} `;return Object.keys(Cn).length>0&&(In+=et()(Cn,{cycles:!0})),gn&&(In+=` -`+Jt(gn)),In}),kt=Object(tt.createLogger)({level:Tt.g});if(kt.add(new tt.transports.Console({format:Et,level:"debug"})),kt.transports.forEach(Kt=>{Kt.silent=!Tt.h}),Tt.e&&kt.add(new rn(Tt.e,wt)),Tt.i){const Kt=$.resolve(j.tmpdir(),`silly-${Tt.a}.log`);kt.debug("Logging silly logs to file",{filename:Kt}),kt.add(new tt.transports.File({filename:Kt,maxsize:1*vt,maxFiles:10,format:tt.format.combine((Pt="silly",Object(tt.format)(Ht=>Ht.level===Pt&&Ht)()),Et),level:"silly"}))}var Pt},function(o,s,_){_.d(s,"a",function(){return $});const j=864e5,$={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:j,week:6048e5,month:2592e6,year:31536e6}},function(o,s){var _,j,$=o.exports={};function _e(){throw new Error("setTimeout has not been defined")}function et(){throw new Error("clearTimeout has not been defined")}function tt(pt){if(_===setTimeout)return setTimeout(pt,0);if((_===_e||!_)&&setTimeout)return _=setTimeout,setTimeout(pt,0);try{return _(pt,0)}catch{try{return _.call(null,pt,0)}catch{return _.call(this,pt,0)}}}(function(){try{_=typeof setTimeout=="function"?setTimeout:_e}catch{_=_e}try{j=typeof clearTimeout=="function"?clearTimeout:et}catch{j=et}})();var nt,rt=[],ot=!1,ut=-1;function dt(){ot&&nt&&(ot=!1,nt.length?rt=nt.concat(rt):ut=-1,rt.length&&Ut())}function Ut(){if(!ot){var pt=tt(dt);ot=!0;for(var Bt=rt.length;Bt;){for(nt=rt,rt=[];++ut1)for(var Qt=1;Qt=tt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+tt().toString(16)+" bytes");return 0|Et}function ct(Et,kt){if(rt.isBuffer(Et))return Et.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(Et)||Et instanceof ArrayBuffer))return Et.byteLength;typeof Et!="string"&&(Et=""+Et);var Pt=Et.length;if(Pt===0)return 0;for(var Kt=!1;;)switch(kt){case"ascii":case"latin1":case"binary":return Pt;case"utf8":case"utf-8":case void 0:return rn(Et).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*Pt;case"hex":return Pt>>>1;case"base64":return Dt(Et).length;default:if(Kt)return rn(Et).length;kt=(""+kt).toLowerCase(),Kt=!0}}function pt(Et,kt,Pt){var Kt=!1;if((kt===void 0||kt<0)&&(kt=0),kt>this.length||((Pt===void 0||Pt>this.length)&&(Pt=this.length),Pt<=0)||(Pt>>>=0)<=(kt>>>=0))return"";for(Et||(Et="utf8");;)switch(Et){case"hex":return Ot(this,kt,Pt);case"utf8":case"utf-8":return It(this,kt,Pt);case"ascii":return vt(this,kt,Pt);case"latin1":case"binary":return Tt(this,kt,Pt);case"base64":return mt(this,kt,Pt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _t(this,kt,Pt);default:if(Kt)throw new TypeError("Unknown encoding: "+Et);Et=(Et+"").toLowerCase(),Kt=!0}}function Bt(Et,kt,Pt){var Kt=Et[kt];Et[kt]=Et[Pt],Et[Pt]=Kt}function Qt(Et,kt,Pt,Kt,Ht){if(Et.length===0)return-1;if(typeof Pt=="string"?(Kt=Pt,Pt=0):Pt>2147483647?Pt=2147483647:Pt<-2147483648&&(Pt=-2147483648),Pt=+Pt,isNaN(Pt)&&(Pt=Ht?0:Et.length-1),Pt<0&&(Pt=Et.length+Pt),Pt>=Et.length){if(Ht)return-1;Pt=Et.length-1}else if(Pt<0){if(!Ht)return-1;Pt=0}if(typeof kt=="string"&&(kt=rt.from(kt,Kt)),rt.isBuffer(kt))return kt.length===0?-1:gt(Et,kt,Pt,Kt,Ht);if(typeof kt=="number")return kt&=255,rt.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?Ht?Uint8Array.prototype.indexOf.call(Et,kt,Pt):Uint8Array.prototype.lastIndexOf.call(Et,kt,Pt):gt(Et,[kt],Pt,Kt,Ht);throw new TypeError("val must be string, number or Buffer")}function gt(Et,kt,Pt,Kt,Ht){var on,sn=1,gn=Et.length,Cn=kt.length;if(Kt!==void 0&&((Kt=String(Kt).toLowerCase())==="ucs2"||Kt==="ucs-2"||Kt==="utf16le"||Kt==="utf-16le")){if(Et.length<2||kt.length<2)return-1;sn=2,gn/=2,Cn/=2,Pt/=2}function In(Dn,Hn){return sn===1?Dn[Hn]:Dn.readUInt16BE(Hn*sn)}if(Ht){var Mn=-1;for(on=Pt;ongn&&(Pt=gn-Cn),on=Pt;on>=0;on--){for(var rr=!0,An=0;AnHt&&(Kt=Ht):Kt=Ht;var on=kt.length;if(on%2!=0)throw new TypeError("Invalid hex string");Kt>on/2&&(Kt=on/2);for(var sn=0;sn>8,Cn=sn%256,In.push(Cn),In.push(gn);return In}(kt,Et.length-Pt),Et,Pt,Kt)}function mt(Et,kt,Pt){return kt===0&&Pt===Et.length?$.fromByteArray(Et):$.fromByteArray(Et.slice(kt,Pt))}function It(Et,kt,Pt){Pt=Math.min(Et.length,Pt);for(var Kt=[],Ht=kt;Ht239?4:In>223?3:In>191?2:1;if(Ht+rr<=Pt)switch(rr){case 1:In<128&&(Mn=In);break;case 2:(192&(on=Et[Ht+1]))==128&&(Cn=(31&In)<<6|63&on)>127&&(Mn=Cn);break;case 3:on=Et[Ht+1],sn=Et[Ht+2],(192&on)==128&&(192&sn)==128&&(Cn=(15&In)<<12|(63&on)<<6|63&sn)>2047&&(Cn<55296||Cn>57343)&&(Mn=Cn);break;case 4:on=Et[Ht+1],sn=Et[Ht+2],gn=Et[Ht+3],(192&on)==128&&(192&sn)==128&&(192&gn)==128&&(Cn=(15&In)<<18|(63&on)<<12|(63&sn)<<6|63&gn)>65535&&Cn<1114112&&(Mn=Cn)}Mn===null?(Mn=65533,rr=1):Mn>65535&&(Mn-=65536,Kt.push(Mn>>>10&1023|55296),Mn=56320|1023&Mn),Kt.push(Mn),Ht+=rr}return function(An){var Dn=An.length;if(Dn<=4096)return String.fromCharCode.apply(String,An);for(var Hn="",Fr=0;Fr0&&(Et=this.toString("hex",0,kt).match(/.{2}/g).join(" "),this.length>kt&&(Et+=" ... ")),""},rt.prototype.compare=function(Et,kt,Pt,Kt,Ht){if(!rt.isBuffer(Et))throw new TypeError("Argument must be a Buffer");if(kt===void 0&&(kt=0),Pt===void 0&&(Pt=Et?Et.length:0),Kt===void 0&&(Kt=0),Ht===void 0&&(Ht=this.length),kt<0||Pt>Et.length||Kt<0||Ht>this.length)throw new RangeError("out of range index");if(Kt>=Ht&&kt>=Pt)return 0;if(Kt>=Ht)return-1;if(kt>=Pt)return 1;if(this===Et)return 0;for(var on=(Ht>>>=0)-(Kt>>>=0),sn=(Pt>>>=0)-(kt>>>=0),gn=Math.min(on,sn),Cn=this.slice(Kt,Ht),In=Et.slice(kt,Pt),Mn=0;MnHt)&&(Pt=Ht),Et.length>0&&(Pt<0||kt<0)||kt>this.length)throw new RangeError("Attempt to write outside buffer bounds");Kt||(Kt="utf8");for(var on=!1;;)switch(Kt){case"hex":return ft(this,Et,kt,Pt);case"utf8":case"utf-8":return Ft(this,Et,kt,Pt);case"ascii":return yt(this,Et,kt,Pt);case"latin1":case"binary":return Ct(this,Et,kt,Pt);case"base64":return xt(this,Et,kt,Pt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ht(this,Et,kt,Pt);default:if(on)throw new TypeError("Unknown encoding: "+Kt);Kt=(""+Kt).toLowerCase(),on=!0}},rt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function vt(Et,kt,Pt){var Kt="";Pt=Math.min(Et.length,Pt);for(var Ht=kt;HtKt)&&(Pt=Kt);for(var Ht="",on=kt;onPt)throw new RangeError("Trying to access beyond buffer length")}function bt(Et,kt,Pt,Kt,Ht,on){if(!rt.isBuffer(Et))throw new TypeError('"buffer" argument must be a Buffer instance');if(kt>Ht||ktEt.length)throw new RangeError("Index out of range")}function Jt(Et,kt,Pt,Kt){kt<0&&(kt=65535+kt+1);for(var Ht=0,on=Math.min(Et.length-Pt,2);Ht>>8*(Kt?Ht:1-Ht)}function Zt(Et,kt,Pt,Kt){kt<0&&(kt=4294967295+kt+1);for(var Ht=0,on=Math.min(Et.length-Pt,4);Ht>>8*(Kt?Ht:3-Ht)&255}function Vt(Et,kt,Pt,Kt,Ht,on){if(Pt+Kt>Et.length)throw new RangeError("Index out of range");if(Pt<0)throw new RangeError("Index out of range")}function jt(Et,kt,Pt,Kt,Ht){return Ht||Vt(Et,0,Pt,4),_e.write(Et,kt,Pt,Kt,23,4),Pt+4}function zt(Et,kt,Pt,Kt,Ht){return Ht||Vt(Et,0,Pt,8),_e.write(Et,kt,Pt,Kt,52,8),Pt+8}rt.prototype.slice=function(Et,kt){var Pt,Kt=this.length;if((Et=~~Et)<0?(Et+=Kt)<0&&(Et=0):Et>Kt&&(Et=Kt),(kt=kt===void 0?Kt:~~kt)<0?(kt+=Kt)<0&&(kt=0):kt>Kt&&(kt=Kt),kt0&&(Ht*=256);)Kt+=this[Et+--kt]*Ht;return Kt},rt.prototype.readUInt8=function(Et,kt){return kt||Wt(Et,1,this.length),this[Et]},rt.prototype.readUInt16LE=function(Et,kt){return kt||Wt(Et,2,this.length),this[Et]|this[Et+1]<<8},rt.prototype.readUInt16BE=function(Et,kt){return kt||Wt(Et,2,this.length),this[Et]<<8|this[Et+1]},rt.prototype.readUInt32LE=function(Et,kt){return kt||Wt(Et,4,this.length),(this[Et]|this[Et+1]<<8|this[Et+2]<<16)+16777216*this[Et+3]},rt.prototype.readUInt32BE=function(Et,kt){return kt||Wt(Et,4,this.length),16777216*this[Et]+(this[Et+1]<<16|this[Et+2]<<8|this[Et+3])},rt.prototype.readIntLE=function(Et,kt,Pt){Et|=0,kt|=0,Pt||Wt(Et,kt,this.length);for(var Kt=this[Et],Ht=1,on=0;++on=(Ht*=128)&&(Kt-=Math.pow(2,8*kt)),Kt},rt.prototype.readIntBE=function(Et,kt,Pt){Et|=0,kt|=0,Pt||Wt(Et,kt,this.length);for(var Kt=kt,Ht=1,on=this[Et+--Kt];Kt>0&&(Ht*=256);)on+=this[Et+--Kt]*Ht;return on>=(Ht*=128)&&(on-=Math.pow(2,8*kt)),on},rt.prototype.readInt8=function(Et,kt){return kt||Wt(Et,1,this.length),128&this[Et]?-1*(255-this[Et]+1):this[Et]},rt.prototype.readInt16LE=function(Et,kt){kt||Wt(Et,2,this.length);var Pt=this[Et]|this[Et+1]<<8;return 32768&Pt?4294901760|Pt:Pt},rt.prototype.readInt16BE=function(Et,kt){kt||Wt(Et,2,this.length);var Pt=this[Et+1]|this[Et]<<8;return 32768&Pt?4294901760|Pt:Pt},rt.prototype.readInt32LE=function(Et,kt){return kt||Wt(Et,4,this.length),this[Et]|this[Et+1]<<8|this[Et+2]<<16|this[Et+3]<<24},rt.prototype.readInt32BE=function(Et,kt){return kt||Wt(Et,4,this.length),this[Et]<<24|this[Et+1]<<16|this[Et+2]<<8|this[Et+3]},rt.prototype.readFloatLE=function(Et,kt){return kt||Wt(Et,4,this.length),_e.read(this,Et,!0,23,4)},rt.prototype.readFloatBE=function(Et,kt){return kt||Wt(Et,4,this.length),_e.read(this,Et,!1,23,4)},rt.prototype.readDoubleLE=function(Et,kt){return kt||Wt(Et,8,this.length),_e.read(this,Et,!0,52,8)},rt.prototype.readDoubleBE=function(Et,kt){return kt||Wt(Et,8,this.length),_e.read(this,Et,!1,52,8)},rt.prototype.writeUIntLE=function(Et,kt,Pt,Kt){Et=+Et,kt|=0,Pt|=0,Kt||bt(this,Et,kt,Pt,Math.pow(2,8*Pt)-1,0);var Ht=1,on=0;for(this[kt]=255&Et;++on=0&&(on*=256);)this[kt+Ht]=Et/on&255;return kt+Pt},rt.prototype.writeUInt8=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,1,255,0),rt.TYPED_ARRAY_SUPPORT||(Et=Math.floor(Et)),this[kt]=255&Et,kt+1},rt.prototype.writeUInt16LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,65535,0),rt.TYPED_ARRAY_SUPPORT?(this[kt]=255&Et,this[kt+1]=Et>>>8):Jt(this,Et,kt,!0),kt+2},rt.prototype.writeUInt16BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,65535,0),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>8,this[kt+1]=255&Et):Jt(this,Et,kt,!1),kt+2},rt.prototype.writeUInt32LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,4294967295,0),rt.TYPED_ARRAY_SUPPORT?(this[kt+3]=Et>>>24,this[kt+2]=Et>>>16,this[kt+1]=Et>>>8,this[kt]=255&Et):Zt(this,Et,kt,!0),kt+4},rt.prototype.writeUInt32BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,4294967295,0),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>24,this[kt+1]=Et>>>16,this[kt+2]=Et>>>8,this[kt+3]=255&Et):Zt(this,Et,kt,!1),kt+4},rt.prototype.writeIntLE=function(Et,kt,Pt,Kt){if(Et=+Et,kt|=0,!Kt){var Ht=Math.pow(2,8*Pt-1);bt(this,Et,kt,Pt,Ht-1,-Ht)}var on=0,sn=1,gn=0;for(this[kt]=255&Et;++on>0)-gn&255;return kt+Pt},rt.prototype.writeIntBE=function(Et,kt,Pt,Kt){if(Et=+Et,kt|=0,!Kt){var Ht=Math.pow(2,8*Pt-1);bt(this,Et,kt,Pt,Ht-1,-Ht)}var on=Pt-1,sn=1,gn=0;for(this[kt+on]=255&Et;--on>=0&&(sn*=256);)Et<0&&gn===0&&this[kt+on+1]!==0&&(gn=1),this[kt+on]=(Et/sn>>0)-gn&255;return kt+Pt},rt.prototype.writeInt8=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,1,127,-128),rt.TYPED_ARRAY_SUPPORT||(Et=Math.floor(Et)),Et<0&&(Et=255+Et+1),this[kt]=255&Et,kt+1},rt.prototype.writeInt16LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,32767,-32768),rt.TYPED_ARRAY_SUPPORT?(this[kt]=255&Et,this[kt+1]=Et>>>8):Jt(this,Et,kt,!0),kt+2},rt.prototype.writeInt16BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,32767,-32768),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>8,this[kt+1]=255&Et):Jt(this,Et,kt,!1),kt+2},rt.prototype.writeInt32LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,2147483647,-2147483648),rt.TYPED_ARRAY_SUPPORT?(this[kt]=255&Et,this[kt+1]=Et>>>8,this[kt+2]=Et>>>16,this[kt+3]=Et>>>24):Zt(this,Et,kt,!0),kt+4},rt.prototype.writeInt32BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,2147483647,-2147483648),Et<0&&(Et=4294967295+Et+1),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>24,this[kt+1]=Et>>>16,this[kt+2]=Et>>>8,this[kt+3]=255&Et):Zt(this,Et,kt,!1),kt+4},rt.prototype.writeFloatLE=function(Et,kt,Pt){return jt(this,Et,kt,!0,Pt)},rt.prototype.writeFloatBE=function(Et,kt,Pt){return jt(this,Et,kt,!1,Pt)},rt.prototype.writeDoubleLE=function(Et,kt,Pt){return zt(this,Et,kt,!0,Pt)},rt.prototype.writeDoubleBE=function(Et,kt,Pt){return zt(this,Et,kt,!1,Pt)},rt.prototype.copy=function(Et,kt,Pt,Kt){if(Pt||(Pt=0),Kt||Kt===0||(Kt=this.length),kt>=Et.length&&(kt=Et.length),kt||(kt=0),Kt>0&&Kt=this.length)throw new RangeError("sourceStart out of bounds");if(Kt<0)throw new RangeError("sourceEnd out of bounds");Kt>this.length&&(Kt=this.length),Et.length-kt=0;--Ht)Et[Ht+kt]=this[Ht+Pt];else if(on<1e3||!rt.TYPED_ARRAY_SUPPORT)for(Ht=0;Ht>>=0,Pt=Pt===void 0?this.length:Pt>>>0,Et||(Et=0),typeof Et=="number")for(on=kt;on55295&&Pt<57344){if(!Ht){if(Pt>56319){(kt-=3)>-1&&on.push(239,191,189);continue}if(sn+1===Kt){(kt-=3)>-1&&on.push(239,191,189);continue}Ht=Pt;continue}if(Pt<56320){(kt-=3)>-1&&on.push(239,191,189),Ht=Pt;continue}Pt=65536+(Ht-55296<<10|Pt-56320)}else Ht&&(kt-=3)>-1&&on.push(239,191,189);if(Ht=null,Pt<128){if((kt-=1)<0)break;on.push(Pt)}else if(Pt<2048){if((kt-=2)<0)break;on.push(Pt>>6|192,63&Pt|128)}else if(Pt<65536){if((kt-=3)<0)break;on.push(Pt>>12|224,Pt>>6&63|128,63&Pt|128)}else{if(!(Pt<1114112))throw new Error("Invalid code point");if((kt-=4)<0)break;on.push(Pt>>18|240,Pt>>12&63|128,Pt>>6&63|128,63&Pt|128)}}return on}function Dt(Et){return $.toByteArray(function(kt){if((kt=function(Pt){return Pt.trim?Pt.trim():Pt.replace(/^\s+|\s+$/g,"")}(kt).replace($t,"")).length<2)return"";for(;kt.length%4!=0;)kt+="=";return kt}(Et))}function wt(Et,kt,Pt,Kt){for(var Ht=0;Ht=kt.length||Ht>=Et.length);++Ht)kt[Ht+Pt]=Et[Ht];return Ht}}).call(this,_(6))},function(o,s){var _;_=function(){return this}();try{_=_||new Function("return this")()}catch{typeof window=="object"&&(_=window)}o.exports=_},function(o,s){typeof Object.create=="function"?o.exports=function(_,j){j&&(_.super_=j,_.prototype=Object.create(j.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}))}:o.exports=function(_,j){if(j){_.super_=j;var $=function(){};$.prototype=j.prototype,_.prototype=new $,_.prototype.constructor=_}}},function(o,s,_){function j(dt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ut){return typeof Ut}:function(Ut){return Ut&&typeof Symbol=="function"&&Ut.constructor===Symbol&&Ut!==Symbol.prototype?"symbol":typeof Ut})(dt)}function $(dt,Ut){if(Ut&&(j(Ut)==="object"||typeof Ut=="function"))return Ut;if(Ut!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _e(dt)}function _e(dt){if(dt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return dt}function et(dt){var Ut=typeof Map=="function"?new Map:void 0;return(et=function(st){if(st===null||(ct=st,Function.toString.call(ct).indexOf("[native code]")===-1))return st;var ct;if(typeof st!="function")throw new TypeError("Super expression must either be null or a function");if(Ut!==void 0){if(Ut.has(st))return Ut.get(st);Ut.set(st,pt)}function pt(){return tt(st,arguments,ot(this).constructor)}return pt.prototype=Object.create(st.prototype,{constructor:{value:pt,enumerable:!1,writable:!0,configurable:!0}}),rt(pt,st)})(dt)}function tt(dt,Ut,st){return(tt=nt()?Reflect.construct.bind():function(ct,pt,Bt){var Qt=[null];Qt.push.apply(Qt,pt);var gt=new(Function.bind.apply(ct,Qt));return Bt&&rt(gt,Bt.prototype),gt}).apply(null,arguments)}function nt(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function rt(dt,Ut){return(rt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(st,ct){return st.__proto__=ct,st})(dt,Ut)}function ot(dt){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Ut){return Ut.__proto__||Object.getPrototypeOf(Ut)})(dt)}var ut=function(dt){(function(Qt,gt){if(typeof gt!="function"&>!==null)throw new TypeError("Super expression must either be null or a function");Qt.prototype=Object.create(gt&>.prototype,{constructor:{value:Qt,writable:!0,configurable:!0}}),Object.defineProperty(Qt,"prototype",{writable:!1}),gt&&rt(Qt,gt)})(Bt,dt);var Ut,st,ct,pt=(Ut=Bt,st=nt(),function(){var Qt,gt=ot(Ut);if(st){var ft=ot(this).constructor;Qt=Reflect.construct(gt,arguments,ft)}else Qt=gt.apply(this,arguments);return $(this,Qt)});function Bt(Qt){var gt;return function(ft,Ft){if(!(ft instanceof Ft))throw new TypeError("Cannot call a class as a function")}(this,Bt),gt=pt.call(this,`Format functions must be synchronous taking a two arguments: (info, opts) -Found: `.concat(Qt.toString().split(` -`)[0],` -`)),Error.captureStackTrace(_e(gt),Bt),gt}return ct=Bt,Object.defineProperty(ct,"prototype",{writable:!1}),ct}(et(Error));o.exports=function(dt){if(dt.length>2)throw new ut(dt);function Ut(){var ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=ct}function st(ct){return new Ut(ct)}return Ut.prototype.transform=dt,st.Format=Ut,st}},function(o,s,_){_.d(s,"a",function(){return j});const j=$=>new Promise(_e=>setTimeout(_e,$||0))},function(o,s,_){var j=_(98),$=j,_e=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||_e!==void 0&&_e||typeof self<"u"&&self||(function(){return this}).call(null)||Function("return this")(),et=_(97);$.object.extend(proto,et),$.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetSessionsRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetSessionsResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.Peer",null,_e),$.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.RtcSession",null,_e),$.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.SessionType",null,_e),$.exportSymbol("proto.v1.signaling.api.Signal",null,_e),proto.v1.signaling.api.Peer=function(tt){j.Message.initialize(this,tt,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.Peer,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.Signal,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.RtcSession=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RtcSession,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RtcSession.displayName="proto.v1.signaling.api.RtcSession"),proto.v1.signaling.api.GetSessionsRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetSessionsRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsRequest.displayName="proto.v1.signaling.api.GetSessionsRequest"),proto.v1.signaling.api.GetSessionsResponse=function(tt){j.Message.initialize(this,tt,0,-1,proto.v1.signaling.api.GetSessionsResponse.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.GetSessionsResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsResponse.displayName="proto.v1.signaling.api.GetSessionsResponse"),proto.v1.signaling.api.GetHealthRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetHealthRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetHealthResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.CreatePeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.CreatePeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.DeletePeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.DeletePeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RefreshPeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RefreshPeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetPeersRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(tt){j.Message.initialize(this,tt,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.GetPeersResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetIceServersRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetIceServersResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.SendSignalRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.SendSignalResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(tt){return proto.v1.signaling.api.Peer.toObject(tt,this)},proto.v1.signaling.api.Peer.toObject=function(tt,nt){var rt,ot={peerId:j.Message.getFieldWithDefault(nt,1,""),organizationId:j.Message.getFieldWithDefault(nt,2,""),userId:(rt=nt.getUserId())&&et.StringValue.toObject(tt,rt),deviceId:(rt=nt.getDeviceId())&&et.StringValue.toObject(tt,rt),sessionIdsList:(rt=j.Message.getRepeatedField(nt,5))==null?void 0:rt,peerCreatedTimestamp:(rt=nt.getPeerCreatedTimestamp())&&et.Int64Value.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.Peer.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setPeerId(rt);break;case 2:rt=nt.readString(),tt.setOrganizationId(rt);break;case 3:rt=new et.StringValue,nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setUserId(rt);break;case 4:rt=new et.StringValue,nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setDeviceId(rt);break;case 5:rt=nt.readString(),tt.addSessionIds(rt);break;case 6:rt=new et.Int64Value,nt.readMessage(rt,et.Int64Value.deserializeBinaryFromReader),tt.setPeerCreatedTimestamp(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getPeerId()).length>0&&nt.writeString(1,rt),(rt=tt.getOrganizationId()).length>0&&nt.writeString(2,rt),(rt=tt.getUserId())!=null&&nt.writeMessage(3,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getDeviceId())!=null&&nt.writeMessage(4,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getSessionIdsList()).length>0&&nt.writeRepeatedString(5,rt),(rt=tt.getPeerCreatedTimestamp())!=null&&nt.writeMessage(6,rt,et.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(tt){return j.Message.setProto3StringField(this,1,tt)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return j.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(tt){return j.Message.setProto3StringField(this,2,tt)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return j.Message.getWrapperField(this,et.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(tt){return j.Message.setWrapperField(this,3,tt)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return j.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return j.Message.getWrapperField(this,et.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(tt){return j.Message.setWrapperField(this,4,tt)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return j.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return j.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(tt){return j.Message.setField(this,5,tt||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(tt,nt){return j.Message.addToRepeatedField(this,5,tt,nt)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return j.Message.getWrapperField(this,et.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(tt){return j.Message.setWrapperField(this,6,tt)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return j.Message.getField(this,6)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(tt){return proto.v1.signaling.api.Signal.toObject(tt,this)},proto.v1.signaling.api.Signal.toObject=function(tt,nt){var rt,ot={sessionId:(rt=nt.getSessionId())&&et.StringValue.toObject(tt,rt),sessionCreatedTimestamp:(rt=nt.getSessionCreatedTimestamp())&&et.Int64Value.toObject(tt,rt),senderId:j.Message.getFieldWithDefault(nt,3,""),receiverId:j.Message.getFieldWithDefault(nt,4,""),payload:j.Message.getFieldWithDefault(nt,5,""),iceServers:j.Message.getFieldWithDefault(nt,6,""),iceTransportPolicy:j.Message.getFieldWithDefault(nt,7,""),sessionType:j.Message.getFieldWithDefault(nt,8,0)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.Signal.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new et.StringValue;nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setSessionId(rt);break;case 2:rt=new et.Int64Value,nt.readMessage(rt,et.Int64Value.deserializeBinaryFromReader),tt.setSessionCreatedTimestamp(rt);break;case 3:rt=nt.readString(),tt.setSenderId(rt);break;case 4:rt=nt.readString(),tt.setReceiverId(rt);break;case 5:rt=nt.readString(),tt.setPayload(rt);break;case 6:rt=nt.readString(),tt.setIceServers(rt);break;case 7:rt=nt.readString(),tt.setIceTransportPolicy(rt);break;case 8:rt=nt.readEnum(),tt.setSessionType(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getSessionId())!=null&&nt.writeMessage(1,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getSessionCreatedTimestamp())!=null&&nt.writeMessage(2,rt,et.Int64Value.serializeBinaryToWriter),(rt=tt.getSenderId()).length>0&&nt.writeString(3,rt),(rt=tt.getReceiverId()).length>0&&nt.writeString(4,rt),(rt=tt.getPayload()).length>0&&nt.writeString(5,rt),(rt=tt.getIceServers()).length>0&&nt.writeString(6,rt),(rt=tt.getIceTransportPolicy()).length>0&&nt.writeString(7,rt),(rt=tt.getSessionType())!==0&&nt.writeEnum(8,rt)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return j.Message.getWrapperField(this,et.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return j.Message.getWrapperField(this,et.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(tt){return j.Message.setWrapperField(this,2,tt)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return j.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return j.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(tt){return j.Message.setProto3StringField(this,3,tt)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return j.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(tt){return j.Message.setProto3StringField(this,4,tt)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return j.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(tt){return j.Message.setProto3StringField(this,5,tt)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return j.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(tt){return j.Message.setProto3StringField(this,6,tt)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return j.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(tt){return j.Message.setProto3StringField(this,7,tt)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return j.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(tt){return j.Message.setProto3EnumField(this,8,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RtcSession.prototype.toObject=function(tt){return proto.v1.signaling.api.RtcSession.toObject(tt,this)},proto.v1.signaling.api.RtcSession.toObject=function(tt,nt){var rt={sessionId:j.Message.getFieldWithDefault(nt,1,""),offerPeerId:j.Message.getFieldWithDefault(nt,2,""),answerPeerId:j.Message.getFieldWithDefault(nt,3,""),organizationId:j.Message.getFieldWithDefault(nt,4,""),sessionType:j.Message.getFieldWithDefault(nt,5,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.RtcSession.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.RtcSession;return proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setSessionId(rt);break;case 2:rt=nt.readString(),tt.setOfferPeerId(rt);break;case 3:rt=nt.readString(),tt.setAnswerPeerId(rt);break;case 4:rt=nt.readString(),tt.setOrganizationId(rt);break;case 5:rt=nt.readString(),tt.setSessionType(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.RtcSession.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.RtcSession.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.RtcSession.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getSessionId()).length>0&&nt.writeString(1,rt),(rt=tt.getOfferPeerId()).length>0&&nt.writeString(2,rt),(rt=tt.getAnswerPeerId()).length>0&&nt.writeString(3,rt),(rt=tt.getOrganizationId()).length>0&&nt.writeString(4,rt),(rt=tt.getSessionType()).length>0&&nt.writeString(5,rt)},proto.v1.signaling.api.RtcSession.prototype.getSessionId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionId=function(tt){return j.Message.setProto3StringField(this,1,tt)},proto.v1.signaling.api.RtcSession.prototype.getOfferPeerId=function(){return j.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.RtcSession.prototype.setOfferPeerId=function(tt){return j.Message.setProto3StringField(this,2,tt)},proto.v1.signaling.api.RtcSession.prototype.getAnswerPeerId=function(){return j.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.RtcSession.prototype.setAnswerPeerId=function(tt){return j.Message.setProto3StringField(this,3,tt)},proto.v1.signaling.api.RtcSession.prototype.getOrganizationId=function(){return j.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.RtcSession.prototype.setOrganizationId=function(tt){return j.Message.setProto3StringField(this,4,tt)},proto.v1.signaling.api.RtcSession.prototype.getSessionType=function(){return j.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionType=function(tt){return j.Message.setProto3StringField(this,5,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetSessionsRequest.toObject(tt,this)},proto.v1.signaling.api.GetSessionsRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetSessionsRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetSessionsRequest;return proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetSessionsRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter=function(tt,nt){},proto.v1.signaling.api.GetSessionsResponse.repeatedFields_=[1],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetSessionsResponse.toObject(tt,this)},proto.v1.signaling.api.GetSessionsResponse.toObject=function(tt,nt){var rt={sessionsList:j.Message.toObjectList(nt.getSessionsList(),proto.v1.signaling.api.RtcSession.toObject,tt)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetSessionsResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetSessionsResponse;return proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.RtcSession;nt.readMessage(rt,proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader),tt.addSessions(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetSessionsResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getSessionsList()).length>0&&nt.writeRepeatedMessage(1,rt,proto.v1.signaling.api.RtcSession.serializeBinaryToWriter)},proto.v1.signaling.api.GetSessionsResponse.prototype.getSessionsList=function(){return j.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.RtcSession,1)},proto.v1.signaling.api.GetSessionsResponse.prototype.setSessionsList=function(tt){return j.Message.setRepeatedWrapperField(this,1,tt)},proto.v1.signaling.api.GetSessionsResponse.prototype.addSessions=function(tt,nt){return j.Message.addToRepeatedWrapperField(this,1,tt,proto.v1.signaling.api.RtcSession,nt)},proto.v1.signaling.api.GetSessionsResponse.prototype.clearSessionsList=function(){return this.setSessionsList([])},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetHealthRequest.toObject(tt,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetHealthResponse.toObject(tt,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(tt,nt){var rt={version:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setVersion(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getVersion()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.CreatePeerRequest.toObject(tt,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.CreatePeerResponse.toObject(tt,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(tt,nt){var rt,ot={peer:(rt=nt.getPeer())&&proto.v1.signaling.api.Peer.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Peer;nt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),tt.setPeer(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeer())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.DeletePeerRequest.toObject(tt,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(tt,nt){var rt={peerId:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setPeerId(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeerId()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.DeletePeerResponse.toObject(tt,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.RefreshPeerRequest.toObject(tt,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(tt,nt){var rt,ot={peer:(rt=nt.getPeer())&&proto.v1.signaling.api.Peer.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Peer;nt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),tt.setPeer(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeer())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.RefreshPeerResponse.toObject(tt,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetPeersRequest.toObject(tt,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(tt,nt){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetPeersResponse.toObject(tt,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(tt,nt){var rt={peersList:j.Message.toObjectList(nt.getPeersList(),proto.v1.signaling.api.Peer.toObject,tt)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Peer;nt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),tt.addPeers(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeersList()).length>0&&nt.writeRepeatedMessage(1,rt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return j.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(tt){return j.Message.setRepeatedWrapperField(this,1,tt)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(tt,nt){return j.Message.addToRepeatedWrapperField(this,1,tt,proto.v1.signaling.api.Peer,nt)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetIceServersRequest.toObject(tt,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetIceServersResponse.toObject(tt,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(tt,nt){var rt={iceServers:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setIceServers(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getIceServers()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.SendSignalRequest.toObject(tt,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(tt,nt){var rt,ot={signal:(rt=nt.getSignal())&&proto.v1.signaling.api.Signal.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Signal;nt.readMessage(rt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),tt.setSignal(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getSignal())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.SendSignalResponse.toObject(tt,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(tt,nt){var rt,ot={sessionId:(rt=nt.getSessionId())&&et.StringValue.toObject(tt,rt),sessionCreatedTimestamp:(rt=nt.getSessionCreatedTimestamp())&&et.Int64Value.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new et.StringValue;nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setSessionId(rt);break;case 2:rt=new et.Int64Value,nt.readMessage(rt,et.Int64Value.deserializeBinaryFromReader),tt.setSessionCreatedTimestamp(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getSessionId())!=null&&nt.writeMessage(1,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getSessionCreatedTimestamp())!=null&&nt.writeMessage(2,rt,et.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return j.Message.getWrapperField(this,et.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return j.Message.getWrapperField(this,et.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(tt){return j.Message.setWrapperField(this,2,tt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return j.Message.getField(this,2)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(tt,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(tt,nt){var rt={peerId:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setPeerId(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeerId()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(tt,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(tt,nt){var rt,ot={signal:(rt=nt.getSignal())&&proto.v1.signaling.api.Signal.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Signal;nt.readMessage(rt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),tt.setSignal(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getSignal())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},$.object.extend(s,proto.v1.signaling.api)},function(o,s,_){_.d(s,"a",function(){return $});var j=_(28);class $ extends Error{constructor(et,tt,nt,rt,ot,ut,dt={}){super("Response error "+JSON.stringify({method:et,url:tt,requestBody:Object(j.a)(nt),statusCode:rt,responseHeaders:ot?Object(j.a)([...ot.entries()].reduce((Ut,[st,ct])=>(Ut[st]=ct,Ut),{})):{},responseBody:Object(j.a)(ut)})),this.method=et,this.url=tt,this.requestBody=nt,this.statusCode=rt,this.headers=ot,this.body=ut,this.validationErrors=dt,this.name="ResponseError",Object.setPrototypeOf(this,new.target.prototype)}}},function(o,s,_){function j($,_e,et=()=>!0){if(function(tt,nt,rt=()=>!0){return tt instanceof nt&&rt(tt)}($,_e,et))return $;throw $}_.d(s,"a",function(){return j})},function(o,s,_){(function(j){var $=Object.getOwnPropertyDescriptors||function(Wt){for(var bt=Object.keys(Wt),Jt={},Zt=0;Zt=Vt)return $t;switch($t){case"%s":return String(Zt[Jt++]);case"%d":return Number(Zt[Jt++]);case"%j":try{return JSON.stringify(Zt[Jt++])}catch{return"[Circular]"}default:return $t}}),zt=Zt[Jt];Jt=3&&(Jt.depth=arguments[2]),arguments.length>=4&&(Jt.colors=arguments[3]),ct(bt)?Jt.showHidden=bt:bt&&s._extend(Jt,bt),gt(Jt.showHidden)&&(Jt.showHidden=!1),gt(Jt.depth)&&(Jt.depth=2),gt(Jt.colors)&&(Jt.colors=!1),gt(Jt.customInspect)&&(Jt.customInspect=!0),Jt.colors&&(Jt.stylize=rt),ut(Jt,Wt,Jt.depth)}function rt(Wt,bt){var Jt=nt.styles[bt];return Jt?"\x1B["+nt.colors[Jt][0]+"m"+Wt+"\x1B["+nt.colors[Jt][1]+"m":Wt}function ot(Wt,bt){return Wt}function ut(Wt,bt,Jt){if(Wt.customInspect&&bt&&xt(bt.inspect)&&bt.inspect!==s.inspect&&(!bt.constructor||bt.constructor.prototype!==bt)){var Zt=bt.inspect(Jt,Wt);return Qt(Zt)||(Zt=ut(Wt,Zt,Jt)),Zt}var Vt=function(Et,kt){if(gt(kt))return Et.stylize("undefined","undefined");if(Qt(kt)){var Pt="'"+JSON.stringify(kt).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return Et.stylize(Pt,"string")}if(Bt(kt))return Et.stylize(""+kt,"number");if(ct(kt))return Et.stylize(""+kt,"boolean");if(pt(kt))return Et.stylize("null","null")}(Wt,bt);if(Vt)return Vt;var jt=Object.keys(bt),zt=function(Et){var kt={};return Et.forEach(function(Pt,Kt){kt[Pt]=!0}),kt}(jt);if(Wt.showHidden&&(jt=Object.getOwnPropertyNames(bt)),Ct(bt)&&(jt.indexOf("message")>=0||jt.indexOf("description")>=0))return dt(bt);if(jt.length===0){if(xt(bt)){var $t=bt.name?": "+bt.name:"";return Wt.stylize("[Function"+$t+"]","special")}if(ft(bt))return Wt.stylize(RegExp.prototype.toString.call(bt),"regexp");if(yt(bt))return Wt.stylize(Date.prototype.toString.call(bt),"date");if(Ct(bt))return dt(bt)}var nn,rn="",Dt=!1,wt=["{","}"];return st(bt)&&(Dt=!0,wt=["[","]"]),xt(bt)&&(rn=" [Function"+(bt.name?": "+bt.name:"")+"]"),ft(bt)&&(rn=" "+RegExp.prototype.toString.call(bt)),yt(bt)&&(rn=" "+Date.prototype.toUTCString.call(bt)),Ct(bt)&&(rn=" "+dt(bt)),jt.length!==0||Dt&&bt.length!=0?Jt<0?ft(bt)?Wt.stylize(RegExp.prototype.toString.call(bt),"regexp"):Wt.stylize("[Object]","special"):(Wt.seen.push(bt),nn=Dt?function(Et,kt,Pt,Kt,Ht){for(var on=[],sn=0,gn=kt.length;sn=0,Kt+Ht.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?Pt[0]+(kt===""?"":kt+` - `)+" "+Et.join(`, - `)+" "+Pt[1]:Pt[0]+kt+" "+Et.join(", ")+" "+Pt[1]}(nn,rn,wt)):wt[0]+rn+wt[1]}function dt(Wt){return"["+Error.prototype.toString.call(Wt)+"]"}function Ut(Wt,bt,Jt,Zt,Vt,jt){var zt,$t,nn;if((nn=Object.getOwnPropertyDescriptor(bt,Vt)||{value:bt[Vt]}).get?$t=nn.set?Wt.stylize("[Getter/Setter]","special"):Wt.stylize("[Getter]","special"):nn.set&&($t=Wt.stylize("[Setter]","special")),Tt(Zt,Vt)||(zt="["+Vt+"]"),$t||(Wt.seen.indexOf(nn.value)<0?($t=pt(Jt)?ut(Wt,nn.value,null):ut(Wt,nn.value,Jt-1)).indexOf(` -`)>-1&&($t=jt?$t.split(` -`).map(function(rn){return" "+rn}).join(` -`).substr(2):` -`+$t.split(` -`).map(function(rn){return" "+rn}).join(` -`)):$t=Wt.stylize("[Circular]","special")),gt(zt)){if(jt&&Vt.match(/^\d+$/))return $t;(zt=JSON.stringify(""+Vt)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(zt=zt.substr(1,zt.length-2),zt=Wt.stylize(zt,"name")):(zt=zt.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),zt=Wt.stylize(zt,"string"))}return zt+": "+$t}function st(Wt){return Array.isArray(Wt)}function ct(Wt){return typeof Wt=="boolean"}function pt(Wt){return Wt===null}function Bt(Wt){return typeof Wt=="number"}function Qt(Wt){return typeof Wt=="string"}function gt(Wt){return Wt===void 0}function ft(Wt){return Ft(Wt)&&ht(Wt)==="[object RegExp]"}function Ft(Wt){return typeof Wt=="object"&&Wt!==null}function yt(Wt){return Ft(Wt)&&ht(Wt)==="[object Date]"}function Ct(Wt){return Ft(Wt)&&(ht(Wt)==="[object Error]"||Wt instanceof Error)}function xt(Wt){return typeof Wt=="function"}function ht(Wt){return Object.prototype.toString.call(Wt)}function mt(Wt){return Wt<10?"0"+Wt.toString(10):Wt.toString(10)}s.debuglog=function(Wt){if(gt(et)&&(et=j.env.NODE_DEBUG||""),Wt=Wt.toUpperCase(),!tt[Wt])if(new RegExp("\\b"+Wt+"\\b","i").test(et)){var bt=j.pid;tt[Wt]=function(){var Jt=s.format.apply(s,arguments);console.error("%s %d: %s",Wt,bt,Jt)}}else tt[Wt]=function(){};return tt[Wt]},s.inspect=nt,nt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},nt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},s.isArray=st,s.isBoolean=ct,s.isNull=pt,s.isNullOrUndefined=function(Wt){return Wt==null},s.isNumber=Bt,s.isString=Qt,s.isSymbol=function(Wt){return typeof Wt=="symbol"},s.isUndefined=gt,s.isRegExp=ft,s.isObject=Ft,s.isDate=yt,s.isError=Ct,s.isFunction=xt,s.isPrimitive=function(Wt){return Wt===null||typeof Wt=="boolean"||typeof Wt=="number"||typeof Wt=="string"||typeof Wt=="symbol"||Wt===void 0},s.isBuffer=_(104);var It=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function vt(){var Wt=new Date,bt=[mt(Wt.getHours()),mt(Wt.getMinutes()),mt(Wt.getSeconds())].join(":");return[Wt.getDate(),It[Wt.getMonth()],bt].join(" ")}function Tt(Wt,bt){return Object.prototype.hasOwnProperty.call(Wt,bt)}s.log=function(){console.log("%s - %s",vt(),s.format.apply(s,arguments))},s.inherits=_(105),s._extend=function(Wt,bt){if(!bt||!Ft(bt))return Wt;for(var Jt=Object.keys(bt),Zt=Jt.length;Zt--;)Wt[Jt[Zt]]=bt[Jt[Zt]];return Wt};var Ot=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function _t(Wt,bt){if(!Wt){var Jt=new Error("Promise was rejected with a falsy value");Jt.reason=Wt,Wt=Jt}return bt(Wt)}s.promisify=function(Wt){if(typeof Wt!="function")throw new TypeError('The "original" argument must be of type Function');if(Ot&&Wt[Ot]){var bt;if(typeof(bt=Wt[Ot])!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(bt,Ot,{value:bt,enumerable:!1,writable:!1,configurable:!0}),bt}function bt(){for(var Jt,Zt,Vt=new Promise(function($t,nn){Jt=$t,Zt=nn}),jt=[],zt=0;zt0&&arguments[0]!==void 0?arguments[0]:{};$.call(this,{objectMode:!0,highWaterMark:nt.highWaterMark}),this.format=nt.format,this.level=nt.level,this.handleExceptions=nt.handleExceptions,this.handleRejections=nt.handleRejections,this.silent=nt.silent,nt.log&&(this.log=nt.log),nt.logv&&(this.logv=nt.logv),nt.close&&(this.close=nt.close),this.once("pipe",function(rt){tt.levels=rt.levels,tt.parent=rt}),this.once("unpipe",function(rt){rt===tt.parent&&(tt.parent=null,tt.close&&tt.close())})};j.inherits(et,$),et.prototype._write=function(tt,nt,rt){if(this.silent||tt.exception===!0&&!this.handleExceptions)return rt(null);var ot=this.level||this.parent&&this.parent.level;if(!ot||this.levels[ot]>=this.levels[tt[_e]]){if(tt&&!this.format)return this.log(tt,rt);var ut=void 0,dt=void 0;try{dt=this.format.transform(Object.assign({},tt),this.format.options)}catch(Ut){ut=Ut}if(ut||!dt){if(rt(),ut)throw ut;return}return this.log(dt,rt)}return this._writableState.sync=!1,rt(null)},et.prototype._writev=function(tt,nt){if(this.logv){var rt=tt.filter(this._accept,this);return rt.length?this.logv(rt,nt):nt(null)}for(var ot=0;ot=this.levels[nt[_e]])||!this.handleExceptions&&nt.exception===!0)},et.prototype._nop=function(){},o.exports.LegacyTransportStream=_(151)},function(o,s,_){o.exports=function(j,$){$||($={}),typeof $=="function"&&($={cmp:$});var _e,et=typeof $.cycles=="boolean"&&$.cycles,tt=$.cmp&&(_e=$.cmp,function(rt){return function(ot,ut){var dt={key:ot,value:rt[ot]},Ut={key:ut,value:rt[ut]};return _e(dt,Ut)}}),nt=[];return function rt(ot){if(ot&&ot.toJSON&&typeof ot.toJSON=="function"&&(ot=ot.toJSON()),ot!==void 0){if(typeof ot=="number")return isFinite(ot)?""+ot:"null";if(typeof ot!="object")return JSON.stringify(ot);var ut,dt;if(Array.isArray(ot)){for(dt="[",ut=0;ut(an=an||0)&&(an=Math.max(an+mn,0));anGt?1:0}e:{var Cn=yt.navigator;if(Cn){var In=Cn.userAgent;if(In){Kt=In;break e}}Kt=""}var Mn="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function rr(Nt){var Gt=1;Nt=Nt.split(":");for(var an=[];0parseFloat(Jr)){Dn=String(ro);break e}}Dn=Jr}var sr={};function Xn(){return function(Nt){var Gt=sr;return Object.prototype.hasOwnProperty.call(Gt,9)?Gt[9]:Gt[9]=Nt(9)}(function(){for(var Nt=0,Gt=on(String(Dn)).split("."),an=on("9").split("."),cn=Math.max(Gt.length,an.length),mn=0;Nt==0&&mn>>0);function bn(Nt){return typeof Nt=="function"?Nt:(Nt[hn]||(Nt[hn]=function(Gt){return Nt.handleEvent(Gt)}),Nt[hn])}function Vn(){gr.call(this),this.f=new Oo(this),this.U=this}function Qn(Nt,Gt){Nt=Nt.U;var an=Gt.type||Gt;if(typeof Gt=="string")Gt=new Wr(Gt,Nt);else if(Gt instanceof Wr)Gt.target=Gt.target||Nt;else{var cn=Gt;(function(mn,Tn){for(var fn,vn,kn=1;kn=(Nt?Lr(Bo(Go(),Nt.getName())):Kr).value),cn&&(Gt=Gt||Kr,cn=Bo(Go(),Nt.getName()),typeof an=="function"&&(an=an()),Nr||(Nr=new Zr),function(mn,Tn){for(;mn;)mn.f.forEach(function(fn){fn(Tn)}),mn=mn.b}(cn,Nt=new Dr(Gt,an,Nt=Nt.getName())))}function Fo(Nt,Gt){Nt&&$a(Nt,vr,Gt)}function Dl(){}function Ml(Nt){var Gt;return(Gt=Nt.a)||(Gt={},Hs(Nt)&&(Gt[0]=!0,Gt[1]=!0),Gt=Nt.a=Gt),Gt}function Al(){}function Ys(Nt){return(Nt=Hs(Nt))?new ActiveXObject(Nt):new XMLHttpRequest}function Hs(Nt){if(!Nt.b&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var Gt=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],an=0;an2*this.size&&Rs(this),!0)},$.get=function(Nt,Gt){return ts(this.o,Nt)?this.o[Nt]:Gt},$.set=function(Nt,Gt){ts(this.o,Nt)||(this.size+=1,this.j.push(Nt),this.B++),this.o[Nt]=Gt},$.addAll=function(Nt){if(Nt instanceof Bs)for(var Gt=Nt.G(),an=0;an=cn.j.length)throw es;var Tn=cn.j[Gt++];return Nt?Tn:cn.o[Tn]},mn.next=mn.a.bind(mn),mn};var Ol=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^\\/?#]*)@)?([^\\/?#]*?)(?::([0-9]+))?(?=[\\/?#]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;function ns(Nt){Vn.call(this),this.headers=new Bs,this.C=Nt||null,this.c=!1,this.J=this.a=null,this.P=this.v="",this.g=0,this.l="",this.i=this.N=this.s=this.L=!1,this.h=0,this.w=null,this.m=_s,this.I=this.M=!1}Tt(ns,Vn);var _s="";ns.prototype.b=Bo(Go(),"goog.net.XhrIo",void 0).g;var rs=/^https?$/i,xl=["POST","PUT"];function Il(Nt,Gt,an){if(Nt.a)throw Error("[goog.net.XhrIo] Object is active with another request="+Nt.v+"; newUri="+Gt);Nt.v=Gt,Nt.l="",Nt.g=0,Nt.P="POST",Nt.L=!1,Nt.c=!0,Nt.a=Nt.C?Ys(Nt.C):Ys(jr),Nt.J=Nt.C?Ml(Nt.C):Ml(jr),Nt.a.onreadystatechange=vt(Nt.R,Nt);try{Fo(Nt.b,wo(Nt,"Opening Xhr")),Nt.N=!0,Nt.a.open("POST",String(Gt),!0),Nt.N=!1}catch(Tn){return Fo(Nt.b,wo(Nt,"Error opening Xhr: "+Tn.message)),void Ll(Nt,Tn)}Gt=an||"";var cn=(an=Nt.headers.clone()).G().find(function(Tn){return Tn.toLowerCase()=="content-type"}),mn=yt.FormData&&Gt instanceof yt.FormData;!(0<=Ht(xl,"POST"))||cn||mn||an.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),an.forEach(function(Tn,fn){this.a.setRequestHeader(fn,Tn)},Nt),Nt.m&&(Nt.a.responseType=Nt.m),"withCredentials"in Nt.a&&Nt.a.withCredentials!==Nt.M&&(Nt.a.withCredentials=Nt.M);try{$s(Nt),0>4),ir!=64&&(fn(zn<<4&240|ir>>2),Qr!=64&&fn(ir<<6&192|Qr))}}(Nt,function(Tn){cn[mn++]=Tn}),cn.subarray(0,mn)}function zl(){if(!Ss){Ss={};for(var Nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),Gt=["+/=","+/","-_=","-_.","-_"],an=0;5>an;an++){var cn=Nt.concat(Gt[an].split(""));Ul[an]=cn;for(var mn=0;mn(vn=mn.indexOf("#"))&&(vn=mn.length),0>(fn=mn.indexOf("?"))||fn>vn?(fn=vn,kn=""):kn=mn.substring(fn+1,vn),vn=(mn=[mn.substr(0,fn),kn,mn.substr(vn)])[1],mn[1]=zn?vn?vn+"&"+zn:zn:vn,mn=mn[0]+(mn[1]?"?"+mn[1]:"")+mn[2])):mn.a("$httpHeaders",vn))}for(cn=(Gt=(0,cn.a)(Gt.getRequestMessage())).length,zn=[0,0,0,0],vn=new Uint8Array(5+cn),fn=3;0<=fn;fn--)zn[fn]=cn%256,cn>>>=8;if(vn.set(new Uint8Array(zn),1),vn.set(Gt,5),Gt=vn,Nt.a=="text"){var ir;for(Nt=Gt,ir===void 0&&(ir=0),zl(),ir=Ul[ir],Gt=Array(Math.floor(Nt.length/3)),cn=ir[64]||"",zn=vn=0;vn>2],Zn=ir[(3&Zn)<<4|Qr>>4],Qr=ir[(15&Qr)<<2|kn>>6],kn=ir[63&kn],Gt[zn++]=fn+Zn+Qr+kn}switch(fn=0,kn=cn,Nt.length-vn){case 2:kn=ir[(15&(fn=Nt[vn+1]))<<2]||cn;case 1:Nt=Nt[vn],Gt[zn]=ir[Nt>>2]+ir[(3&Nt)<<4|fn>>4]+kn+cn}Gt=Gt.join("")}else Nt.a=="binary"&&(an.m="arraybuffer");return Il(an,mn,Gt),Tn}function Gl(Nt,Gt,an){var cn=!1,mn=null,Tn=!1;Nt.on("data",function(fn){cn=!0,mn=fn}),Nt.on("error",function(fn){fn.code==0||Tn||(Tn=!0,Gt(fn,null))}),Nt.on("status",function(fn){fn.code==0||Tn?an&&Gt(null,null,fn):(Tn=!0,Gt({code:fn.code,message:fn.details,metadata:fn.metadata},null))}),an&&Nt.on("metadata",function(fn){Gt(null,null,null,fn)}),Nt.on("end",function(){Tn||(cn?an?Gt(null,mn,null,null,!0):Gt(null,mn):Gt({code:2,message:"Incomplete response"})),an&&Gt(null,null)})}function Vr(Nt,Gt){var an=Nt;return Gt.forEach(function(cn){var mn=an;an=function(Tn){return cn.intercept(Tn,mn)}}),an}go.prototype.on=function(Nt,Gt){return Nt=="data"?this.b.push(Gt):Nt=="status"?this.h.push(Gt):Nt=="metadata"?this.g.push(Gt):Nt=="end"?this.c.push(Gt):Nt=="error"&&this.f.push(Gt),this},go.prototype.removeListener=function(Nt,Gt){return Nt=="data"?ms(this.b,Gt):Nt=="status"?ms(this.h,Gt):Nt=="metadata"?ms(this.g,Gt):Nt=="end"?ms(this.c,Gt):Nt=="error"&&ms(this.f,Gt),this},go.prototype.cancel=function(){this.l=!0,this.a.abort()},go.prototype.cancel=go.prototype.cancel,go.prototype.removeListener=go.prototype.removeListener,go.prototype.on=go.prototype.on,io.prototype.X=function(Nt,Gt,an,cn,mn){var Tn=this,fn=Nt.substr(0,Nt.length-cn.name.length);return Gl(Nt=Vr(function(vn){return Fl(Tn,vn,fn)},this.b).call(this,Jt(cn,Gt,an)),mn,!1),new Vt(Nt)},io.prototype.S=function(Nt,Gt,an,cn){var mn=this,Tn=Nt.substr(0,Nt.length-cn.name.length);return Vr(function(fn){return new Promise(function(vn,kn){var Zn,zn,ir;Gl(Fl(mn,fn,Tn),function(Qr,yr,cr,qn,Mr){Qr?kn(Qr):Mr?ir=yr:cr?zn=cr:qn?Zn=qn:(Qr=fn.getMethodDescriptor(),vn(new Wt(ir,Qr,yr=(yr=Zn)===void 0?{}:yr,zn===void 0?null:zn)))},!0)})},this.h).call(this,Jt(cn,Gt,an)).then(function(fn){return fn.getResponseMessage()})},io.prototype.unaryCall=function(Nt,Gt,an,cn){return this.S(Nt,Gt,an,cn)},io.prototype.Y=function(Nt,Gt,an,cn){var mn=this,Tn=Nt.substr(0,Nt.length-cn.name.length);return Vr(function(fn){return Fl(mn,fn,Tn)},this.b).call(this,Jt(cn,Gt,an))},io.prototype.serverStreaming=io.prototype.Y,io.prototype.unaryCall=io.prototype.unaryCall,io.prototype.thenableCall=io.prototype.S,io.prototype.rpcCall=io.prototype.X,o.exports.CallOptions=Ot,o.exports.MethodDescriptor=bt,o.exports.GrpcWebClientBase=io,o.exports.RpcError=Zt,o.exports.StatusCode={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,UNAUTHENTICATED:16,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15},o.exports.MethodType={UNARY:"unary",SERVER_STREAMING:"server_streaming",BIDI_STREAMING:"bidi_streaming"},xn=typeof globalThis<"u"&&globalThis||self}).call(this,_(6))},function(o,s,_){var j=_(57),$=_(60).warn;s.version=_(136).version,s.transports=_(137),s.config=_(49),s.addColors=j.levels,s.format=j.format,s.createLogger=_(87),s.ExceptionHandler=_(88),s.RejectionHandler=_(92),s.Container=_(215),s.Transport=_(14),s.loggers=new s.Container;var _e=s.createLogger();Object.keys(s.config.npm.levels).concat(["log","query","stream","add","remove","clear","profile","startTimer","handleExceptions","unhandleExceptions","handleRejections","unhandleRejections","configure","child"]).forEach(function(et){return s[et]=function(){return _e[et].apply(_e,arguments)}}),Object.defineProperty(s,"level",{get:function(){return _e.level},set:function(et){_e.level=et}}),Object.defineProperty(s,"exceptions",{get:function(){return _e.exceptions}}),["exitOnError"].forEach(function(et){Object.defineProperty(s,et,{get:function(){return _e[et]},set:function(tt){_e[et]=tt}})}),Object.defineProperty(s,"default",{get:function(){return{exceptionHandlers:_e.exceptionHandlers,rejectionHandlers:_e.rejectionHandlers,transports:_e.transports}}}),$.deprecated(s,"setLevels"),$.forFunctions(s,"useFormat",["cli"]),$.forProperties(s,"useFormat",["padLevels","stripColors"]),$.forFunctions(s,"deprecated",["addRewriter","addFilter","clone","extend"]),$.forProperties(s,"deprecated",["emitErrs","levelLength"]),$.moved(s,"createLogger","Logger")},function(o,s,_){(function(j){var $=j!==void 0&&j||typeof self<"u"&&self||window,_e=Function.prototype.apply;function et(tt,nt){this._id=tt,this._clearFn=nt}s.setTimeout=function(){return new et(_e.call(setTimeout,$,arguments),clearTimeout)},s.setInterval=function(){return new et(_e.call(setInterval,$,arguments),clearInterval)},s.clearTimeout=s.clearInterval=function(tt){tt&&tt.close()},et.prototype.unref=et.prototype.ref=function(){},et.prototype.close=function(){this._clearFn.call($,this._id)},s.enroll=function(tt,nt){clearTimeout(tt._idleTimeoutId),tt._idleTimeout=nt},s.unenroll=function(tt){clearTimeout(tt._idleTimeoutId),tt._idleTimeout=-1},s._unrefActive=s.active=function(tt){clearTimeout(tt._idleTimeoutId);var nt=tt._idleTimeout;nt>=0&&(tt._idleTimeoutId=setTimeout(function(){tt._onTimeout&&tt._onTimeout()},nt))},_(139),s.setImmediate=typeof self<"u"&&self.setImmediate||j!==void 0&&j.setImmediate||this&&this.setImmediate,s.clearImmediate=typeof self<"u"&&self.clearImmediate||j!==void 0&&j.clearImmediate||this&&this.clearImmediate}).call(this,_(6))},function(o,s,_){var j,$=typeof Reflect=="object"?Reflect:null,_e=$&&typeof $.apply=="function"?$.apply:function(Qt,gt,ft){return Function.prototype.apply.call(Qt,gt,ft)};j=$&&typeof $.ownKeys=="function"?$.ownKeys:Object.getOwnPropertySymbols?function(Qt){return Object.getOwnPropertyNames(Qt).concat(Object.getOwnPropertySymbols(Qt))}:function(Qt){return Object.getOwnPropertyNames(Qt)};var et=Number.isNaN||function(Qt){return Qt!=Qt};function tt(){tt.init.call(this)}o.exports=tt,o.exports.once=function(Qt,gt){return new Promise(function(ft,Ft){function yt(xt){Qt.removeListener(gt,Ct),Ft(xt)}function Ct(){typeof Qt.removeListener=="function"&&Qt.removeListener("error",yt),ft([].slice.call(arguments))}Bt(Qt,gt,Ct,{once:!0}),gt!=="error"&&function(xt,ht,mt){typeof xt.on=="function"&&Bt(xt,"error",ht,mt)}(Qt,yt,{once:!0})})},tt.EventEmitter=tt,tt.prototype._events=void 0,tt.prototype._eventsCount=0,tt.prototype._maxListeners=void 0;var nt=10;function rt(Qt){if(typeof Qt!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof Qt)}function ot(Qt){return Qt._maxListeners===void 0?tt.defaultMaxListeners:Qt._maxListeners}function ut(Qt,gt,ft,Ft){var yt,Ct,xt,ht;if(rt(ft),(Ct=Qt._events)===void 0?(Ct=Qt._events=Object.create(null),Qt._eventsCount=0):(Ct.newListener!==void 0&&(Qt.emit("newListener",gt,ft.listener?ft.listener:ft),Ct=Qt._events),xt=Ct[gt]),xt===void 0)xt=Ct[gt]=ft,++Qt._eventsCount;else if(typeof xt=="function"?xt=Ct[gt]=Ft?[ft,xt]:[xt,ft]:Ft?xt.unshift(ft):xt.push(ft),(yt=ot(Qt))>0&&xt.length>yt&&!xt.warned){xt.warned=!0;var mt=new Error("Possible EventEmitter memory leak detected. "+xt.length+" "+String(gt)+" listeners added. Use emitter.setMaxListeners() to increase limit");mt.name="MaxListenersExceededWarning",mt.emitter=Qt,mt.type=gt,mt.count=xt.length,ht=mt,console&&console.warn&&console.warn(ht)}return Qt}function dt(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ut(Qt,gt,ft){var Ft={fired:!1,wrapFn:void 0,target:Qt,type:gt,listener:ft},yt=dt.bind(Ft);return yt.listener=ft,Ft.wrapFn=yt,yt}function st(Qt,gt,ft){var Ft=Qt._events;if(Ft===void 0)return[];var yt=Ft[gt];return yt===void 0?[]:typeof yt=="function"?ft?[yt.listener||yt]:[yt]:ft?function(Ct){for(var xt=new Array(Ct.length),ht=0;ht0&&(Ct=gt[0]),Ct instanceof Error)throw Ct;var xt=new Error("Unhandled error."+(Ct?" ("+Ct.message+")":""));throw xt.context=Ct,xt}var ht=yt[Qt];if(ht===void 0)return!1;if(typeof ht=="function")_e(ht,this,gt);else{var mt=ht.length,It=pt(ht,mt);for(ft=0;ft=0;Ct--)if(ft[Ct]===gt||ft[Ct].listener===gt){xt=ft[Ct].listener,yt=Ct;break}if(yt<0)return this;yt===0?ft.shift():function(ht,mt){for(;mt+1=0;Ft--)this.removeListener(Qt,gt[Ft]);return this},tt.prototype.listeners=function(Qt){return st(this,Qt,!0)},tt.prototype.rawListeners=function(Qt){return st(this,Qt,!1)},tt.listenerCount=function(Qt,gt){return typeof Qt.listenerCount=="function"?Qt.listenerCount(gt):ct.call(Qt,gt)},tt.prototype.listenerCount=ct,tt.prototype.eventNames=function(){return this._eventsCount>0?j(this._events):[]}},function(o,s,_){var j=_(147).Buffer,$=j.isEncoding||function(st){switch((st=""+st)&&st.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _e(st){var ct;switch(this.encoding=function(pt){var Bt=function(Qt){if(!Qt)return"utf8";for(var gt;;)switch(Qt){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return Qt;default:if(gt)return;Qt=(""+Qt).toLowerCase(),gt=!0}}(pt);if(typeof Bt!="string"&&(j.isEncoding===$||!$(pt)))throw new Error("Unknown encoding: "+pt);return Bt||pt}(st),this.encoding){case"utf16le":this.text=nt,this.end=rt,ct=4;break;case"utf8":this.fillLast=tt,ct=4;break;case"base64":this.text=ot,this.end=ut,ct=3;break;default:return this.write=dt,void(this.end=Ut)}this.lastNeed=0,this.lastTotal=0,this.lastChar=j.allocUnsafe(ct)}function et(st){return st<=127?0:st>>5==6?2:st>>4==14?3:st>>3==30?4:st>>6==2?-1:-2}function tt(st){var ct=this.lastTotal-this.lastNeed,pt=function(Bt,Qt,gt){if((192&Qt[0])!=128)return Bt.lastNeed=0,"�";if(Bt.lastNeed>1&&Qt.length>1){if((192&Qt[1])!=128)return Bt.lastNeed=1,"�";if(Bt.lastNeed>2&&Qt.length>2&&(192&Qt[2])!=128)return Bt.lastNeed=2,"�"}}(this,st);return pt!==void 0?pt:this.lastNeed<=st.length?(st.copy(this.lastChar,ct,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(st.copy(this.lastChar,ct,0,st.length),void(this.lastNeed-=st.length))}function nt(st,ct){if((st.length-ct)%2==0){var pt=st.toString("utf16le",ct);if(pt){var Bt=pt.charCodeAt(pt.length-1);if(Bt>=55296&&Bt<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=st[st.length-2],this.lastChar[1]=st[st.length-1],pt.slice(0,-1)}return pt}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=st[st.length-1],st.toString("utf16le",ct,st.length-1)}function rt(st){var ct=st&&st.length?this.write(st):"";if(this.lastNeed){var pt=this.lastTotal-this.lastNeed;return ct+this.lastChar.toString("utf16le",0,pt)}return ct}function ot(st,ct){var pt=(st.length-ct)%3;return pt===0?st.toString("base64",ct):(this.lastNeed=3-pt,this.lastTotal=3,pt===1?this.lastChar[0]=st[st.length-1]:(this.lastChar[0]=st[st.length-2],this.lastChar[1]=st[st.length-1]),st.toString("base64",ct,st.length-pt))}function ut(st){var ct=st&&st.length?this.write(st):"";return this.lastNeed?ct+this.lastChar.toString("base64",0,3-this.lastNeed):ct}function dt(st){return st.toString(this.encoding)}function Ut(st){return st&&st.length?this.write(st):""}s.StringDecoder=_e,_e.prototype.write=function(st){if(st.length===0)return"";var ct,pt;if(this.lastNeed){if((ct=this.fillLast(st))===void 0)return"";pt=this.lastNeed,this.lastNeed=0}else pt=0;return pt=0?(yt>0&&(Qt.lastNeed=yt-1),yt):--Ft=0?(yt>0&&(Qt.lastNeed=yt-2),yt):--Ft=0?(yt>0&&(yt===2?yt=0:Qt.lastNeed=yt-3),yt):0}(this,st,ct);if(!this.lastNeed)return st.toString("utf8",ct);this.lastTotal=pt;var Bt=st.length-(pt-this.lastNeed);return st.copy(this.lastChar,0,Bt),st.toString("utf8",ct,Bt)},_e.prototype.fillLast=function(st){if(this.lastNeed<=st.length)return st.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);st.copy(this.lastChar,this.lastTotal-this.lastNeed,0,st.length),this.lastNeed-=st.length}},function(o,s,_){var j=_(37),$=Object.keys||function(st){var ct=[];for(var pt in st)ct.push(pt);return ct};o.exports=ut;var _e=Object.create(_(32));_e.inherits=_(7);var et=_(69),tt=_(47);_e.inherits(ut,et);for(var nt=$(tt.prototype),rt=0;rt2?"one of ".concat(tt," ").concat(et.slice(0,nt-1).join(", "),", or ")+et[nt-1]:nt===2?"one of ".concat(tt," ").concat(et[0]," or ").concat(et[1]):"of ".concat(tt," ").concat(et[0])}return"of ".concat(tt," ").concat(String(et))}$("ERR_INVALID_OPT_VALUE",function(et,tt){return'The value "'+tt+'" is invalid for option "'+et+'"'},TypeError),$("ERR_INVALID_ARG_TYPE",function(et,tt,nt){var rt,ot,ut;if(typeof tt=="string"&&(ot="not ",tt.substr(0,ot.length)===ot)?(rt="must not be",tt=tt.replace(/^not /,"")):rt="must be",function(Ut,st,ct){return(ct===void 0||ct>Ut.length)&&(ct=Ut.length),Ut.substring(ct-st.length,ct)===st}(et," argument"))ut="The ".concat(et," ").concat(rt," ").concat(_e(tt,"type"));else{var dt=function(Ut,st,ct){return typeof ct!="number"&&(ct=0),!(ct+st.length>Ut.length)&&Ut.indexOf(st,ct)!==-1}(et,".")?"property":"argument";ut='The "'.concat(et,'" ').concat(dt," ").concat(rt," ").concat(_e(tt,"type"))}return ut+=". Received type ".concat(typeof nt)},TypeError),$("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),$("ERR_METHOD_NOT_IMPLEMENTED",function(et){return"The "+et+" method is not implemented"}),$("ERR_STREAM_PREMATURE_CLOSE","Premature close"),$("ERR_STREAM_DESTROYED",function(et){return"Cannot call "+et+" after a stream was destroyed"}),$("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),$("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),$("ERR_STREAM_WRITE_AFTER_END","write after end"),$("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),$("ERR_UNKNOWN_ENCODING",function(et){return"Unknown encoding: "+et},TypeError),$("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),o.exports.codes=j},function(o,s,_){(function(j){var $=Object.keys||function(Ut){var st=[];for(var ct in Ut)st.push(ct);return st};o.exports=ot;var _e=_(76),et=_(80);_(7)(ot,_e);for(var tt=$(et.prototype),nt=0;nt(""+ot.get("app-id")).startsWith("formant/")?{}:_e},rt)),this.endpoint=nt}getHeaders(){return Object.assign(Object.assign({},et.headers),{"App-ID":"formant/"+$.a,"App-Version":$.k})}}et.headers={}},function(o,s,_){_(232),o.exports={encode:j=>new TextEncoder().encode(j),decode:j=>new TextDecoder().decode(j)}},function(o,s,_){_.d(s,"a",function(){return nt});const j=["query"],$=["expected one of:","maybe you meant:","in query:","while processing query","column"],_e=["password","secret","token","key","buffer","authorization"],et=new Set(["email","firstName","lastName","phoneNumber","phoneNumbers"]),tt=rt=>_e.some(ot=>rt.toLowerCase().includes(ot.toLowerCase()))||et.has(rt);function nt(rt,ot=new WeakSet){return ot.has(rt)?"[ RECURSIVE ]":Array.isArray(rt)?(ot.add(rt),rt.map(dt=>nt(dt,ot))):!(ut=rt)||typeof ut!="object"&&typeof ut!="function"?typeof rt=="string"&&!$.some(dt=>rt.toLowerCase().includes(dt))&&tt(rt)?"[ REDACTED ]":rt:(ot.add(rt),Object.keys(rt).reduce((dt,Ut)=>j.includes(Ut.toLowerCase())?(dt[Ut]=rt[Ut],dt):(dt[Ut]=tt(Ut)?"[ REDACTED ]":nt(rt[Ut],ot),dt),{}));var ut}},function(o,s,_){const{hasOwnProperty:j}=Object.prototype,$=Qt();$.configure=Qt,$.stringify=$,$.default=$,s.stringify=$,s.configure=Qt,o.exports=$;const _e=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/,et=new RegExp(_e,"g"),tt=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000b","\\f","\\r","\\u000e","\\u000f","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001a","\\u001b","\\u001c","\\u001d","\\u001e","\\u001f","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\"];function nt(gt){if(gt.length===2){const Ft=gt.charCodeAt(1);return`${gt[0]}\\u${Ft.toString(16)}`}const ft=gt.charCodeAt(0);return tt.length>ft?tt[ft]:"\\u"+ft.toString(16)}function rt(gt){if(gt.length<5e3&&!_e.test(gt))return gt;if(gt.length>100)return gt.replace(et,nt);let ft="",Ft=0;for(let yt=0;yt=55296&&Ct<=57343){if(Ct<=56319&&yt+1=56320&&xt<=57343){yt++;continue}}ft+=`${gt.slice(Ft,yt)}\\u${Ct.toString(16)}`,Ft=yt+1}}return ft+=gt.slice(Ft),ft}function ot(gt){if(gt.length>200)return gt.sort();for(let ft=1;ftFt;)gt[yt]=gt[yt-1],yt--;gt[yt]=Ft}return gt}const ut=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function dt(gt){return ut.call(gt)!==void 0&>.length!==0}function Ut(gt,ft,Ft){gt.length= 1`)}return Ft===void 0?1/0:Ft}function pt(gt){return gt===1?"1 item":gt+" items"}function Bt(gt){const ft=new Set;for(const Ft of gt)typeof Ft!="string"&&typeof Ft!="number"||ft.add(String(Ft));return ft}function Qt(gt){const ft=function(Ot){if(j.call(Ot,"strict")){const _t=Ot.strict;if(typeof _t!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(_t)return Wt=>{let bt="Object can not safely be stringified. Received type "+typeof Wt;throw typeof Wt!="function"&&(bt+=` (${Wt.toString()})`),new Error(bt)}}}(gt={...gt});ft&&(gt.bigint===void 0&&(gt.bigint=!1),"circularValue"in gt||(gt.circularValue=Error));const Ft=function(Ot){if(j.call(Ot,"circularValue")){const _t=Ot.circularValue;if(typeof _t=="string")return`"${_t}"`;if(_t==null)return _t;if(_t===Error||_t===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}(gt),yt=st(gt,"bigint"),Ct=st(gt,"deterministic"),xt=ct(gt,"maximumDepth"),ht=ct(gt,"maximumBreadth");function mt(Ot,_t,Wt,bt,Jt,Zt){let Vt=_t[Ot];switch(typeof Vt=="object"&&Vt!==null&&typeof Vt.toJSON=="function"&&(Vt=Vt.toJSON(Ot)),Vt=bt.call(_t,Ot,Vt),typeof Vt){case"string":return`"${rt(Vt)}"`;case"object":{if(Vt===null)return"null";if(Wt.indexOf(Vt)!==-1)return Ft;let jt="",zt=",";const $t=Zt;if(Array.isArray(Vt)){if(Vt.length===0)return"[]";if(xtht&&(jt+=`${zt}"... ${pt(Vt.length-ht-1)} not stringified"`),Jt!==""&&(jt+=` -`+$t),Wt.pop(),`[${jt}]`}let nn=Object.keys(Vt);const rn=nn.length;if(rn===0)return"{}";if(xtht&&(jt+=`${wt}"...":${Dt}"${pt(rn-ht)} not stringified"`,wt=zt),Jt!==""&&wt.length>1&&(jt=` -${Zt}${jt} -${$t}`),Wt.pop(),`{${jt}}`}case"number":return isFinite(Vt)?String(Vt):ft?ft(Vt):"null";case"boolean":return Vt===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(Vt);default:return ft?ft(Vt):void 0}}function It(Ot,_t,Wt,bt,Jt,Zt){switch(typeof _t=="object"&&_t!==null&&typeof _t.toJSON=="function"&&(_t=_t.toJSON(Ot)),typeof _t){case"string":return`"${rt(_t)}"`;case"object":{if(_t===null)return"null";if(Wt.indexOf(_t)!==-1)return Ft;const Vt=Zt;let jt="",zt=",";if(Array.isArray(_t)){if(_t.length===0)return"[]";if(xtht&&(jt+=`${zt}"... ${pt(_t.length-ht-1)} not stringified"`),Jt!==""&&(jt+=` -`+Vt),Wt.pop(),`[${jt}]`}Wt.push(_t);let $t="";Jt!==""&&(zt=`, -`+(Zt+=Jt),$t=" ");let nn="";for(const rn of bt){const Dt=It(rn,_t[rn],Wt,bt,Jt,Zt);Dt!==void 0&&(jt+=`${nn}"${rt(rn)}":${$t}${Dt}`,nn=zt)}return Jt!==""&&nn.length>1&&(jt=` -${Zt}${jt} -${Vt}`),Wt.pop(),`{${jt}}`}case"number":return isFinite(_t)?String(_t):ft?ft(_t):"null";case"boolean":return _t===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(_t);default:return ft?ft(_t):void 0}}function vt(Ot,_t,Wt,bt,Jt){switch(typeof _t){case"string":return`"${rt(_t)}"`;case"object":{if(_t===null)return"null";if(typeof _t.toJSON=="function"){if(typeof(_t=_t.toJSON(Ot))!="object")return vt(Ot,_t,Wt,bt,Jt);if(_t===null)return"null"}if(Wt.indexOf(_t)!==-1)return Ft;const Zt=Jt;if(Array.isArray(_t)){if(_t.length===0)return"[]";if(xtht&&(Dt+=`${wt}"... ${pt(_t.length-ht-1)} not stringified"`),Dt+=` -`+Zt,Wt.pop(),`[${Dt}]`}let Vt=Object.keys(_t);const jt=Vt.length;if(jt===0)return"{}";if(xtht&&($t+=`${nn}"...": "${pt(jt-ht)} not stringified"`,nn=zt),nn!==""&&($t=` -${Jt}${$t} -${Zt}`),Wt.pop(),`{${$t}}`}case"number":return isFinite(_t)?String(_t):ft?ft(_t):"null";case"boolean":return _t===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(_t);default:return ft?ft(_t):void 0}}function Tt(Ot,_t,Wt){switch(typeof _t){case"string":return`"${rt(_t)}"`;case"object":{if(_t===null)return"null";if(typeof _t.toJSON=="function"){if(typeof(_t=_t.toJSON(Ot))!="object")return Tt(Ot,_t,Wt);if(_t===null)return"null"}if(Wt.indexOf(_t)!==-1)return Ft;let bt="";if(Array.isArray(_t)){if(_t.length===0)return"[]";if(xtht&&(bt+=`,"... ${pt(_t.length-ht-1)} not stringified"`),Wt.pop(),`[${bt}]`}let Jt=Object.keys(_t);const Zt=Jt.length;if(Zt===0)return"{}";if(xtht&&(bt+=`${Vt}"...":"${pt(Zt-ht)} not stringified"`),Wt.pop(),`{${bt}}`}case"number":return isFinite(_t)?String(_t):ft?ft(_t):"null";case"boolean":return _t===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(_t);default:return ft?ft(_t):void 0}}return function(Ot,_t,Wt){if(arguments.length>1){let bt="";if(typeof Wt=="number"?bt=" ".repeat(Math.min(Wt,10)):typeof Wt=="string"&&(bt=Wt.slice(0,10)),_t!=null){if(typeof _t=="function")return mt("",{"":Ot},[],_t,bt,"");if(Array.isArray(_t))return It("",Ot,[],Bt(_t),bt,"")}if(bt.length!==0)return vt("",Ot,[],bt,"")}return Tt("",Ot,[])}}},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j,$=j.length){if(!$)throw new Error("arity is undefined");return function(..._e){return typeof _e[$-1]=="function"?j.apply(this,_e):new Promise((et,tt)=>{_e[$-1]=(nt,...rt)=>{if(nt)return tt(nt);et(rt.length>1?rt:rt[0])},j.apply(this,_e)})}},o.exports=s.default},function(o,s,_){(s=o.exports=_(69)).Stream=s,s.Readable=s,s.Writable=_(47),s.Duplex=_(22),s.Transform=_(72),s.PassThrough=_(169)},function(o,s,_){(function(j){function $(_e){return Object.prototype.toString.call(_e)}s.isArray=function(_e){return Array.isArray?Array.isArray(_e):$(_e)==="[object Array]"},s.isBoolean=function(_e){return typeof _e=="boolean"},s.isNull=function(_e){return _e===null},s.isNullOrUndefined=function(_e){return _e==null},s.isNumber=function(_e){return typeof _e=="number"},s.isString=function(_e){return typeof _e=="string"},s.isSymbol=function(_e){return typeof _e=="symbol"},s.isUndefined=function(_e){return _e===void 0},s.isRegExp=function(_e){return $(_e)==="[object RegExp]"},s.isObject=function(_e){return typeof _e=="object"&&_e!==null},s.isDate=function(_e){return $(_e)==="[object Date]"},s.isError=function(_e){return $(_e)==="[object Error]"||_e instanceof Error},s.isFunction=function(_e){return typeof _e=="function"},s.isPrimitive=function(_e){return _e===null||typeof _e=="boolean"||typeof _e=="number"||typeof _e=="string"||typeof _e=="symbol"||_e===void 0},s.isBuffer=j.isBuffer}).call(this,_(5).Buffer)},function(o,s,_){(s=o.exports=_(76)).Stream=s,s.Readable=s,s.Writable=_(80),s.Duplex=_(25),s.Transform=_(81),s.PassThrough=_(189),s.finished=_(48),s.pipeline=_(190)},function(o,s,_){o.exports=function(j){return j}},function(o,s,_){var j={};function $(et,tt,nt){nt||(nt=Error);var rt=function(ot){var ut,dt;function Ut(st,ct,pt){return ot.call(this,function(Bt,Qt,gt){return typeof tt=="string"?tt:tt(Bt,Qt,gt)}(st,ct,pt))||this}return dt=ot,(ut=Ut).prototype=Object.create(dt.prototype),ut.prototype.constructor=ut,ut.__proto__=dt,Ut}(nt);rt.prototype.name=nt.name,rt.prototype.code=et,j[et]=rt}function _e(et,tt){if(Array.isArray(et)){var nt=et.length;return et=et.map(function(rt){return String(rt)}),nt>2?"one of ".concat(tt," ").concat(et.slice(0,nt-1).join(", "),", or ")+et[nt-1]:nt===2?"one of ".concat(tt," ").concat(et[0]," or ").concat(et[1]):"of ".concat(tt," ").concat(et[0])}return"of ".concat(tt," ").concat(String(et))}$("ERR_INVALID_OPT_VALUE",function(et,tt){return'The value "'+tt+'" is invalid for option "'+et+'"'},TypeError),$("ERR_INVALID_ARG_TYPE",function(et,tt,nt){var rt,ot,ut;if(typeof tt=="string"&&(ot="not ",tt.substr(0,ot.length)===ot)?(rt="must not be",tt=tt.replace(/^not /,"")):rt="must be",function(Ut,st,ct){return(ct===void 0||ct>Ut.length)&&(ct=Ut.length),Ut.substring(ct-st.length,ct)===st}(et," argument"))ut="The ".concat(et," ").concat(rt," ").concat(_e(tt,"type"));else{var dt=function(Ut,st,ct){return typeof ct!="number"&&(ct=0),!(ct+st.length>Ut.length)&&Ut.indexOf(st,ct)!==-1}(et,".")?"property":"argument";ut='The "'.concat(et,'" ').concat(dt," ").concat(rt," ").concat(_e(tt,"type"))}return ut+=". Received type ".concat(typeof nt)},TypeError),$("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),$("ERR_METHOD_NOT_IMPLEMENTED",function(et){return"The "+et+" method is not implemented"}),$("ERR_STREAM_PREMATURE_CLOSE","Premature close"),$("ERR_STREAM_DESTROYED",function(et){return"Cannot call "+et+" after a stream was destroyed"}),$("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),$("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),$("ERR_STREAM_WRITE_AFTER_END","write after end"),$("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),$("ERR_UNKNOWN_ENCODING",function(et){return"Unknown encoding: "+et},TypeError),$("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),o.exports.codes=j},function(o,s,_){(function(j){var $=Object.keys||function(Ut){var st=[];for(var ct in Ut)st.push(ct);return st};o.exports=ot;var _e=_(143),et=_(61);_(7)(ot,_e);for(var tt=$(et.prototype),nt=0;ntQt.validateHeaders?Qt.validateHeaders(gt):{},this.verbose=Qt.verbose!==!1,Qt.retries!==void 0&&!(Qt.retries>=0))throw new Error("retries must be positive or zero");if(this.configuredRetries=Qt.retries,Qt.timeoutMs!==void 0&&!(Qt.timeoutMs>0))throw new Error("timeoutMs must be positive");if(this.timeoutMs=Qt.timeoutMs,Qt.maxBackoffDelayMs!==void 0&&!(Qt.maxBackoffDelayMs>0))throw new Error("maxBackoffDelayMs must be positive");this.maxBackoffDelayMs=Qt.maxBackoffDelayMs||30*_e.a.second,this.json=Qt.json!==!1}getRetries(){return this.configuredRetries!==void 0?this.configuredRetries:this.getConstructor().retries}getHeaders(){return{}}fetch(Bt,Qt={}){return dt(this,void 0,void 0,function*(){return(yield this.fetchVerbose(Bt,Qt)).body})}fetchVerbose(Bt,Qt={}){return dt(this,void 0,void 0,function*(){let gt=100*_e.a.millisecond,ft=0;const Ft=this.timeoutMs!==void 0?new Date().getTime()+this.timeoutMs:void 0,yt=Ft?()=>Math.max(Ft-new Date().getTime(),0):void 0;for(;;)try{return yield this.doFetch(Bt,Qt,yt)}catch(Ct){const xt=Ct,ht=Object(rt.a)(xt,et);if((yt==null?void 0:yt())===0||ft===this.getRetries()||!ht.retryable)throw ht;ft++,gt=Math.min(...yt?[yt()]:[],gt*(2+.1*(Math.random()-.5)),this.maxBackoffDelayMs),yield Object(tt.a)(gt),this.verbose&&nt.a.warn("Connection failure, retrying. Error: "+xt.cause.message,{url:xt.url,error:xt.cause,attempt:ft})}})}doFetch(Bt,Qt,gt){return dt(this,void 0,void 0,function*(){const{token:ft,json:Ft=this.json,allowUnsafeRetries:yt}=Qt,Ct=Ut(Qt,["token","json","allowUnsafeRetries"]),xt=(Ct.method||"GET").toUpperCase(),ht=this.endpoint!==void 0?`${this.endpoint}${Bt?"/"+Bt:""}`:Bt,mt=new AbortController;let It;if(gt){const vt=gt();vt>0?It=setTimeout(()=>{mt.abort()},vt):mt.abort()}try{let vt;yield Promise.race([this.getConstructor().waitForConnectivity(),new Promise(Zt=>{vt=setTimeout(Zt,gt?Math.min(_e.a.minute,gt()):_e.a.minute)})]),vt&&clearTimeout(vt);const Tt=yield $()(ht,Object.assign(Object.assign(Object.assign({},Ct),Ct.body!==void 0?{body:Ft!==!1?JSON.stringify(Ct.body):Ct.body}:{}),{headers:Object.assign(Object.assign(Object.assign(Object.assign({},Ft!==!1?{"Content-Type":"application/json"}:{}),this.getHeaders()),Ct.headers||{}),ft!==void 0?{Authorization:"Bearer "+ft}:{}),signal:mt.signal})),Ot=Tt.headers.get("content-type")||"",_t=Ot&&Ot.startsWith("application/json"),Wt=_t?yield Tt.json():yield Tt.text(),bt=()=>new ot.a(xt,ht,Ct.body,Tt.status,Tt.headers,Wt,Wt&&Wt.validationErrors||{});if(!Tt.ok)throw this.verbose&&nt.a[Tt.status>=500?"warn":"info"]("Response error",{method:xt,url:ht,statusCode:Tt.status}),bt();const Jt=this.validateHeaders(Tt.headers);if(Object.keys(Jt).length!==0)throw new ut(Jt,bt());if(Tt.status===204)return{body:void 0,headers:Tt.headers};if(Ft&&!_t)throw new Error("Response is not JSON: "+JSON.stringify(Wt));return{body:Wt,headers:Tt.headers}}catch(vt){const Tt=vt,Ot=yt||st.has(xt);if(Tt.message==="Network request failed")throw new et(Tt,ht,Ot);if(Tt.type==="system"&&["EAI_AGAIN","ECONNREFUSED","EHOSTUNREACH","ENOTFOUND"].find(Jt=>Jt===Tt.code))throw new et(Tt,ht,!0);if(Tt.type==="system"&&["ETIMEDOUT","ECONNRESET","ESOCKETTIMEDOUT","EPIPE"].find(Jt=>Jt===Tt.code))throw new et(Tt,ht,Ot);if(Tt.name==="AbortError")throw new et(Tt,ht,Ot);const _t=Object(rt.a)(Tt,ot.a),{statusCode:Wt}=_t;if(Wt===408||Wt===429||Wt===502||Wt===503||Wt===504)throw this.verbose&&!Ot&&nt.a.warn("Potentially unsafe retry"),new et(Tt,ht,!0);if(Wt===500&&["/online-devices","/stream-current-value","/events/counts","/queries/queries"].some(Jt=>ht.includes(Jt)))throw new et(Tt,ht,Ot);const bt=this.validateHeaders(_t.headers);throw Object.keys(bt).length!==0?new ut(bt,_t):(yield this.getConstructor().onResponseError(_t),Tt)}finally{It&&clearTimeout(It)}})}getConstructor(){return Object.getPrototypeOf(this).constructor}}ct.retries=8,ct.waitForConnectivity=()=>dt(void 0,void 0,void 0,function*(){}),ct.onResponseError=()=>dt(void 0,void 0,void 0,function*(){})},function(o,s,_){function j(ut,dt){if(!(ut instanceof dt))throw new TypeError("Cannot call a class as a function")}function $(ut,dt){for(var Ut=0;Ut0&&arguments[0]!==void 0?arguments[0]:{};j(this,ut),ct.colors&&this.addColors(ct.colors),this.options=ct}var dt,Ut,st;return dt=ut,st=[{key:"addColors",value:function(ct){var pt=Object.keys(ct).reduce(function(Bt,Qt){return Bt[Qt]=rt.test(ct[Qt])?ct[Qt].split(rt):ct[Qt],Bt},{});return ut.allColors=Object.assign({},ut.allColors||{},pt),ut.allColors}}],(Ut=[{key:"addColors",value:function(ct){return ut.addColors(ct)}},{key:"colorize",value:function(ct,pt,Bt){if(Bt===void 0&&(Bt=pt),!Array.isArray(ut.allColors[ct]))return _e[ut.allColors[ct]](Bt);for(var Qt=0,gt=ut.allColors[ct].length;Qt=0&&j.length%1==0},o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default={},o.exports=s.default},function(o,s,_){var j=_(5),$=j.Buffer;function _e(tt,nt){for(var rt in tt)nt[rt]=tt[rt]}function et(tt,nt,rt){return $(tt,nt,rt)}$.from&&$.alloc&&$.allocUnsafe&&$.allocUnsafeSlow?o.exports=j:(_e(j,s),s.Buffer=et),_e($,et),et.from=function(tt,nt,rt){if(typeof tt=="number")throw new TypeError("Argument must not be a number");return $(tt,nt,rt)},et.alloc=function(tt,nt,rt){if(typeof tt!="number")throw new TypeError("Argument must be a number");var ot=$(tt);return nt!==void 0?typeof rt=="string"?ot.fill(nt,rt):ot.fill(nt):ot.fill(0),ot},et.allocUnsafe=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return $(tt)},et.allocUnsafeSlow=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return j.SlowBuffer(tt)}},function(o,s,_){(function(j,$,_e){var et=_(37);function tt(mt){var It=this;this.next=null,this.entry=null,this.finish=function(){(function(vt,Tt,Ot){var _t=vt.entry;for(vt.entry=null;_t;){var Wt=_t.callback;Tt.pendingcb--,Wt(Ot),_t=_t.next}Tt.corkedRequestsFree?Tt.corkedRequestsFree.next=vt:Tt.corkedRequestsFree=vt})(It,mt)}}o.exports=gt;var nt,rt=!j.browser&&["v0.10","v0.9."].indexOf(j.version.slice(0,5))>-1?$:et.nextTick;gt.WritableState=Qt;var ot=Object.create(_(32));ot.inherits=_(7);var ut={deprecate:_(43)},dt=_(70),Ut=_(46).Buffer,st=_e.Uint8Array||function(){},ct,pt=_(71);function Bt(){}function Qt(mt,It){nt=nt||_(22),mt=mt||{};var vt=It instanceof nt;this.objectMode=!!mt.objectMode,vt&&(this.objectMode=this.objectMode||!!mt.writableObjectMode);var Tt=mt.highWaterMark,Ot=mt.writableHighWaterMark,_t=this.objectMode?16:16384;this.highWaterMark=Tt||Tt===0?Tt:vt&&(Ot||Ot===0)?Ot:_t,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Wt=mt.decodeStrings===!1;this.decodeStrings=!Wt,this.defaultEncoding=mt.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(bt){(function(Jt,Zt){var Vt=Jt._writableState,jt=Vt.sync,zt=Vt.writecb;if(function(nn){nn.writing=!1,nn.writecb=null,nn.length-=nn.writelen,nn.writelen=0}(Vt),Zt)(function(nn,rn,Dt,wt,Et){--rn.pendingcb,Dt?(et.nextTick(Et,wt),et.nextTick(ht,nn,rn),nn._writableState.errorEmitted=!0,nn.emit("error",wt)):(Et(wt),nn._writableState.errorEmitted=!0,nn.emit("error",wt),ht(nn,rn))})(Jt,Vt,jt,Zt,zt);else{var $t=Ct(Vt);$t||Vt.corked||Vt.bufferProcessing||!Vt.bufferedRequest||yt(Jt,Vt),jt?rt(Ft,Jt,Vt,$t,zt):Ft(Jt,Vt,$t,zt)}})(It,bt)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new tt(this)}function gt(mt){if(nt=nt||_(22),!(ct.call(gt,this)||this instanceof nt))return new gt(mt);this._writableState=new Qt(mt,this),this.writable=!0,mt&&(typeof mt.write=="function"&&(this._write=mt.write),typeof mt.writev=="function"&&(this._writev=mt.writev),typeof mt.destroy=="function"&&(this._destroy=mt.destroy),typeof mt.final=="function"&&(this._final=mt.final)),dt.call(this)}function ft(mt,It,vt,Tt,Ot,_t,Wt){It.writelen=Tt,It.writecb=Wt,It.writing=!0,It.sync=!0,vt?mt._writev(Ot,It.onwrite):mt._write(Ot,_t,It.onwrite),It.sync=!1}function Ft(mt,It,vt,Tt){vt||function(Ot,_t){_t.length===0&&_t.needDrain&&(_t.needDrain=!1,Ot.emit("drain"))}(mt,It),It.pendingcb--,Tt(),ht(mt,It)}function yt(mt,It){It.bufferProcessing=!0;var vt=It.bufferedRequest;if(mt._writev&&vt&&vt.next){var Tt=It.bufferedRequestCount,Ot=new Array(Tt),_t=It.corkedRequestsFree;_t.entry=vt;for(var Wt=0,bt=!0;vt;)Ot[Wt]=vt,vt.isBuf||(bt=!1),vt=vt.next,Wt+=1;Ot.allBuffers=bt,ft(mt,It,!0,It.length,Ot,"",_t.finish),It.pendingcb++,It.lastBufferedRequest=null,_t.next?(It.corkedRequestsFree=_t.next,_t.next=null):It.corkedRequestsFree=new tt(It),It.bufferedRequestCount=0}else{for(;vt;){var Jt=vt.chunk,Zt=vt.encoding,Vt=vt.callback;if(ft(mt,It,!1,It.objectMode?1:Jt.length,Jt,Zt,Vt),vt=vt.next,It.bufferedRequestCount--,It.writing)break}vt===null&&(It.lastBufferedRequest=null)}It.bufferedRequest=vt,It.bufferProcessing=!1}function Ct(mt){return mt.ending&&mt.length===0&&mt.bufferedRequest===null&&!mt.finished&&!mt.writing}function xt(mt,It){mt._final(function(vt){It.pendingcb--,vt&&mt.emit("error",vt),It.prefinished=!0,mt.emit("prefinish"),ht(mt,It)})}function ht(mt,It){var vt=Ct(It);return vt&&(function(Tt,Ot){Ot.prefinished||Ot.finalCalled||(typeof Tt._final=="function"?(Ot.pendingcb++,Ot.finalCalled=!0,et.nextTick(xt,Tt,Ot)):(Ot.prefinished=!0,Tt.emit("prefinish")))}(mt,It),It.pendingcb===0&&(It.finished=!0,mt.emit("finish"))),vt}ot.inherits(gt,dt),Qt.prototype.getBuffer=function(){for(var mt=this.bufferedRequest,It=[];mt;)It.push(mt),mt=mt.next;return It},function(){try{Object.defineProperty(Qt.prototype,"buffer",{get:ut.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ct=Function.prototype[Symbol.hasInstance],Object.defineProperty(gt,Symbol.hasInstance,{value:function(mt){return!!ct.call(this,mt)||this===gt&&mt&&mt._writableState instanceof Qt}})):ct=function(mt){return mt instanceof this},gt.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},gt.prototype.write=function(mt,It,vt){var Tt,Ot=this._writableState,_t=!1,Wt=!Ot.objectMode&&(Tt=mt,Ut.isBuffer(Tt)||Tt instanceof st);return Wt&&!Ut.isBuffer(mt)&&(mt=function(bt){return Ut.from(bt)}(mt)),typeof It=="function"&&(vt=It,It=null),Wt?It="buffer":It||(It=Ot.defaultEncoding),typeof vt!="function"&&(vt=Bt),Ot.ended?function(bt,Jt){var Zt=new Error("write after end");bt.emit("error",Zt),et.nextTick(Jt,Zt)}(this,vt):(Wt||function(bt,Jt,Zt,Vt){var jt=!0,zt=!1;return Zt===null?zt=new TypeError("May not write null values to stream"):typeof Zt=="string"||Zt===void 0||Jt.objectMode||(zt=new TypeError("Invalid non-string/buffer chunk")),zt&&(bt.emit("error",zt),et.nextTick(Vt,zt),jt=!1),jt}(this,Ot,mt,vt))&&(Ot.pendingcb++,_t=function(bt,Jt,Zt,Vt,jt,zt){if(!Zt){var $t=function(wt,Et,kt){return wt.objectMode||wt.decodeStrings===!1||typeof Et!="string"||(Et=Ut.from(Et,kt)),Et}(Jt,Vt,jt);Vt!==$t&&(Zt=!0,jt="buffer",Vt=$t)}var nn=Jt.objectMode?1:Vt.length;Jt.length+=nn;var rn=Jt.length-1))throw new TypeError("Unknown encoding: "+mt);return this._writableState.defaultEncoding=mt,this},Object.defineProperty(gt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),gt.prototype._write=function(mt,It,vt){vt(new Error("_write() is not implemented"))},gt.prototype._writev=null,gt.prototype.end=function(mt,It,vt){var Tt=this._writableState;typeof mt=="function"?(vt=mt,mt=null,It=null):typeof It=="function"&&(vt=It,It=null),mt!=null&&this.write(mt,It),Tt.corked&&(Tt.corked=1,this.uncork()),Tt.ending||Tt.finished||function(Ot,_t,Wt){_t.ending=!0,ht(Ot,_t),Wt&&(_t.finished?et.nextTick(Wt):Ot.once("finish",Wt)),_t.ended=!0,Ot.writable=!1}(this,Tt,vt)},Object.defineProperty(gt.prototype,"destroyed",{get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(mt){this._writableState&&(this._writableState.destroyed=mt)}}),gt.prototype.destroy=pt.destroy,gt.prototype._undestroy=pt.undestroy,gt.prototype._destroy=function(mt,It){this.end(),It(mt)}}).call(this,_(2),_(19).setImmediate,_(6))},function(o,s,_){var j=_(24).codes.ERR_STREAM_PREMATURE_CLOSE;function $(){}o.exports=function _e(et,tt,nt){if(typeof tt=="function")return _e(et,null,tt);tt||(tt={}),nt=function(gt){var ft=!1;return function(){if(!ft){ft=!0;for(var Ft=arguments.length,yt=new Array(Ft),Ct=0;Ct=0;ot--){var ut=tt[ot];ut==="."?tt.splice(ot,1):ut===".."?(tt.splice(ot,1),rt++):rt&&(tt.splice(ot,1),rt--)}if(nt)for(;rt--;rt)tt.unshift("..");return tt}function _e(tt,nt){if(tt.filter)return tt.filter(nt);for(var rt=[],ot=0;ot=-1&&!nt;rt--){var ot=rt>=0?arguments[rt]:j.cwd();if(typeof ot!="string")throw new TypeError("Arguments to path.resolve must be strings");ot&&(tt=ot+"/"+tt,nt=ot.charAt(0)==="/")}return(nt?"/":"")+(tt=$(_e(tt.split("/"),function(ut){return!!ut}),!nt).join("/"))||"."},s.normalize=function(tt){var nt=s.isAbsolute(tt),rt=et(tt,-1)==="/";return(tt=$(_e(tt.split("/"),function(ot){return!!ot}),!nt).join("/"))||nt||(tt="."),tt&&rt&&(tt+="/"),(nt?"/":"")+tt},s.isAbsolute=function(tt){return tt.charAt(0)==="/"},s.join=function(){var tt=Array.prototype.slice.call(arguments,0);return s.normalize(_e(tt,function(nt,rt){if(typeof nt!="string")throw new TypeError("Arguments to path.join must be strings");return nt}).join("/"))},s.relative=function(tt,nt){function rt(pt){for(var Bt=0;Bt=0&&pt[Qt]==="";Qt--);return Bt>Qt?[]:pt.slice(Bt,Qt-Bt+1)}tt=s.resolve(tt).substr(1),nt=s.resolve(nt).substr(1);for(var ot=rt(tt.split("/")),ut=rt(nt.split("/")),dt=Math.min(ot.length,ut.length),Ut=dt,st=0;st=1;--dt)if((nt=tt.charCodeAt(dt))===47){if(!ut){ot=dt;break}}else ut=!1;return ot===-1?rt?"/":".":rt&&ot===1?"/":tt.slice(0,ot)},s.basename=function(tt,nt){var rt=function(ot){typeof ot!="string"&&(ot+="");var ut,dt=0,Ut=-1,st=!0;for(ut=ot.length-1;ut>=0;--ut)if(ot.charCodeAt(ut)===47){if(!st){dt=ut+1;break}}else Ut===-1&&(st=!1,Ut=ut+1);return Ut===-1?"":ot.slice(dt,Ut)}(tt);return nt&&rt.substr(-1*nt.length)===nt&&(rt=rt.substr(0,rt.length-nt.length)),rt},s.extname=function(tt){typeof tt!="string"&&(tt+="");for(var nt=-1,rt=0,ot=-1,ut=!0,dt=0,Ut=tt.length-1;Ut>=0;--Ut){var st=tt.charCodeAt(Ut);if(st!==47)ot===-1&&(ut=!1,ot=Ut+1),st===46?nt===-1?nt=Ut:dt!==1&&(dt=1):nt!==-1&&(dt=-1);else if(!ut){rt=Ut+1;break}}return nt===-1||ot===-1||dt===0||dt===1&&nt===ot-1&&nt===rt+1?"":tt.slice(nt,ot)};var et="ab".substr(-1)==="b"?function(tt,nt,rt){return tt.substr(nt,rt)}:function(tt,nt,rt){return nt<0&&(nt=tt.length+nt),tt.substr(nt,rt)}}).call(this,_(2))},,function(o,s,_){var j=s.format=_(8);s.levels=_(102),Object.defineProperty(j,"align",{value:_(119)}),Object.defineProperty(j,"cli",{value:_(120)}),Object.defineProperty(j,"colorize",{value:_(42)}),Object.defineProperty(j,"combine",{value:_(121)}),Object.defineProperty(j,"errors",{value:_(122)}),Object.defineProperty(j,"json",{value:_(123)}),Object.defineProperty(j,"label",{value:_(124)}),Object.defineProperty(j,"logstash",{value:_(125)}),Object.defineProperty(j,"metadata",{value:_(126)}),Object.defineProperty(j,"ms",{value:_(127)}),Object.defineProperty(j,"padLevels",{value:_(59)}),Object.defineProperty(j,"prettyPrint",{value:_(129)}),Object.defineProperty(j,"printf",{value:_(130)}),Object.defineProperty(j,"simple",{value:_(131)}),Object.defineProperty(j,"splat",{value:_(132)}),Object.defineProperty(j,"timestamp",{value:_(133)}),Object.defineProperty(j,"uncolorize",{value:_(135)})},function(o,s,_){var j=_(103);o.exports=j},function(o,s,_){function j(dt){return function(Ut){if(Array.isArray(Ut))return $(Ut)}(dt)||function(Ut){if(typeof Symbol<"u"&&Ut[Symbol.iterator]!=null||Ut["@@iterator"]!=null)return Array.from(Ut)}(dt)||function(Ut,st){if(Ut){if(typeof Ut=="string")return $(Ut,st);var ct=Object.prototype.toString.call(Ut).slice(8,-1);if(ct==="Object"&&Ut.constructor&&(ct=Ut.constructor.name),ct==="Map"||ct==="Set")return Array.from(Ut);if(ct==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ct))return $(Ut,st)}}(dt)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function $(dt,Ut){(Ut==null||Ut>dt.length)&&(Ut=dt.length);for(var st=0,ct=new Array(Ut);st0&&arguments[0]!==void 0?arguments[0]:{levels:nt.npm.levels};_e(this,dt),this.paddings=dt.paddingForLevels(pt.levels,pt.filler),this.options=pt}var Ut,st,ct;return Ut=dt,ct=[{key:"getLongestLevel",value:function(pt){var Bt=Object.keys(pt).map(function(Qt){return Qt.length});return Math.max.apply(Math,j(Bt))}},{key:"paddingForLevel",value:function(pt,Bt,Qt){var gt=Qt+1-pt.length,ft=Math.floor(gt/Bt.length);return"".concat(Bt).concat(Bt.repeat(ft)).slice(0,gt)}},{key:"paddingForLevels",value:function(pt){var Bt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:" ",Qt=dt.getLongestLevel(pt);return Object.keys(pt).reduce(function(gt,ft){return gt[ft]=dt.paddingForLevel(ft,Bt,Qt),gt},{})}}],(st=[{key:"transform",value:function(pt,Bt){return pt.message="".concat(this.paddings[pt[rt]]).concat(pt.message),pt[ot]&&(pt[ot]="".concat(this.paddings[pt[rt]]).concat(pt[ot])),pt}}])&&et(Ut.prototype,st),ct&&et(Ut,ct),Object.defineProperty(Ut,"prototype",{writable:!1}),dt}();o.exports=function(dt){return new ut(dt)},o.exports.Padder=o.exports.Format=ut},function(o,s,_){var j=_(13).format;s.warn={deprecated:function($){return function(){throw new Error(j("{ %s } was removed in winston@3.0.0.",$))}},useFormat:function($){return function(){throw new Error([j("{ %s } was removed in winston@3.0.0.",$),"Use a custom winston.format = winston.format(function) instead."].join(` -`))}},forFunctions:function($,_e,et){et.forEach(function(tt){$[tt]=s.warn[_e](tt)})},moved:function($,_e,et){function tt(){return function(){throw new Error([j("winston.%s was moved in winston@3.0.0.",et),j("Use a winston.%s instead.",_e)].join(` -`))}}Object.defineProperty($,et,{get:tt,set:tt})},forProperties:function($,_e,et){et.forEach(function(tt){var nt=s.warn[_e](tt);Object.defineProperty($,tt,{get:nt,set:nt})})}}},function(o,s,_){(function(j,$){function _e(bt){var Jt=this;this.next=null,this.entry=null,this.finish=function(){(function(Zt,Vt,jt){var zt=Zt.entry;for(Zt.entry=null;zt;){var $t=zt.callback;Vt.pendingcb--,$t(jt),zt=zt.next}Vt.corkedRequestsFree.next=Zt})(Jt,bt)}}var et;o.exports=mt,mt.WritableState=ht;var tt={deprecate:_(43)},nt=_(62),rt=_(5).Buffer,ot=(j!==void 0?j:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},ut,dt=_(63),Ut=_(64).getHighWaterMark,st=_(35).codes,ct=st.ERR_INVALID_ARG_TYPE,pt=st.ERR_METHOD_NOT_IMPLEMENTED,Bt=st.ERR_MULTIPLE_CALLBACK,Qt=st.ERR_STREAM_CANNOT_PIPE,gt=st.ERR_STREAM_DESTROYED,ft=st.ERR_STREAM_NULL_VALUES,Ft=st.ERR_STREAM_WRITE_AFTER_END,yt=st.ERR_UNKNOWN_ENCODING,Ct=dt.errorOrDestroy;function xt(){}function ht(bt,Jt,Zt){et=et||_(36),bt=bt||{},typeof Zt!="boolean"&&(Zt=Jt instanceof et),this.objectMode=!!bt.objectMode,Zt&&(this.objectMode=this.objectMode||!!bt.writableObjectMode),this.highWaterMark=Ut(this,bt,"writableHighWaterMark",Zt),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Vt=bt.decodeStrings===!1;this.decodeStrings=!Vt,this.defaultEncoding=bt.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(jt){(function(zt,$t){var nn=zt._writableState,rn=nn.sync,Dt=nn.writecb;if(typeof Dt!="function")throw new Bt;if(function(Et){Et.writing=!1,Et.writecb=null,Et.length-=Et.writelen,Et.writelen=0}(nn),$t)(function(Et,kt,Pt,Kt,Ht){--kt.pendingcb,Pt?($.nextTick(Ht,Kt),$.nextTick(Wt,Et,kt),Et._writableState.errorEmitted=!0,Ct(Et,Kt)):(Ht(Kt),Et._writableState.errorEmitted=!0,Ct(Et,Kt),Wt(Et,kt))})(zt,nn,rn,$t,Dt);else{var wt=Ot(nn)||zt.destroyed;wt||nn.corked||nn.bufferProcessing||!nn.bufferedRequest||Tt(zt,nn),rn?$.nextTick(vt,zt,nn,wt,Dt):vt(zt,nn,wt,Dt)}})(Jt,jt)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=bt.emitClose!==!1,this.autoDestroy=!!bt.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new _e(this)}function mt(bt){var Jt=this instanceof(et=et||_(36));if(!Jt&&!ut.call(mt,this))return new mt(bt);this._writableState=new ht(bt,this,Jt),this.writable=!0,bt&&(typeof bt.write=="function"&&(this._write=bt.write),typeof bt.writev=="function"&&(this._writev=bt.writev),typeof bt.destroy=="function"&&(this._destroy=bt.destroy),typeof bt.final=="function"&&(this._final=bt.final)),nt.call(this)}function It(bt,Jt,Zt,Vt,jt,zt,$t){Jt.writelen=Vt,Jt.writecb=$t,Jt.writing=!0,Jt.sync=!0,Jt.destroyed?Jt.onwrite(new gt("write")):Zt?bt._writev(jt,Jt.onwrite):bt._write(jt,zt,Jt.onwrite),Jt.sync=!1}function vt(bt,Jt,Zt,Vt){Zt||function(jt,zt){zt.length===0&&zt.needDrain&&(zt.needDrain=!1,jt.emit("drain"))}(bt,Jt),Jt.pendingcb--,Vt(),Wt(bt,Jt)}function Tt(bt,Jt){Jt.bufferProcessing=!0;var Zt=Jt.bufferedRequest;if(bt._writev&&Zt&&Zt.next){var Vt=Jt.bufferedRequestCount,jt=new Array(Vt),zt=Jt.corkedRequestsFree;zt.entry=Zt;for(var $t=0,nn=!0;Zt;)jt[$t]=Zt,Zt.isBuf||(nn=!1),Zt=Zt.next,$t+=1;jt.allBuffers=nn,It(bt,Jt,!0,Jt.length,jt,"",zt.finish),Jt.pendingcb++,Jt.lastBufferedRequest=null,zt.next?(Jt.corkedRequestsFree=zt.next,zt.next=null):Jt.corkedRequestsFree=new _e(Jt),Jt.bufferedRequestCount=0}else{for(;Zt;){var rn=Zt.chunk,Dt=Zt.encoding,wt=Zt.callback;if(It(bt,Jt,!1,Jt.objectMode?1:rn.length,rn,Dt,wt),Zt=Zt.next,Jt.bufferedRequestCount--,Jt.writing)break}Zt===null&&(Jt.lastBufferedRequest=null)}Jt.bufferedRequest=Zt,Jt.bufferProcessing=!1}function Ot(bt){return bt.ending&&bt.length===0&&bt.bufferedRequest===null&&!bt.finished&&!bt.writing}function _t(bt,Jt){bt._final(function(Zt){Jt.pendingcb--,Zt&&Ct(bt,Zt),Jt.prefinished=!0,bt.emit("prefinish"),Wt(bt,Jt)})}function Wt(bt,Jt){var Zt=Ot(Jt);if(Zt&&(function(jt,zt){zt.prefinished||zt.finalCalled||(typeof jt._final!="function"||zt.destroyed?(zt.prefinished=!0,jt.emit("prefinish")):(zt.pendingcb++,zt.finalCalled=!0,$.nextTick(_t,jt,zt)))}(bt,Jt),Jt.pendingcb===0&&(Jt.finished=!0,bt.emit("finish"),Jt.autoDestroy))){var Vt=bt._readableState;(!Vt||Vt.autoDestroy&&Vt.endEmitted)&&bt.destroy()}return Zt}_(7)(mt,nt),ht.prototype.getBuffer=function(){for(var bt=this.bufferedRequest,Jt=[];bt;)Jt.push(bt),bt=bt.next;return Jt},function(){try{Object.defineProperty(ht.prototype,"buffer",{get:tt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ut=Function.prototype[Symbol.hasInstance],Object.defineProperty(mt,Symbol.hasInstance,{value:function(bt){return!!ut.call(this,bt)||this===mt&&bt&&bt._writableState instanceof ht}})):ut=function(bt){return bt instanceof this},mt.prototype.pipe=function(){Ct(this,new Qt)},mt.prototype.write=function(bt,Jt,Zt){var Vt,jt=this._writableState,zt=!1,$t=!jt.objectMode&&(Vt=bt,rt.isBuffer(Vt)||Vt instanceof ot);return $t&&!rt.isBuffer(bt)&&(bt=function(nn){return rt.from(nn)}(bt)),typeof Jt=="function"&&(Zt=Jt,Jt=null),$t?Jt="buffer":Jt||(Jt=jt.defaultEncoding),typeof Zt!="function"&&(Zt=xt),jt.ending?function(nn,rn){var Dt=new Ft;Ct(nn,Dt),$.nextTick(rn,Dt)}(this,Zt):($t||function(nn,rn,Dt,wt){var Et;return Dt===null?Et=new ft:typeof Dt=="string"||rn.objectMode||(Et=new ct("chunk",["string","Buffer"],Dt)),!Et||(Ct(nn,Et),$.nextTick(wt,Et),!1)}(this,jt,bt,Zt))&&(jt.pendingcb++,zt=function(nn,rn,Dt,wt,Et,kt){if(!Dt){var Pt=function(sn,gn,Cn){return sn.objectMode||sn.decodeStrings===!1||typeof gn!="string"||(gn=rt.from(gn,Cn)),gn}(rn,wt,Et);wt!==Pt&&(Dt=!0,Et="buffer",wt=Pt)}var Kt=rn.objectMode?1:wt.length;rn.length+=Kt;var Ht=rn.length-1))throw new yt(bt);return this._writableState.defaultEncoding=bt,this},Object.defineProperty(mt.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(mt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),mt.prototype._write=function(bt,Jt,Zt){Zt(new pt("_write()"))},mt.prototype._writev=null,mt.prototype.end=function(bt,Jt,Zt){var Vt=this._writableState;return typeof bt=="function"?(Zt=bt,bt=null,Jt=null):typeof Jt=="function"&&(Zt=Jt,Jt=null),bt!=null&&this.write(bt,Jt),Vt.corked&&(Vt.corked=1,this.uncork()),Vt.ending||function(jt,zt,$t){zt.ending=!0,Wt(jt,zt),$t&&(zt.finished?$.nextTick($t):jt.once("finish",$t)),zt.ended=!0,jt.writable=!1}(this,Vt,Zt),this},Object.defineProperty(mt.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(mt.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(bt){this._writableState&&(this._writableState.destroyed=bt)}}),mt.prototype.destroy=dt.destroy,mt.prototype._undestroy=dt.undestroy,mt.prototype._destroy=function(bt,Jt){Jt(bt)}}).call(this,_(6),_(2))},function(o,s,_){o.exports=_(20).EventEmitter},function(o,s,_){(function(j){function $(tt,nt){et(tt,nt),_e(tt)}function _e(tt){tt._writableState&&!tt._writableState.emitClose||tt._readableState&&!tt._readableState.emitClose||tt.emit("close")}function et(tt,nt){tt.emit("error",nt)}o.exports={destroy:function(tt,nt){var rt=this,ot=this._readableState&&this._readableState.destroyed,ut=this._writableState&&this._writableState.destroyed;return ot||ut?(nt?nt(tt):tt&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,j.nextTick(et,this,tt)):j.nextTick(et,this,tt)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(tt||null,function(dt){!nt&&dt?rt._writableState?rt._writableState.errorEmitted?j.nextTick(_e,rt):(rt._writableState.errorEmitted=!0,j.nextTick($,rt,dt)):j.nextTick($,rt,dt):nt?(j.nextTick(_e,rt),nt(dt)):j.nextTick(_e,rt)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(tt,nt){var rt=tt._readableState,ot=tt._writableState;rt&&rt.autoDestroy||ot&&ot.autoDestroy?tt.destroy(nt):tt.emit("error",nt)}}}).call(this,_(2))},function(o,s,_){var j=_(35).codes.ERR_INVALID_OPT_VALUE;o.exports={getHighWaterMark:function($,_e,et,tt){var nt=function(rt,ot,ut){return rt.highWaterMark!=null?rt.highWaterMark:ot?rt[ut]:null}(_e,tt,et);if(nt!=null){if(!isFinite(nt)||Math.floor(nt)!==nt||nt<0)throw new j(tt?et:"highWaterMark",nt);return Math.floor(nt)}return $.objectMode?16:16384}}},function(o,s){},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=et(_(159)),$=et(_(23)),_e=et(_(30));function et(tt){return tt&&tt.__esModule?tt:{default:tt}}s.default=(0,_e.default)(function(tt,nt,rt,ot){return(0,j.default)(nt)(tt,(0,$.default)(rt),ot)},4),o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j){function $(..._e){if(j!==null){var et=j;j=null,et.apply(this,_e)}}return Object.assign($,j),$},o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j){return function(...$){if(j===null)throw new Error("Callback was already called.");var _e=j;j=null,_e.apply(this,$)}},o.exports=s.default},function(o,s,_){(function(j,$){var _e=_(37);o.exports=ft;var et,tt=_(165);ft.ReadableState=gt,_(20).EventEmitter;var nt=function(Zt,Vt){return Zt.listeners(Vt).length},rt=_(70),ot=_(46).Buffer,ut=j.Uint8Array||function(){},dt=Object.create(_(32));dt.inherits=_(7);var Ut=_(166),st=void 0;st=Ut&&Ut.debuglog?Ut.debuglog("stream"):function(){};var ct,pt=_(167),Bt=_(71);dt.inherits(ft,rt);var Qt=["error","close","destroy","pause","resume"];function gt(Zt,Vt){Zt=Zt||{};var jt=Vt instanceof(et=et||_(22));this.objectMode=!!Zt.objectMode,jt&&(this.objectMode=this.objectMode||!!Zt.readableObjectMode);var zt=Zt.highWaterMark,$t=Zt.readableHighWaterMark,nn=this.objectMode?16:16384;this.highWaterMark=zt||zt===0?zt:jt&&($t||$t===0)?$t:nn,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new pt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=Zt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Zt.encoding&&(ct||(ct=_(21).StringDecoder),this.decoder=new ct(Zt.encoding),this.encoding=Zt.encoding)}function ft(Zt){if(et=et||_(22),!(this instanceof ft))return new ft(Zt);this._readableState=new gt(Zt,this),this.readable=!0,Zt&&(typeof Zt.read=="function"&&(this._read=Zt.read),typeof Zt.destroy=="function"&&(this._destroy=Zt.destroy)),rt.call(this)}function Ft(Zt,Vt,jt,zt,$t){var nn,rn=Zt._readableState;return Vt===null?(rn.reading=!1,function(Dt,wt){if(!wt.ended){if(wt.decoder){var Et=wt.decoder.end();Et&&Et.length&&(wt.buffer.push(Et),wt.length+=wt.objectMode?1:Et.length)}wt.ended=!0,xt(Dt)}}(Zt,rn)):($t||(nn=function(Dt,wt){var Et;kt=wt,ot.isBuffer(kt)||kt instanceof ut||typeof wt=="string"||wt===void 0||Dt.objectMode||(Et=new TypeError("Invalid non-string/buffer chunk"));var kt;return Et}(rn,Vt)),nn?Zt.emit("error",nn):rn.objectMode||Vt&&Vt.length>0?(typeof Vt=="string"||rn.objectMode||Object.getPrototypeOf(Vt)===ot.prototype||(Vt=function(Dt){return ot.from(Dt)}(Vt)),zt?rn.endEmitted?Zt.emit("error",new Error("stream.unshift() after end event")):yt(Zt,rn,Vt,!0):rn.ended?Zt.emit("error",new Error("stream.push() after EOF")):(rn.reading=!1,rn.decoder&&!jt?(Vt=rn.decoder.write(Vt),rn.objectMode||Vt.length!==0?yt(Zt,rn,Vt,!1):mt(Zt,rn)):yt(Zt,rn,Vt,!1))):zt||(rn.reading=!1)),function(Dt){return!Dt.ended&&(Dt.needReadable||Dt.lengthVt.highWaterMark&&(Vt.highWaterMark=function(jt){return jt>=8388608?jt=8388608:(jt--,jt|=jt>>>1,jt|=jt>>>2,jt|=jt>>>4,jt|=jt>>>8,jt|=jt>>>16,jt++),jt}(Zt)),Zt<=Vt.length?Zt:Vt.ended?Vt.length:(Vt.needReadable=!0,0))}function xt(Zt){var Vt=Zt._readableState;Vt.needReadable=!1,Vt.emittedReadable||(st("emitReadable",Vt.flowing),Vt.emittedReadable=!0,Vt.sync?_e.nextTick(ht,Zt):ht(Zt))}function ht(Zt){st("emit readable"),Zt.emit("readable"),Ot(Zt)}function mt(Zt,Vt){Vt.readingMore||(Vt.readingMore=!0,_e.nextTick(It,Zt,Vt))}function It(Zt,Vt){for(var jt=Vt.length;!Vt.reading&&!Vt.flowing&&!Vt.ended&&Vt.length=Vt.length?(jt=Vt.decoder?Vt.buffer.join(""):Vt.buffer.length===1?Vt.buffer.head.data:Vt.buffer.concat(Vt.length),Vt.buffer.clear()):jt=function(zt,$t,nn){var rn;return zt<$t.head.data.length?(rn=$t.head.data.slice(0,zt),$t.head.data=$t.head.data.slice(zt)):rn=zt===$t.head.data.length?$t.shift():nn?function(Dt,wt){var Et=wt.head,kt=1,Pt=Et.data;for(Dt-=Pt.length;Et=Et.next;){var Kt=Et.data,Ht=Dt>Kt.length?Kt.length:Dt;if(Ht===Kt.length?Pt+=Kt:Pt+=Kt.slice(0,Dt),(Dt-=Ht)===0){Ht===Kt.length?(++kt,Et.next?wt.head=Et.next:wt.head=wt.tail=null):(wt.head=Et,Et.data=Kt.slice(Ht));break}++kt}return wt.length-=kt,Pt}(zt,$t):function(Dt,wt){var Et=ot.allocUnsafe(Dt),kt=wt.head,Pt=1;for(kt.data.copy(Et),Dt-=kt.data.length;kt=kt.next;){var Kt=kt.data,Ht=Dt>Kt.length?Kt.length:Dt;if(Kt.copy(Et,Et.length-Dt,0,Ht),(Dt-=Ht)===0){Ht===Kt.length?(++Pt,kt.next?wt.head=kt.next:wt.head=wt.tail=null):(wt.head=kt,kt.data=Kt.slice(Ht));break}++Pt}return wt.length-=Pt,Et}(zt,$t),rn}(Zt,Vt.buffer,Vt.decoder),jt);var jt}function Wt(Zt){var Vt=Zt._readableState;if(Vt.length>0)throw new Error('"endReadable()" called on non-empty stream');Vt.endEmitted||(Vt.ended=!0,_e.nextTick(bt,Vt,Zt))}function bt(Zt,Vt){Zt.endEmitted||Zt.length!==0||(Zt.endEmitted=!0,Vt.readable=!1,Vt.emit("end"))}function Jt(Zt,Vt){for(var jt=0,zt=Zt.length;jt=Vt.highWaterMark||Vt.ended))return st("read: emitReadable",Vt.length,Vt.ended),Vt.length===0&&Vt.ended?Wt(this):xt(this),null;if((Zt=Ct(Zt,Vt))===0&&Vt.ended)return Vt.length===0&&Wt(this),null;var zt,$t=Vt.needReadable;return st("need readable",$t),(Vt.length===0||Vt.length-Zt0?_t(Zt,Vt):null)===null?(Vt.needReadable=!0,Zt=0):Vt.length-=Zt,Vt.length===0&&(Vt.ended||(Vt.needReadable=!0),jt!==Zt&&Vt.ended&&Wt(this)),zt!==null&&this.emit("data",zt),zt},ft.prototype._read=function(Zt){this.emit("error",new Error("_read() is not implemented"))},ft.prototype.pipe=function(Zt,Vt){var jt=this,zt=this._readableState;switch(zt.pipesCount){case 0:zt.pipes=Zt;break;case 1:zt.pipes=[zt.pipes,Zt];break;default:zt.pipes.push(Zt)}zt.pipesCount+=1,st("pipe count=%d opts=%j",zt.pipesCount,Vt);var $t=(!Vt||Vt.end!==!1)&&Zt!==$.stdout&&Zt!==$.stderr?rn:on;function nn(sn,gn){st("onunpipe"),sn===jt&&gn&&gn.hasUnpiped===!1&&(gn.hasUnpiped=!0,st("cleanup"),Zt.removeListener("close",Kt),Zt.removeListener("finish",Ht),Zt.removeListener("drain",Dt),Zt.removeListener("error",Pt),Zt.removeListener("unpipe",nn),jt.removeListener("end",rn),jt.removeListener("end",on),jt.removeListener("data",kt),wt=!0,!zt.awaitDrain||Zt._writableState&&!Zt._writableState.needDrain||Dt())}function rn(){st("onend"),Zt.end()}zt.endEmitted?_e.nextTick($t):jt.once("end",$t),Zt.on("unpipe",nn);var Dt=function(sn){return function(){var gn=sn._readableState;st("pipeOnDrain",gn.awaitDrain),gn.awaitDrain&&gn.awaitDrain--,gn.awaitDrain===0&&nt(sn,"data")&&(gn.flowing=!0,Ot(sn))}}(jt);Zt.on("drain",Dt);var wt=!1,Et=!1;function kt(sn){st("ondata"),Et=!1,Zt.write(sn)!==!1||Et||((zt.pipesCount===1&&zt.pipes===Zt||zt.pipesCount>1&&Jt(zt.pipes,Zt)!==-1)&&!wt&&(st("false write response, pause",jt._readableState.awaitDrain),jt._readableState.awaitDrain++,Et=!0),jt.pause())}function Pt(sn){st("onerror",sn),on(),Zt.removeListener("error",Pt),nt(Zt,"error")===0&&Zt.emit("error",sn)}function Kt(){Zt.removeListener("finish",Ht),on()}function Ht(){st("onfinish"),Zt.removeListener("close",Kt),on()}function on(){st("unpipe"),jt.unpipe(Zt)}return jt.on("data",kt),function(sn,gn,Cn){if(typeof sn.prependListener=="function")return sn.prependListener(gn,Cn);sn._events&&sn._events[gn]?tt(sn._events[gn])?sn._events[gn].unshift(Cn):sn._events[gn]=[Cn,sn._events[gn]]:sn.on(gn,Cn)}(Zt,"error",Pt),Zt.once("close",Kt),Zt.once("finish",Ht),Zt.emit("pipe",jt),zt.flowing||(st("pipe resume"),jt.resume()),Zt},ft.prototype.unpipe=function(Zt){var Vt=this._readableState,jt={hasUnpiped:!1};if(Vt.pipesCount===0)return this;if(Vt.pipesCount===1)return Zt&&Zt!==Vt.pipes||(Zt||(Zt=Vt.pipes),Vt.pipes=null,Vt.pipesCount=0,Vt.flowing=!1,Zt&&Zt.emit("unpipe",this,jt)),this;if(!Zt){var zt=Vt.pipes,$t=Vt.pipesCount;Vt.pipes=null,Vt.pipesCount=0,Vt.flowing=!1;for(var nn=0;nn<$t;nn++)zt[nn].emit("unpipe",this,jt);return this}var rn=Jt(Vt.pipes,Zt);return rn===-1||(Vt.pipes.splice(rn,1),Vt.pipesCount-=1,Vt.pipesCount===1&&(Vt.pipes=Vt.pipes[0]),Zt.emit("unpipe",this,jt)),this},ft.prototype.on=function(Zt,Vt){var jt=rt.prototype.on.call(this,Zt,Vt);if(Zt==="data")this._readableState.flowing!==!1&&this.resume();else if(Zt==="readable"){var zt=this._readableState;zt.endEmitted||zt.readableListening||(zt.readableListening=zt.needReadable=!0,zt.emittedReadable=!1,zt.reading?zt.length&&xt(this):_e.nextTick(vt,this))}return jt},ft.prototype.addListener=ft.prototype.on,ft.prototype.resume=function(){var Zt=this._readableState;return Zt.flowing||(st("resume"),Zt.flowing=!0,function(Vt,jt){jt.resumeScheduled||(jt.resumeScheduled=!0,_e.nextTick(Tt,Vt,jt))}(this,Zt)),this},ft.prototype.pause=function(){return st("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(st("pause"),this._readableState.flowing=!1,this.emit("pause")),this},ft.prototype.wrap=function(Zt){var Vt=this,jt=this._readableState,zt=!1;for(var $t in Zt.on("end",function(){if(st("wrapped end"),jt.decoder&&!jt.ended){var rn=jt.decoder.end();rn&&rn.length&&Vt.push(rn)}Vt.push(null)}),Zt.on("data",function(rn){st("wrapped data"),jt.decoder&&(rn=jt.decoder.write(rn)),jt.objectMode&&rn==null||(jt.objectMode||rn&&rn.length)&&(Vt.push(rn)||(zt=!0,Zt.pause()))}),Zt)this[$t]===void 0&&typeof Zt[$t]=="function"&&(this[$t]=function(rn){return function(){return Zt[rn].apply(Zt,arguments)}}($t));for(var nn=0;nn=0;jt--)if(zt[jt]!==$t[jt])return!1;for(jt=zt.length-1;jt>=0;jt--)if(Vt=zt[jt],!ft(Ot[Vt],_t[Vt],Wt,bt))return!1;return!0}(ht,mt,It,vt))}return It?ht===mt:ht==mt}function Ft(ht){return Object.prototype.toString.call(ht)=="[object Arguments]"}function yt(ht,mt){if(!ht||!mt)return!1;if(Object.prototype.toString.call(mt)=="[object RegExp]")return mt.test(ht);try{if(ht instanceof mt)return!0}catch{}return!Error.isPrototypeOf(mt)&&mt.call({},ht)===!0}function Ct(ht,mt,It,vt){var Tt;if(typeof mt!="function")throw new TypeError('"block" argument must be a function');typeof It=="string"&&(vt=It,It=null),Tt=function(Wt){var bt;try{Wt()}catch(Jt){bt=Jt}return bt}(mt),vt=(It&&It.name?" ("+It.name+").":".")+(vt?" "+vt:"."),ht&&!Tt&&Qt(Tt,It,"Missing expected exception"+vt);var Ot=typeof vt=="string",_t=!ht&&Tt&&!It;if((!ht&&tt.isError(Tt)&&Ot&&yt(Tt,It)||_t)&&Qt(Tt,It,"Got unwanted exception"+vt),ht&&Tt&&It&&!yt(Tt,It)||!ht&&Tt)throw Tt}Ut.AssertionError=function(ht){this.name="AssertionError",this.actual=ht.actual,this.expected=ht.expected,this.operator=ht.operator,ht.message?(this.message=ht.message,this.generatedMessage=!1):(this.message=function(Wt){return pt(Bt(Wt.actual),128)+" "+Wt.operator+" "+pt(Bt(Wt.expected),128)}(this),this.generatedMessage=!0);var mt=ht.stackStartFunction||Qt;if(Error.captureStackTrace)Error.captureStackTrace(this,mt);else{var It=new Error;if(It.stack){var vt=It.stack,Tt=ct(mt),Ot=vt.indexOf(` -`+Tt);if(Ot>=0){var _t=vt.indexOf(` -`,Ot+1);vt=vt.substring(_t+1)}this.stack=vt}}},tt.inherits(Ut.AssertionError,Error),Ut.fail=Qt,Ut.ok=gt,Ut.equal=function(ht,mt,It){ht!=mt&&Qt(ht,mt,It,"==",Ut.equal)},Ut.notEqual=function(ht,mt,It){ht==mt&&Qt(ht,mt,It,"!=",Ut.notEqual)},Ut.deepEqual=function(ht,mt,It){ft(ht,mt,!1)||Qt(ht,mt,It,"deepEqual",Ut.deepEqual)},Ut.deepStrictEqual=function(ht,mt,It){ft(ht,mt,!0)||Qt(ht,mt,It,"deepStrictEqual",Ut.deepStrictEqual)},Ut.notDeepEqual=function(ht,mt,It){ft(ht,mt,!1)&&Qt(ht,mt,It,"notDeepEqual",Ut.notDeepEqual)},Ut.notDeepStrictEqual=function ht(mt,It,vt){ft(mt,It,!0)&&Qt(mt,It,vt,"notDeepStrictEqual",ht)},Ut.strictEqual=function(ht,mt,It){ht!==mt&&Qt(ht,mt,It,"===",Ut.strictEqual)},Ut.notStrictEqual=function(ht,mt,It){ht===mt&&Qt(ht,mt,It,"!==",Ut.notStrictEqual)},Ut.throws=function(ht,mt,It){Ct(!0,ht,mt,It)},Ut.doesNotThrow=function(ht,mt,It){Ct(!1,ht,mt,It)},Ut.ifError=function(ht){if(ht)throw ht},Ut.strict=$(function ht(mt,It){mt||Qt(mt,!0,It,"==",ht)},Ut,{equal:Ut.strictEqual,deepEqual:Ut.deepStrictEqual,notEqual:Ut.notStrictEqual,notDeepEqual:Ut.notDeepStrictEqual}),Ut.strict.strict=Ut.strict;var xt=Object.keys||function(ht){var mt=[];for(var It in ht)nt.call(ht,It)&&mt.push(It);return mt}}).call(this,_(6))},function(o,s,_){o.exports=function(j,$,_e,et){for(var tt=65535&j|0,nt=j>>>16&65535|0,rt=0;_e!==0;){_e-=rt=_e>2e3?2e3:_e;do nt=nt+(tt=tt+$[et++]|0)|0;while(--rt);tt%=65521,nt%=65521}return tt|nt<<16|0}},function(o,s,_){var j=function(){for(var $,_e=[],et=0;et<256;et++){$=et;for(var tt=0;tt<8;tt++)$=1&$?3988292384^$>>>1:$>>>1;_e[et]=$}return _e}();o.exports=function($,_e,et,tt){var nt=j,rt=tt+et;$^=-1;for(var ot=tt;ot>>8^nt[255&($^_e[ot])];return-1^$}},function(o,s,_){(function(j,$){var _e;o.exports=mt,mt.ReadableState=ht,_(20).EventEmitter;var et=function(Dt,wt){return Dt.listeners(wt).length},tt=_(77),nt=_(5).Buffer,rt=(j!==void 0?j:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},ot,ut=_(184);ot=ut&&ut.debuglog?ut.debuglog("stream"):function(){};var dt,Ut,st,ct=_(185),pt=_(78),Bt=_(79).getHighWaterMark,Qt=_(24).codes,gt=Qt.ERR_INVALID_ARG_TYPE,ft=Qt.ERR_STREAM_PUSH_AFTER_EOF,Ft=Qt.ERR_METHOD_NOT_IMPLEMENTED,yt=Qt.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;_(7)(mt,tt);var Ct=pt.errorOrDestroy,xt=["error","close","destroy","pause","resume"];function ht(Dt,wt,Et){_e=_e||_(25),Dt=Dt||{},typeof Et!="boolean"&&(Et=wt instanceof _e),this.objectMode=!!Dt.objectMode,Et&&(this.objectMode=this.objectMode||!!Dt.readableObjectMode),this.highWaterMark=Bt(this,Dt,"readableHighWaterMark",Et),this.buffer=new ct,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=Dt.emitClose!==!1,this.autoDestroy=!!Dt.autoDestroy,this.destroyed=!1,this.defaultEncoding=Dt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Dt.encoding&&(dt||(dt=_(21).StringDecoder),this.decoder=new dt(Dt.encoding),this.encoding=Dt.encoding)}function mt(Dt){if(_e=_e||_(25),!(this instanceof mt))return new mt(Dt);var wt=this instanceof _e;this._readableState=new ht(Dt,this,wt),this.readable=!0,Dt&&(typeof Dt.read=="function"&&(this._read=Dt.read),typeof Dt.destroy=="function"&&(this._destroy=Dt.destroy)),tt.call(this)}function It(Dt,wt,Et,kt,Pt){ot("readableAddChunk",wt);var Kt,Ht=Dt._readableState;if(wt===null)Ht.reading=!1,function(on,sn){if(ot("onEofChunk"),!sn.ended){if(sn.decoder){var gn=sn.decoder.end();gn&&gn.length&&(sn.buffer.push(gn),sn.length+=sn.objectMode?1:gn.length)}sn.ended=!0,sn.sync?Ot(on):(sn.needReadable=!1,sn.emittedReadable||(sn.emittedReadable=!0,_t(on)))}}(Dt,Ht);else if(Pt||(Kt=function(on,sn){var gn;Cn=sn,nt.isBuffer(Cn)||Cn instanceof rt||typeof sn=="string"||sn===void 0||on.objectMode||(gn=new gt("chunk",["string","Buffer","Uint8Array"],sn));var Cn;return gn}(Ht,wt)),Kt)Ct(Dt,Kt);else if(Ht.objectMode||wt&&wt.length>0)if(typeof wt=="string"||Ht.objectMode||Object.getPrototypeOf(wt)===nt.prototype||(wt=function(on){return nt.from(on)}(wt)),kt)Ht.endEmitted?Ct(Dt,new yt):vt(Dt,Ht,wt,!0);else if(Ht.ended)Ct(Dt,new ft);else{if(Ht.destroyed)return!1;Ht.reading=!1,Ht.decoder&&!Et?(wt=Ht.decoder.write(wt),Ht.objectMode||wt.length!==0?vt(Dt,Ht,wt,!1):Wt(Dt,Ht)):vt(Dt,Ht,wt,!1)}else kt||(Ht.reading=!1,Wt(Dt,Ht));return!Ht.ended&&(Ht.lengthwt.highWaterMark&&(wt.highWaterMark=function(Et){return Et>=1073741824?Et=1073741824:(Et--,Et|=Et>>>1,Et|=Et>>>2,Et|=Et>>>4,Et|=Et>>>8,Et|=Et>>>16,Et++),Et}(Dt)),Dt<=wt.length?Dt:wt.ended?wt.length:(wt.needReadable=!0,0))}function Ot(Dt){var wt=Dt._readableState;ot("emitReadable",wt.needReadable,wt.emittedReadable),wt.needReadable=!1,wt.emittedReadable||(ot("emitReadable",wt.flowing),wt.emittedReadable=!0,$.nextTick(_t,Dt))}function _t(Dt){var wt=Dt._readableState;ot("emitReadable_",wt.destroyed,wt.length,wt.ended),wt.destroyed||!wt.length&&!wt.ended||(Dt.emit("readable"),wt.emittedReadable=!1),wt.needReadable=!wt.flowing&&!wt.ended&&wt.length<=wt.highWaterMark,jt(Dt)}function Wt(Dt,wt){wt.readingMore||(wt.readingMore=!0,$.nextTick(bt,Dt,wt))}function bt(Dt,wt){for(;!wt.reading&&!wt.ended&&(wt.length0,wt.resumeScheduled&&!wt.paused?wt.flowing=!0:Dt.listenerCount("data")>0&&Dt.resume()}function Zt(Dt){ot("readable nexttick read 0"),Dt.read(0)}function Vt(Dt,wt){ot("resume",wt.reading),wt.reading||Dt.read(0),wt.resumeScheduled=!1,Dt.emit("resume"),jt(Dt),wt.flowing&&!wt.reading&&Dt.read(0)}function jt(Dt){var wt=Dt._readableState;for(ot("flow",wt.flowing);wt.flowing&&Dt.read()!==null;);}function zt(Dt,wt){return wt.length===0?null:(wt.objectMode?Et=wt.buffer.shift():!Dt||Dt>=wt.length?(Et=wt.decoder?wt.buffer.join(""):wt.buffer.length===1?wt.buffer.first():wt.buffer.concat(wt.length),wt.buffer.clear()):Et=wt.buffer.consume(Dt,wt.decoder),Et);var Et}function $t(Dt){var wt=Dt._readableState;ot("endReadable",wt.endEmitted),wt.endEmitted||(wt.ended=!0,$.nextTick(nn,wt,Dt))}function nn(Dt,wt){if(ot("endReadableNT",Dt.endEmitted,Dt.length),!Dt.endEmitted&&Dt.length===0&&(Dt.endEmitted=!0,wt.readable=!1,wt.emit("end"),Dt.autoDestroy)){var Et=wt._writableState;(!Et||Et.autoDestroy&&Et.finished)&&wt.destroy()}}function rn(Dt,wt){for(var Et=0,kt=Dt.length;Et=wt.highWaterMark:wt.length>0)||wt.ended))return ot("read: emitReadable",wt.length,wt.ended),wt.length===0&&wt.ended?$t(this):Ot(this),null;if((Dt=Tt(Dt,wt))===0&&wt.ended)return wt.length===0&&$t(this),null;var kt,Pt=wt.needReadable;return ot("need readable",Pt),(wt.length===0||wt.length-Dt0?zt(Dt,wt):null)===null?(wt.needReadable=wt.length<=wt.highWaterMark,Dt=0):(wt.length-=Dt,wt.awaitDrain=0),wt.length===0&&(wt.ended||(wt.needReadable=!0),Et!==Dt&&wt.ended&&$t(this)),kt!==null&&this.emit("data",kt),kt},mt.prototype._read=function(Dt){Ct(this,new Ft("_read()"))},mt.prototype.pipe=function(Dt,wt){var Et=this,kt=this._readableState;switch(kt.pipesCount){case 0:kt.pipes=Dt;break;case 1:kt.pipes=[kt.pipes,Dt];break;default:kt.pipes.push(Dt)}kt.pipesCount+=1,ot("pipe count=%d opts=%j",kt.pipesCount,wt);var Pt=(!wt||wt.end!==!1)&&Dt!==$.stdout&&Dt!==$.stderr?Ht:rr;function Kt(An,Dn){ot("onunpipe"),An===Et&&Dn&&Dn.hasUnpiped===!1&&(Dn.hasUnpiped=!0,ot("cleanup"),Dt.removeListener("close",In),Dt.removeListener("finish",Mn),Dt.removeListener("drain",on),Dt.removeListener("error",Cn),Dt.removeListener("unpipe",Kt),Et.removeListener("end",Ht),Et.removeListener("end",rr),Et.removeListener("data",gn),sn=!0,!kt.awaitDrain||Dt._writableState&&!Dt._writableState.needDrain||on())}function Ht(){ot("onend"),Dt.end()}kt.endEmitted?$.nextTick(Pt):Et.once("end",Pt),Dt.on("unpipe",Kt);var on=function(An){return function(){var Dn=An._readableState;ot("pipeOnDrain",Dn.awaitDrain),Dn.awaitDrain&&Dn.awaitDrain--,Dn.awaitDrain===0&&et(An,"data")&&(Dn.flowing=!0,jt(An))}}(Et);Dt.on("drain",on);var sn=!1;function gn(An){ot("ondata");var Dn=Dt.write(An);ot("dest.write",Dn),Dn===!1&&((kt.pipesCount===1&&kt.pipes===Dt||kt.pipesCount>1&&rn(kt.pipes,Dt)!==-1)&&!sn&&(ot("false write response, pause",kt.awaitDrain),kt.awaitDrain++),Et.pause())}function Cn(An){ot("onerror",An),rr(),Dt.removeListener("error",Cn),et(Dt,"error")===0&&Ct(Dt,An)}function In(){Dt.removeListener("finish",Mn),rr()}function Mn(){ot("onfinish"),Dt.removeListener("close",In),rr()}function rr(){ot("unpipe"),Et.unpipe(Dt)}return Et.on("data",gn),function(An,Dn,Hn){if(typeof An.prependListener=="function")return An.prependListener(Dn,Hn);An._events&&An._events[Dn]?Array.isArray(An._events[Dn])?An._events[Dn].unshift(Hn):An._events[Dn]=[Hn,An._events[Dn]]:An.on(Dn,Hn)}(Dt,"error",Cn),Dt.once("close",In),Dt.once("finish",Mn),Dt.emit("pipe",Et),kt.flowing||(ot("pipe resume"),Et.resume()),Dt},mt.prototype.unpipe=function(Dt){var wt=this._readableState,Et={hasUnpiped:!1};if(wt.pipesCount===0)return this;if(wt.pipesCount===1)return Dt&&Dt!==wt.pipes||(Dt||(Dt=wt.pipes),wt.pipes=null,wt.pipesCount=0,wt.flowing=!1,Dt&&Dt.emit("unpipe",this,Et)),this;if(!Dt){var kt=wt.pipes,Pt=wt.pipesCount;wt.pipes=null,wt.pipesCount=0,wt.flowing=!1;for(var Kt=0;Kt0,kt.flowing!==!1&&this.resume()):Dt==="readable"&&(kt.endEmitted||kt.readableListening||(kt.readableListening=kt.needReadable=!0,kt.flowing=!1,kt.emittedReadable=!1,ot("on readable",kt.length,kt.reading),kt.length?Ot(this):kt.reading||$.nextTick(Zt,this))),Et},mt.prototype.addListener=mt.prototype.on,mt.prototype.removeListener=function(Dt,wt){var Et=tt.prototype.removeListener.call(this,Dt,wt);return Dt==="readable"&&$.nextTick(Jt,this),Et},mt.prototype.removeAllListeners=function(Dt){var wt=tt.prototype.removeAllListeners.apply(this,arguments);return Dt!=="readable"&&Dt!==void 0||$.nextTick(Jt,this),wt},mt.prototype.resume=function(){var Dt=this._readableState;return Dt.flowing||(ot("resume"),Dt.flowing=!Dt.readableListening,function(wt,Et){Et.resumeScheduled||(Et.resumeScheduled=!0,$.nextTick(Vt,wt,Et))}(this,Dt)),Dt.paused=!1,this},mt.prototype.pause=function(){return ot("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ot("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},mt.prototype.wrap=function(Dt){var wt=this,Et=this._readableState,kt=!1;for(var Pt in Dt.on("end",function(){if(ot("wrapped end"),Et.decoder&&!Et.ended){var Ht=Et.decoder.end();Ht&&Ht.length&&wt.push(Ht)}wt.push(null)}),Dt.on("data",function(Ht){ot("wrapped data"),Et.decoder&&(Ht=Et.decoder.write(Ht)),Et.objectMode&&Ht==null||(Et.objectMode||Ht&&Ht.length)&&(wt.push(Ht)||(kt=!0,Dt.pause()))}),Dt)this[Pt]===void 0&&typeof Dt[Pt]=="function"&&(this[Pt]=function(Ht){return function(){return Dt[Ht].apply(Dt,arguments)}}(Pt));for(var Kt=0;Kt-1))throw new yt(bt);return this._writableState.defaultEncoding=bt,this},Object.defineProperty(mt.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(mt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),mt.prototype._write=function(bt,Jt,Zt){Zt(new pt("_write()"))},mt.prototype._writev=null,mt.prototype.end=function(bt,Jt,Zt){var Vt=this._writableState;return typeof bt=="function"?(Zt=bt,bt=null,Jt=null):typeof Jt=="function"&&(Zt=Jt,Jt=null),bt!=null&&this.write(bt,Jt),Vt.corked&&(Vt.corked=1,this.uncork()),Vt.ending||function(jt,zt,$t){zt.ending=!0,Wt(jt,zt),$t&&(zt.finished?$.nextTick($t):jt.once("finish",$t)),zt.ended=!0,jt.writable=!1}(this,Vt,Zt),this},Object.defineProperty(mt.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(mt.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(bt){this._writableState&&(this._writableState.destroyed=bt)}}),mt.prototype.destroy=dt.destroy,mt.prototype._undestroy=dt.undestroy,mt.prototype._destroy=function(bt,Jt){Jt(bt)}}).call(this,_(6),_(2))},function(o,s,_){o.exports=ot;var j=_(24).codes,$=j.ERR_METHOD_NOT_IMPLEMENTED,_e=j.ERR_MULTIPLE_CALLBACK,et=j.ERR_TRANSFORM_ALREADY_TRANSFORMING,tt=j.ERR_TRANSFORM_WITH_LENGTH_0,nt=_(25);function rt(Ut,st){var ct=this._transformState;ct.transforming=!1;var pt=ct.writecb;if(pt===null)return this.emit("error",new _e);ct.writechunk=null,ct.writecb=null,st!=null&&this.push(st),pt(Ut);var Bt=this._readableState;Bt.reading=!1,(Bt.needReadable||Bt.lengthut._pos){var st=Ut.substr(ut._pos);if(ut._charset==="x-user-defined"){for(var ct=new $(st.length),pt=0;ptut._pos&&(ut.push(new $(new Uint8Array(Bt.result.slice(ut._pos)))),ut._pos=Bt.result.byteLength)},Bt.onload=function(){ut.push(null)},Bt.readAsArrayBuffer(Ut)}ut._xhr.readyState===rt.DONE&&ut._mode!=="ms-stream"&&ut.push(null)}}).call(this,_(2),_(5).Buffer,_(6))},function(o,s,_){var j=_(199),$=_(201);function _e(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}s.parse=gt,s.resolve=function(ft,Ft){return gt(ft,!1,!0).resolve(Ft)},s.resolveObject=function(ft,Ft){return ft?gt(ft,!1,!0).resolveObject(Ft):Ft},s.format=function(ft){return $.isString(ft)&&(ft=gt(ft)),ft instanceof _e?ft.format():_e.prototype.format.call(ft)},s.Url=_e;var et=/^([a-z0-9.+-]+:)/i,tt=/:[0-9]*$/,nt=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,rt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` -`," "]),ot=["'"].concat(rt),ut=["%","/","?",";","#"].concat(ot),dt=["/","?","#"],Ut=/^[+a-z0-9A-Z_-]{0,63}$/,st=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ct={javascript:!0,"javascript:":!0},pt={javascript:!0,"javascript:":!0},Bt={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Qt=_(202);function gt(ft,Ft,yt){if(ft&&$.isObject(ft)&&ft instanceof _e)return ft;var Ct=new _e;return Ct.parse(ft,Ft,yt),Ct}_e.prototype.parse=function(ft,Ft,yt){if(!$.isString(ft))throw new TypeError("Parameter 'url' must be a string, not "+typeof ft);var Ct=ft.indexOf("?"),xt=Ct!==-1&&Ct127?nn+="x":nn+=$t[rn];if(!nn.match(Ut)){var wt=jt.slice(0,Jt),Et=jt.slice(Jt+1),kt=$t.match(st);kt&&(wt.push(kt[1]),Et.unshift(kt[2])),Et.length&&(mt="/"+Et.join(".")+mt),this.hostname=wt.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),Vt||(this.hostname=j.toASCII(this.hostname));var Pt=this.port?":"+this.port:"",Kt=this.hostname||"";this.host=Kt+Pt,this.href+=this.host,Vt&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),mt[0]!=="/"&&(mt="/"+mt))}if(!ct[Tt])for(Jt=0,zt=ot.length;Jt0)&&yt.host.split("@"))&&(yt.auth=kt.shift(),yt.host=yt.hostname=kt.shift())),yt.search=ft.search,yt.query=ft.query,$.isNull(yt.pathname)&&$.isNull(yt.search)||(yt.path=(yt.pathname?yt.pathname:"")+(yt.search?yt.search:"")),yt.href=yt.format(),yt;if(!$t.length)return yt.pathname=null,yt.search?yt.path="/"+yt.search:yt.path=null,yt.href=yt.format(),yt;for(var rn=$t.slice(-1)[0],Dt=(yt.host||ft.host||$t.length>1)&&(rn==="."||rn==="..")||rn==="",wt=0,Et=$t.length;Et>=0;Et--)(rn=$t[Et])==="."?$t.splice(Et,1):rn===".."?($t.splice(Et,1),wt++):wt&&($t.splice(Et,1),wt--);if(!jt&&!zt)for(;wt--;wt)$t.unshift("..");!jt||$t[0]===""||$t[0]&&$t[0].charAt(0)==="/"||$t.unshift(""),Dt&&$t.join("/").substr(-1)!=="/"&&$t.push("");var kt,Pt=$t[0]===""||$t[0]&&$t[0].charAt(0)==="/";return nn&&(yt.hostname=yt.host=Pt?"":$t.length?$t.shift():"",(kt=!!(yt.host&&yt.host.indexOf("@")>0)&&yt.host.split("@"))&&(yt.auth=kt.shift(),yt.host=yt.hostname=kt.shift())),(jt=jt||yt.host&&$t.length)&&!Pt&&$t.unshift(""),$t.length?yt.pathname=$t.join("/"):(yt.pathname=null,yt.path=null),$.isNull(yt.pathname)&&$.isNull(yt.search)||(yt.path=(yt.pathname?yt.pathname:"")+(yt.search?yt.search:"")),yt.auth=ft.auth||yt.auth,yt.slashes=yt.slashes||ft.slashes,yt.href=yt.format(),yt},_e.prototype.parseHost=function(){var ft=this.host,Ft=tt.exec(ft);Ft&&((Ft=Ft[0])!==":"&&(this.port=Ft.substr(1)),ft=ft.substr(0,ft.length-Ft.length)),ft&&(this.hostname=ft)}},function(o,s,_){const j=$=>$!==null&&typeof $=="object"&&typeof $.pipe=="function";j.writable=$=>j($)&&$.writable!==!1&&typeof $._write=="function"&&typeof $._writableState=="object",j.readable=$=>j($)&&$.readable!==!1&&typeof $._read=="function"&&typeof $._readableState=="object",j.duplex=$=>j.writable($)&&j.readable($),j.transform=$=>j.duplex($)&&typeof $._transform=="function"&&typeof $._transformState=="object",o.exports=j},function(o,s,_){function j(Bt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Qt){return typeof Qt}:function(Qt){return Qt&&typeof Symbol=="function"&&Qt.constructor===Symbol&&Qt!==Symbol.prototype?"symbol":typeof Qt})(Bt)}function $(Bt,Qt){for(var gt=0;gt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var gt,ft=ut(Bt);if(Qt){var Ft=ut(this).constructor;gt=Reflect.construct(ft,arguments,Ft)}else gt=ft.apply(this,arguments);return ot(this,gt)}}function ot(Bt,Qt){if(Qt&&(j(Qt)==="object"||typeof Qt=="function"))return Qt;if(Qt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(gt){if(gt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return gt}(Bt)}function ut(Bt){return(ut=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Qt){return Qt.__proto__||Object.getPrototypeOf(Qt)})(Bt)}var dt=_(4).LEVEL,Ut=_(49),st=_(207),ct=_(39)("winston:create-logger");function pt(Bt){return"is"+Bt.charAt(0).toUpperCase()+Bt.slice(1)+"Enabled"}o.exports=function(){var Bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bt.levels=Bt.levels||Ut.npm.levels;var Qt=function(ft){tt(yt,ft);var Ft=rt(yt);function yt(Ct){return et(this,yt),Ft.call(this,Ct)}return _e(yt)}(st),gt=new Qt(Bt);return Object.keys(Bt.levels).forEach(function(ft){ct('Define prototype method for "%s"',ft),ft!=="log"?(Qt.prototype[ft]=function(){for(var Ft=this||gt,yt=arguments.length,Ct=new Array(yt),xt=0;xt0){tt=rt.substr(0,Ut),nt=rt.substr(Ut+1);var st=tt.indexOf(".Module");st>0&&(rt=rt.substr(st+1),tt=tt.substr(0,st))}ot=null}nt&&(ot=tt,ut=nt),nt===""&&(ut=null,rt=null);var ct={fileName:et[2]||null,lineNumber:parseInt(et[3],10)||null,functionName:rt,typeName:ot,methodName:ut,columnNumber:parseInt(et[4],10)||null,native:dt};return $._createParsedCallSite(ct)}}).filter(function(_e){return!!_e})},["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"].forEach(function(j){_.prototype[j]=null,_.prototype["get"+j[0].toUpperCase()+j.substr(1)]=function(){return this[j]}}),["topLevel","eval","native","constructor"].forEach(function(j){_.prototype[j]=!1,_.prototype["is"+j[0].toUpperCase()+j.substr(1)]=function(){return this[j]}}),s._createParsedCallSite=function(j){return new _(j)}},function(o,s,_){function j(ot){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ut){return typeof ut}:function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut})(ot)}function $(ot,ut){for(var dt=0;dt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var dt,Ut=nt(ot);if(ut){var st=nt(this).constructor;dt=Reflect.construct(Ut,arguments,st)}else dt=Ut.apply(this,arguments);return tt(this,dt)}}function tt(ot,ut){if(ut&&(j(ut)==="object"||typeof ut=="function"))return ut;if(ut!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(dt){if(dt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return dt}(ot)}function nt(ot){return(nt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ut){return ut.__proto__||Object.getPrototypeOf(ut)})(ot)}var rt=_(33).Writable;o.exports=function(ot){(function(ct,pt){if(typeof pt!="function"&&pt!==null)throw new TypeError("Super expression must either be null or a function");ct.prototype=Object.create(pt&&pt.prototype,{constructor:{value:ct,writable:!0,configurable:!0}}),Object.defineProperty(ct,"prototype",{writable:!1}),pt&&_e(ct,pt)})(st,ot);var ut,dt,Ut=et(st);function st(ct){var pt;if(function(Bt,Qt){if(!(Bt instanceof Qt))throw new TypeError("Cannot call a class as a function")}(this,st),pt=Ut.call(this,{objectMode:!0}),!ct)throw new Error("ExceptionStream requires a TransportStream instance.");return pt.handleExceptions=!0,pt.transport=ct,pt}return ut=st,(dt=[{key:"_write",value:function(ct,pt,Bt){return ct.exception?this.transport.log(ct,Bt):(Bt(),!0)}}])&&$(ut.prototype,dt),Object.defineProperty(ut,"prototype",{writable:!1}),st}(rt)},function(o,s,_){(function(j){function $(ut,dt){for(var Ut=0;Ut0&&tt.writeString(1,nt)},proto.google.protobuf.StringValue.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function(et){return j.Message.setProto3StringField(this,1,et)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function(et){return proto.google.protobuf.BytesValue.toObject(et,this)},proto.google.protobuf.BytesValue.toObject=function(et,tt){var nt={value:tt.getValue_asB64()};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.google.protobuf.BytesValue.deserializeBinary=function(et){var tt=new j.BinaryReader(et),nt=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(nt,tt)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();)switch(tt.getFieldNumber()){case 1:var nt=tt.readBytes();et.setValue(nt);break;default:tt.skipField()}return et},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var et=new j.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function(et,tt){var nt;(nt=et.getValue_asU8()).length>0&&tt.writeBytes(1,nt)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return j.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return j.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function(et){return j.Message.setProto3BytesField(this,1,et)},$.object.extend(s,proto.google.protobuf)},function(module,exports,__webpack_require__){(function(global,Buffer){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(o,s,_){o instanceof String&&(o=String(o));for(var j=o.length,$=0;$=$}},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(o){return o||function(s,_){return $jscomp.findInternal(this,s,_).v}},"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",function(o){return o||function(s,_){var j=$jscomp.checkStringArgs(this,s,"startsWith");s+="";var $=j.length,_e=s.length;_=Math.max(0,Math.min(0|_,j.length));for(var et=0;et<_e&&_<$;)if(j[_++]!=s[et++])return!1;return et>=_e}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(o){return o||function(s){var _=$jscomp.checkStringArgs(this,null,"repeat");if(0>s||1342177279>>=1)&&(_+=_);return j}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(o){return o!==void 0},goog.isString=function(o){return typeof o=="string"},goog.isBoolean=function(o){return typeof o=="boolean"},goog.isNumber=function(o){return typeof o=="number"},goog.exportPath_=function(o,s,_){o=o.split("."),_=_||goog.global,o[0]in _||_.execScript===void 0||_.execScript("var "+o[0]);for(var j;o.length&&(j=o.shift());)!o.length&&goog.isDef(s)?_[j]=s:_=_[j]&&_[j]!==Object.prototype[j]?_[j]:_[j]={}},goog.define=function(o,s){return s},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(o){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(o)},goog.constructNamespace_=function(o,s){goog.exportPath_(o,s)},goog.getScriptNonce=function(o){return o&&o!=goog.global?goog.getScriptNonce_(o.document):(goog.cspNonce_===null&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(o){return(o=o.querySelector&&o.querySelector("script[nonce]"))&&(o=o.nonce||o.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(o)?o:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(o){if(!goog.isString(o)||!o||o.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+o+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=o},goog.module.get=function(o){return goog.module.getInternal_(o)},goog.module.getInternal_=function(o){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var o=goog.global.$jscomp;return!!o&&typeof o.getCurrentModulePath=="function"&&!!o.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(o){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=o;else{var s=goog.global.$jscomp;if(!s||typeof s.getCurrentModulePath!="function")throw Error('Module with namespace "'+o+'" has been loaded incorrectly.');s=s.require(s.getCurrentModulePath()),goog.loadedModules_[o]={exports:s,type:goog.ModuleType.ES6,moduleId:o}}},goog.setTestOnly=function(o){if(goog.DISALLOW_TEST_ONLY_CODE)throw o=o||"",Error("Importing test-only code into non-debug environment"+(o?": "+o:"."))},goog.forwardDeclare=function(o){},goog.getObjectByName=function(o,s){o=o.split("."),s=s||goog.global;for(var _=0;_>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(o){var s=goog.typeOf(o);if(s=="object"||s=="array"){if(typeof o.clone=="function")return o.clone();for(var _ in s=s=="array"?[]:{},o)s[_]=goog.cloneObject(o[_]);return s}return o},goog.bindNative_=function(o,s,_){return o.call.apply(o.bind,arguments)},goog.bindJs_=function(o,s,_){if(!o)throw Error();if(2"u"||!TrustedTypes.createPolicy)return s;try{s=TrustedTypes.createPolicy(o,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(_){goog.logToConsole_(_.message)}return s},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null;var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31},jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5},jspb.BinaryConstants.FieldTypeToWireType=function(o){var s=jspb.BinaryConstants.FieldType,_=jspb.BinaryConstants.WireType;switch(o){case s.INT32:case s.INT64:case s.UINT32:case s.UINT64:case s.SINT32:case s.SINT64:case s.BOOL:case s.ENUM:case s.VHASH64:return _.VARINT;case s.DOUBLE:case s.FIXED64:case s.SFIXED64:case s.FHASH64:return _.FIXED64;case s.STRING:case s.MESSAGE:case s.BYTES:return _.DELIMITED;case s.FLOAT:case s.FIXED32:case s.SFIXED32:return _.FIXED32;default:return _.INVALID}},jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1,jspb.BinaryConstants.FLOAT32_EPS=1401298464324817e-60,jspb.BinaryConstants.FLOAT32_MIN=11754943508222875e-54,jspb.BinaryConstants.FLOAT32_MAX=34028234663852886e22,jspb.BinaryConstants.FLOAT64_EPS=5e-324,jspb.BinaryConstants.FLOAT64_MIN=22250738585072014e-324,jspb.BinaryConstants.FLOAT64_MAX=17976931348623157e292,jspb.BinaryConstants.TWO_TO_20=1048576,jspb.BinaryConstants.TWO_TO_23=8388608,jspb.BinaryConstants.TWO_TO_31=2147483648,jspb.BinaryConstants.TWO_TO_32=4294967296,jspb.BinaryConstants.TWO_TO_52=4503599627370496,jspb.BinaryConstants.TWO_TO_63=9223372036854776e3,jspb.BinaryConstants.TWO_TO_64=18446744073709552e3,jspb.BinaryConstants.ZERO_HASH="\0\0\0\0\0\0\0\0",goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.debug={},goog.debug.Error=function(o){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var s=Error().stack;s&&(this.stack=s)}o&&(this.message=String(o)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(o,s){goog.debug.Error.call(this,goog.asserts.subs_(o,s)),this.messagePattern=o},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(o){throw o},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(o,s){for(var _="",j=(o=o.split("%s")).length-1,$=0;$_?Math.max(0,o.length+_):_,goog.isString(o))return goog.isString(s)&&s.length==1?o.indexOf(s,_):-1;for(;_(_=_??o.length-1)&&(_=Math.max(0,o.length+_)),goog.isString(o))return goog.isString(s)&&s.length==1?o.lastIndexOf(s,_):-1;for(;0<=_;_--)if(_ in o&&o[_]===s)return _;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,s,_){goog.asserts.assert(o.length!=null),Array.prototype.forEach.call(o,s,_)}:function(o,s,_){for(var j=o.length,$=goog.isString(o)?o.split(""):o,_e=0;_e(s=goog.array.findIndex(o,s,_))?null:goog.isString(o)?o.charAt(s):o[s]},goog.array.findIndex=function(o,s,_){for(var j=o.length,$=goog.isString(o)?o.split(""):o,_e=0;_e(s=goog.array.findIndexRight(o,s,_))?null:goog.isString(o)?o.charAt(s):o[s]},goog.array.findIndexRight=function(o,s,_){var j=o.length,$=goog.isString(o)?o.split(""):o;for(--j;0<=j;j--)if(j in $&&s.call(_,$[j],j,o))return j;return-1},goog.array.contains=function(o,s){return 0<=goog.array.indexOf(o,s)},goog.array.isEmpty=function(o){return o.length==0},goog.array.clear=function(o){if(!goog.isArray(o))for(var s=o.length-1;0<=s;s--)delete o[s];o.length=0},goog.array.insert=function(o,s){goog.array.contains(o,s)||o.push(s)},goog.array.insertAt=function(o,s,_){goog.array.splice(o,_,0,s)},goog.array.insertArrayAt=function(o,s,_){goog.partial(goog.array.splice,o,_,0).apply(null,s)},goog.array.insertBefore=function(o,s,_){var j;arguments.length==2||0>(j=goog.array.indexOf(o,_))?o.push(s):goog.array.insertAt(o,s,j)},goog.array.remove=function(o,s){var _;return(_=0<=(s=goog.array.indexOf(o,s)))&&goog.array.removeAt(o,s),_},goog.array.removeLast=function(o,s){return 0<=(s=goog.array.lastIndexOf(o,s))&&(goog.array.removeAt(o,s),!0)},goog.array.removeAt=function(o,s){return goog.asserts.assert(o.length!=null),Array.prototype.splice.call(o,s,1).length==1},goog.array.removeIf=function(o,s,_){return 0<=(s=goog.array.findIndex(o,s,_))&&(goog.array.removeAt(o,s),!0)},goog.array.removeAllIf=function(o,s,_){var j=0;return goog.array.forEachRight(o,function($,_e){s.call(_,$,_e,o)&&goog.array.removeAt(o,_e)&&j++}),j},goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(o){var s=o.length;if(0=arguments.length?Array.prototype.slice.call(o,s):Array.prototype.slice.call(o,s,_)},goog.array.removeDuplicates=function(o,s,_){s=s||o;var j=function(nt){return goog.isObject(nt)?"o"+goog.getUid(nt):(typeof nt).charAt(0)+nt};_=_||j,j={};for(var $=0,_e=0;_e>1,rt=_?s.call($,o[nt],nt,o):s(j,o[nt]);0s?1:o(_=goog.array.binarySearch(o,s,_))&&(goog.array.insertAt(o,s,-(_+1)),!0)},goog.array.binaryRemove=function(o,s,_){return 0<=(s=goog.array.binarySearch(o,s,_))&&goog.array.removeAt(o,s)},goog.array.bucket=function(o,s,_){for(var j={},$=0;$(_=_||1)*(_e-$))return[];if(0<_)for(o=$;o<_e;o+=_)j.push(o);else for(o=$;o>_e;o+=_)j.push(o);return j},goog.array.repeat=function(o,s){for(var _=[],j=0;js&&Array.prototype.push.apply(o,o.splice(0,-s))),o},goog.array.moveItem=function(o,s,_){goog.asserts.assert(0<=s&&s>=8),s[_++]=$}return s},goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var s="",_=0;_$?s[_++]=$:(2048>$?s[_++]=$>>6|192:((64512&$)==55296&&j+1>18|240,s[_++]=$>>12&63|128):s[_++]=$>>12|224,s[_++]=$>>6&63|128),s[_++]=63&$|128)}return s},goog.crypt.utf8ByteArrayToString=function(o){for(var s=[],_=0,j=0;_$)s[j++]=String.fromCharCode($);else if(191<$&&224>$){var _e=o[_++];s[j++]=String.fromCharCode((31&$)<<6|63&_e)}else if(239<$&&365>$){_e=o[_++];var et=o[_++];$=((7&$)<<18|(63&_e)<<12|(63&et)<<6|63&o[_++])-65536,s[j++]=String.fromCharCode(55296+($>>10)),s[j++]=String.fromCharCode(56320+(1023&$))}else _e=o[_++],et=o[_++],s[j++]=String.fromCharCode((15&$)<<12|(63&_e)<<6|63&et)}return s.join("")},goog.crypt.xorByteArray=function(o,s){goog.asserts.assert(o.length==s.length,"XOR array lengths must match");for(var _=[],j=0;j":"
")},goog.string.internal.htmlEscape=function(o,s){if(s)o=o.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(o))return o;o.indexOf("&")!=-1&&(o=o.replace(goog.string.internal.AMP_RE_,"&")),o.indexOf("<")!=-1&&(o=o.replace(goog.string.internal.LT_RE_,"<")),o.indexOf(">")!=-1&&(o=o.replace(goog.string.internal.GT_RE_,">")),o.indexOf('"')!=-1&&(o=o.replace(goog.string.internal.QUOT_RE_,""")),o.indexOf("'")!=-1&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),o.indexOf("\0")!=-1&&(o=o.replace(goog.string.internal.NULL_RE_,"�"))}return o},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=//g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(o,s){return goog.string.internal.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.internal.contains=function(o,s){return o.indexOf(s)!=-1},goog.string.internal.caseInsensitiveContains=function(o,s){return goog.string.internal.contains(o.toLowerCase(),s.toLowerCase())},goog.string.internal.compareVersions=function(o,s){var _=0;o=goog.string.internal.trim(String(o)).split("."),s=goog.string.internal.trim(String(s)).split(".");for(var j=Math.max(o.length,s.length),$=0;_==0&&$s?1:0},goog.string.TypedString=function(){},goog.string.Const=function(o,s){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")},goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(o){return goog.fs.url.getUrlObject_().createObjectURL(o)},goog.fs.url.revokeObjectUrl=function(o){goog.fs.url.getUrlObject_().revokeObjectURL(o)},goog.fs.url.getUrlObject_=function(){var o=goog.fs.url.findUrlObject_();if(o!=null)return o;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return goog.fs.url.findUrlObject_()!=null},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(goog.LOCALE.substring(0,2).toLowerCase()=="ar"||goog.LOCALE.substring(0,2).toLowerCase()=="fa"||goog.LOCALE.substring(0,2).toLowerCase()=="he"||goog.LOCALE.substring(0,2).toLowerCase()=="iw"||goog.LOCALE.substring(0,2).toLowerCase()=="ps"||goog.LOCALE.substring(0,2).toLowerCase()=="sd"||goog.LOCALE.substring(0,2).toLowerCase()=="ug"||goog.LOCALE.substring(0,2).toLowerCase()=="ur"||goog.LOCALE.substring(0,2).toLowerCase()=="yi")&&(goog.LOCALE.length==2||goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")||3<=goog.LOCALE.length&&goog.LOCALE.substring(0,3).toLowerCase()=="ckb"&&(goog.LOCALE.length==3||goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")||7<=goog.LOCALE.length&&(goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")&&(goog.LOCALE.substring(3,7).toLowerCase()=="adlm"||goog.LOCALE.substring(3,7).toLowerCase()=="arab"||goog.LOCALE.substring(3,7).toLowerCase()=="hebr"||goog.LOCALE.substring(3,7).toLowerCase()=="nkoo"||goog.LOCALE.substring(3,7).toLowerCase()=="rohg"||goog.LOCALE.substring(3,7).toLowerCase()=="thaa")||8<=goog.LOCALE.length&&(goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")&&(goog.LOCALE.substring(4,8).toLowerCase()=="adlm"||goog.LOCALE.substring(4,8).toLowerCase()=="arab"||goog.LOCALE.substring(4,8).toLowerCase()=="hebr"||goog.LOCALE.substring(4,8).toLowerCase()=="nkoo"||goog.LOCALE.substring(4,8).toLowerCase()=="rohg"||goog.LOCALE.substring(4,8).toLowerCase()=="thaa"),goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(o,s){return typeof o=="number"?0o?goog.i18n.bidi.Dir.RTL:s?null:goog.i18n.bidi.Dir.NEUTRAL:o==null?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\uD801\uD804-\uD839\uD83C-\uDBFF豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\uD802-\uD803\uD83A-\uD83Bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(o,s){return s?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(o,s){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(o,s){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)},goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)},goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(o,s){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(o,s){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(o,s){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(o,s){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(o,s){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(o,s){return s=(s===void 0?goog.i18n.bidi.hasAnyRtl(o):s)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,s+"$&"+s)},goog.i18n.bidi.enforceRtlInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=rtl"):` -`+o+""},goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=ltr"):` -`+o+""},goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(o,s){var _=0,j=0,$=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s).split(goog.i18n.bidi.wordSeparatorRe_),s=0;sgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(o,s){return goog.i18n.bidi.estimateDirection(o,s)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(o,s){o&&(s=goog.i18n.bidi.toDir(s))&&(o.style.textAlign=s==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=s==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(o,s){switch(goog.i18n.bidi.estimateDirection(s)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,s){var _=goog.html.TrustedResourceUrl.unwrap(this),j=(_=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(_))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(_[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",_[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",j,s))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.unwrapTrustedURL=function(o){return o.trustedURL_?o.trustedURL_:goog.html.TrustedResourceUrl.unwrap(o)},goog.html.TrustedResourceUrl.format=function(o,s){var _=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(_))throw Error("Invalid TrustedResourceUrl format: "+_);return o=_.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(j,$){if(!Object.prototype.hasOwnProperty.call(s,$))throw Error('Found marker, "'+$+'", in format string, "'+_+'", but no valid label mapping found in args: '+JSON.stringify(s));return(j=s[$])instanceof goog.string.Const?goog.string.Const.unwrap(j):encodeURIComponent(String(j))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(o,s,_,j){return goog.html.TrustedResourceUrl.format(o,s).cloneWithParams(_,j)},goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.TrustedResourceUrl.fromConstants=function(o){for(var s="",_=0;_o.length?"&":"")+encodeURIComponent(j)+"="+encodeURIComponent(String(et)))}}return s},goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(o){return goog.html.SafeUrl.unwrapTrustedURL(o).toString()},goog.html.SafeUrl.unwrapTrustedURL=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)},goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SAFE_MIME_TYPE_PATTERN_.test(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(o){var s=(o=o.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return s=s&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(s[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s?o:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var s=o.indexOf("#");if(0+~[\]()=^$|]+$/.test(_))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(_))throw Error("() and [] in selector must be balanced, got: "+o);return s instanceof goog.html.SafeStyle||(s=goog.html.SafeStyle.create(s)),o=o+"{"+goog.html.SafeStyle.unwrap(s).replace(/.");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+o+"> is not allowed for SafeHtml.")},goog.html.SafeHtml.createIframe=function(o,s,_,j){o&&goog.html.TrustedResourceUrl.unwrap(o);var $={};return $.src=o||null,$.srcdoc=s&&goog.html.SafeHtml.unwrap(s),o=goog.html.SafeHtml.combineAttributes($,{sandbox:""},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.createSandboxIframe=function(o,s,_,j){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var $={};return $.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,$.srcdoc=s||null,$.sandbox="",o=goog.html.SafeHtml.combineAttributes($,{},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(o,s){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},s),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(o,s){for(var _ in s){var j=_.toLowerCase();if(j=="language"||j=="src"||j=="text"||j=="type")throw Error('Cannot set "'+j+'" attribute')}for(_="",o=goog.array.concat(o),j=0;j does not allow content."),$+=">"):(j=goog.html.SafeHtml.concat(_),$+=">"+goog.html.SafeHtml.unwrap(j)+"",j=j.getDirection()),(o=s&&s.dir)&&(j=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse($,j)},goog.html.SafeHtml.stringifyAttributes=function(o,s){var _="";if(s)for(var j in s){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(j))throw Error('Invalid attribute name "'+j+'".');var $=s[j];goog.isDefAndNotNull($)&&(_+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,j,$))}return _},goog.html.SafeHtml.combineAttributes=function(o,s,_){var j,$={};for(j in o)goog.asserts.assert(j.toLowerCase()==j,"Must be lower case"),$[j]=o[j];for(j in s)goog.asserts.assert(j.toLowerCase()==j,"Must be lower case"),$[j]=s[j];for(j in _){var _e=j.toLowerCase();if(_e in o)throw Error('Cannot override "'+_e+'" attribute, got "'+j+'" with value "'+_[j]+'"');_e in s&&delete $[_e],$[j]=_[j]}return $},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("
",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,s,_){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(s,_||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(s)},goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(o){if(goog.asserts.ENABLE_ASSERTS){var s=goog.dom.asserts.getWindow_(o);s&&(!o||!(o instanceof s.Location)&&o instanceof s.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(o))}return o},goog.dom.asserts.assertIsElementType_=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=goog.dom.asserts.getWindow_(o);_&&_[s]!==void 0&&(o&&(o instanceof _[s]||!(o instanceof _.Location||o instanceof _.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",s,goog.dom.asserts.debugStringForType_(o)))}return o},goog.dom.asserts.assertIsHTMLAnchorElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(o){if(!goog.isObject(o))return o===void 0?"undefined":o===null?"null":typeof o;try{return o.constructor.displayName||o.constructor.name||Object.prototype.toString.call(o)}catch{return""}},goog.dom.asserts.getWindow_=function(o){try{var s=o&&o.ownerDocument,_=s&&(s.defaultView||s.parentWindow);if((_=_||goog.global).Element&&_.Location)return _}catch{}return null},goog.functions={},goog.functions.constant=function(o){return function(){return o}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(o,s){return o},goog.functions.error=function(o){return function(){throw Error(o)}},goog.functions.fail=function(o){return function(){throw o}},goog.functions.lock=function(o,s){return s=s||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,s))}},goog.functions.nth=function(o){return function(){return arguments[o]}},goog.functions.partialRight=function(o,s){var _=Array.prototype.slice.call(arguments,1);return function(){var j=Array.prototype.slice.call(arguments);return j.push.apply(j,_),o.apply(this,j)}},goog.functions.withReturnValue=function(o,s){return goog.functions.sequence(o,goog.functions.constant(s))},goog.functions.equalTo=function(o,s){return function(_){return s?o==_:o===_}},goog.functions.compose=function(o,s){var _=arguments,j=_.length;return function(){var $;j&&($=_[j-1].apply(this,arguments));for(var _e=j-2;0<=_e;_e--)$=_[_e].call(this,$);return $}},goog.functions.sequence=function(o){var s=arguments,_=s.length;return function(){for(var j,$=0;$<_;$++)j=s[$].apply(this,arguments);return j}},goog.functions.and=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(!s[j].apply(this,arguments))return!1;return!0}},goog.functions.or=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(s[j].apply(this,arguments))return!0;return!1}},goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}},goog.functions.create=function(o,s){var _=function(){};return _.prototype=o.prototype,_=new _,o.apply(_,Array.prototype.slice.call(arguments,1)),_},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(o){var s,_=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(_||(s=o(),_=!0),s):o()}},goog.functions.once=function(o){var s=o;return function(){if(s){var _=s;s=null,_()}}},goog.functions.debounce=function(o,s,_){var j=0;return function($){goog.global.clearTimeout(j);var _e=arguments;j=goog.global.setTimeout(function(){o.apply(_,_e)},s)}},goog.functions.throttle=function(o,s,_){var j=0,$=!1,_e=[],et=function(){j=0,$&&($=!1,tt())},tt=function(){j=goog.global.setTimeout(et,s),o.apply(_,_e)};return function(nt){_e=arguments,j?$=!0:tt()}},goog.functions.rateLimit=function(o,s,_){var j=0,$=function(){j=0};return function(_e){j||(j=goog.global.setTimeout($,s),o.apply(_,arguments))}},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(o,s,_){o.insertAdjacentHTML(s,goog.html.SafeHtml.unwrapTrustedHTML(_))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&typeof document>"u")return!1;var o=document.createElement("div"),s=document.createElement("div");return s.appendChild(document.createElement("div")),o.appendChild(s),!(goog.DEBUG&&!o.firstChild)&&(s=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!s.parentElement)}),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,s){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setInnerHtml=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[_])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,s)},goog.dom.safe.setOuterHtml=function(o,s){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setFormElementAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setButtonFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setInputFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setStyle=function(o,s){o.style.cssText=goog.html.SafeStyle.unwrap(s)},goog.dom.safe.documentWrite=function(o,s){o.write(goog.html.SafeHtml.unwrapTrustedHTML(s))},goog.dom.safe.setAnchorHref=function(o,s){goog.dom.asserts.assertIsHTMLAnchorElement(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setImageSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:image\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setAudioSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:audio\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setVideoSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:video\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setEmbedSrc=function(o,s){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setFrameSrc=function(o,s){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(s)},goog.dom.safe.setIframeSrc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(s)},goog.dom.safe.setIframeSrcdoc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setLinkHrefAndRel=function(o,s,_){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=_,goog.string.internal.caseInsensitiveContains(_,"stylesheet")?(goog.asserts.assert(s instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(s)):o.href=s instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(s):s instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrapTrustedURL(s):goog.html.SafeUrl.unwrapTrustedURL(goog.html.SafeUrl.sanitizeAssertUnchanged(s))},goog.dom.safe.setObjectData=function(o,s){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setScriptSrc=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setScriptContent=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setLocationHref=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.assignLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.assign(goog.html.SafeUrl.unwrapTrustedURL(s))},goog.dom.safe.replaceLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.replace(goog.html.SafeUrl.unwrapTrustedURL(s))},goog.dom.safe.openInWindow=function(o,s,_,j,$){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),(s||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(o),_?goog.string.Const.unwrap(_):"",j,$)},goog.dom.safe.parseFromStringHtml=function(o,s){return goog.dom.safe.parseFromString(o,s,"text/html")},goog.dom.safe.parseFromString=function(o,s,_){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(s),_)},goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var s=goog.global.URL.createObjectURL(o);return(o=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(s)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),s)),o},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(o,s){for(var _=o.split("%s"),j="",$=Array.prototype.slice.call(arguments,1);$.length&&1<_.length;)j+=_.shift()+$.shift();return j+_.join("%s")},goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(o){return o.length==0},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)},goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)},goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)},goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)},goog.string.isSpace=function(o){return o==" "},goog.string.isUnicodeChar=function(o){return o.length==1&&" "<=o&&"~">=o||"€"<=o&&"�">=o},goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,` -`)},goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(o,s,_){if(o==s)return 0;if(!o)return-1;if(!s)return 1;for(var j=o.toLowerCase().match(_),$=s.toLowerCase().match(_),_e=Math.min(j.length,$.length),et=0;et<_e;et++){_=j[et];var tt=$[et];if(_!=tt)return o=parseInt(_,10),!isNaN(o)&&(s=parseInt(tt,10),!isNaN(s)&&o-s)?o-s:_",""":'"'},j=s?s.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function($,_e){var et=_[$];return et||(_e.charAt(0)=="#"&&(_e=+("0"+_e.substr(1)),isNaN(_e)||(et=String.fromCharCode(_e))),et||(goog.dom.safe.setInnerHtml(j,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),$+" ")),et=j.firstChild.nodeValue.slice(0,-1)),_[$]=et)})},goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(s,_){switch(_){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return _.charAt(0)!="#"||(_=+("0"+_.substr(1)),isNaN(_))?s:String.fromCharCode(_)}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(o,s){return goog.string.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(o,s){for(var _=s.length,j=0;j<_;j++){var $=_==1?s:s.charAt(j);if(o.charAt(0)==$&&o.charAt(o.length-1)==$)return o.substring(1,o.length-1)}return o},goog.string.truncate=function(o,s,_){return _&&(o=goog.string.unescapeEntities(o)),o.length>s&&(o=o.substring(0,s-3)+"..."),_&&(o=goog.string.htmlEscape(o)),o},goog.string.truncateMiddle=function(o,s,_,j){if(_&&(o=goog.string.unescapeEntities(o)),j&&o.length>s){j>s&&(j=s);var $=o.length-j;o=o.substring(0,s-j)+"..."+o.substring($)}else o.length>s&&(j=Math.floor(s/2),$=o.length-j,o=o.substring(0,j+s%2)+"..."+o.substring($));return _&&(o=goog.string.htmlEscape(o)),o},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(o){o=String(o);for(var s=['"'],_=0;_$?j:goog.string.escapeChar(j))}return s.push('"'),s.join("")},goog.string.escapeString=function(o){for(var s=[],_=0;_s)var _=o;else 256>s?(_="\\x",(16>s||256s&&(_+="0")),_+=s.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=_},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(o,s){return o&&s?o.split(s).length-1:0},goog.string.removeAt=function(o,s,_){var j=o;return 0<=s&&s>>0;return s},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(o){var s=Number(o);return s==0&&goog.string.isEmptyOrWhitespace(o)?NaN:s},goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)},goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)},goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(s,_){return _.toUpperCase()})},goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(o,s){return s=goog.isString(s)?goog.string.regExpEscape(s):"\\s",o.replace(new RegExp("(^"+(s?"|["+s+"]+":"")+")([a-z])","g"),function(_,j,$){return j+$.toUpperCase()})},goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()},goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),goog.isString(o)?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN},goog.string.splitLimit=function(o,s,_){o=o.split(s);for(var j=[];0<_&&o.length;)j.push(o.shift()),_--;return o.length&&j.push(o.join(s)),j},goog.string.lastComponent=function(o,s){if(!s)return o;typeof s=="string"&&(s=[s]);for(var _=-1,j=0;j_&&(_=$)}return _==-1?o:o.slice(_+1)},goog.string.editDistance=function(o,s){var _=[],j=[];if(o==s)return 0;if(!o.length||!s.length)return Math.max(o.length,s.length);for(var $=0;$parseFloat(o)?String(s):o},goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(o):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(o):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(o):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(o):void 0},goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(o,s){return goog.string.compareVersions(o,s)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)},goog.crypt.base64.byteToCharMaps_={},goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function",goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function",goog.crypt.base64.encodeByteArray=function(o,s){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),s===void 0&&(s=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),s=goog.crypt.base64.byteToCharMaps_[s];for(var _=[],j=0;j>2;$=(3&$)<<4|et>>4,et=(15&et)<<2|nt>>6,nt&=63,tt||(nt=64,_e||(et=64)),_.push(s[rt],s[$],s[et]||"",s[nt]||"")}return _.join("")},goog.crypt.base64.encodeString=function(o,s){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!s?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),s)},goog.crypt.base64.decodeString=function(o,s){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!s)return goog.global.atob(o);var _="";return goog.crypt.base64.decodeStringInternal_(o,function(j){_+=String.fromCharCode(j)}),_},goog.crypt.base64.decodeStringToByteArray=function(o,s){var _=[];return goog.crypt.base64.decodeStringInternal_(o,function(j){_.push(j)}),_},goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var s=o.length,_=3*s/4;_%3?_=Math.floor(_):goog.crypt.base64.isPadding_(o[s-1])&&(_=goog.crypt.base64.isPadding_(o[s-2])?_-2:_-1);var j=new Uint8Array(_),$=0;return goog.crypt.base64.decodeStringInternal_(o,function(_e){j[$++]=_e}),j.subarray(0,$)},goog.crypt.base64.decodeStringInternal_=function(o,s){function _(nt){for(;j>4),et!=64&&(s(_e<<4&240|et>>2),tt!=64&&s(et<<6&192|tt))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),s=["+/=","+/","-_=","-_.","-_"],_=0;5>_;_++){var j=o.concat(s[_].split(""));goog.crypt.base64.byteToCharMaps_[_]=j;for(var $=0;$>>0;o=Math.floor((o-s)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=s,jspb.utils.split64High=o},jspb.utils.splitInt64=function(o){var s=0>o,_=(o=Math.abs(o))>>>0;o=Math.floor((o-_)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,s&&(o=~o>>>0,4294967295<(_=1+(~_>>>0))&&(_=0,4294967295<++o&&(o=0))),jspb.utils.split64Low=_,jspb.utils.split64High=o},jspb.utils.splitZigzag64=function(o){var s=0>o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;s&&(o==0?_==0?_=o=4294967295:(_--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=_},jspb.utils.splitFloat32=function(o){var s=0>o?1:0;if((o=s?-o:o)===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|2139095040)>>>0;else if(o>>0;else{var _=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-_),o=8388607&Math.round(o*jspb.BinaryConstants.TWO_TO_23),jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|_+127<<23|o)>>>0}},jspb.utils.splitFloat64=function(o){var s=0>o?1:0;if((o=s?-o:o)===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(s<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o>>0,jspb.utils.split64Low=_>>>0}else{var j=0;if(2<=(_=o))for(;2<=_&&1023>j;)j++,_/=2;else for(;1>_&&-1022>>0,jspb.utils.split64High=(s<<31|j+1023<<20|o)>>>0,jspb.utils.split64Low=_}},jspb.utils.splitHash64=function(o){var s=o.charCodeAt(0),_=o.charCodeAt(1),j=o.charCodeAt(2),$=o.charCodeAt(3),_e=o.charCodeAt(4),et=o.charCodeAt(5),tt=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=s+(_<<8)+(j<<16)+($<<24)>>>0,jspb.utils.split64High=_e+(et<<8)+(tt<<16)+(o<<24)>>>0},jspb.utils.joinUint64=function(o,s){return s*jspb.BinaryConstants.TWO_TO_32+(o>>>0)},jspb.utils.joinInt64=function(o,s){var _=2147483648&s;return _&&(s=~s>>>0,(o=1+~o>>>0)==0&&(s=s+1>>>0)),o=jspb.utils.joinUint64(o,s),_?-o:o},jspb.utils.toZigzag64=function(o,s,_){var j=s>>31;return _(o<<1^j,(s<<1|o>>>31)^j)},jspb.utils.joinZigzag64=function(o,s){return jspb.utils.fromZigzag64(o,s,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(o,s,_){var j=-(1&o);return _((o>>>1|s<<31)^j,s>>>1^j)},jspb.utils.joinFloat32=function(o,s){s=2*(o>>31)+1;var _=o>>>23&255;return o&=8388607,_==255?o?NaN:1/0*s:_==0?s*Math.pow(2,-149)*o:s*Math.pow(2,_-150)*(o+Math.pow(2,23))},jspb.utils.joinFloat64=function(o,s){var _=2*(s>>31)+1,j=s>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(1048575&s)+o,j==2047?o?NaN:1/0*_:j==0?_*Math.pow(2,-1074)*o:_*Math.pow(2,j-1075)*(o+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(o,s){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,s>>>0&255,s>>>8&255,s>>>16&255,s>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(o,s){function _($,_e){return $=$?String($):"",_e?"0000000".slice($.length)+$:$}if(2097151>=s)return""+(jspb.BinaryConstants.TWO_TO_32*s+o);var j=(o>>>24|s<<8)>>>0&16777215;return o=(16777215&o)+6777216*j+6710656*(s=s>>16&65535),j+=8147497*s,s*=2,1e7<=o&&(j+=Math.floor(o/1e7),o%=1e7),1e7<=j&&(s+=Math.floor(j/1e7),j%=1e7),_(s,0)+_(j,s)+_(o,1)},jspb.utils.joinSignedDecimalString=function(o,s){var _=2147483648&s;return _&&(s=~s+((o=1+~o>>>0)==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,s),_?"-"+o:o},jspb.utils.hash64ToDecimalString=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinSignedDecimalString(o,_):jspb.utils.joinUnsignedDecimalString(o,_)},jspb.utils.hash64ArrayToDecimalStrings=function(o,s){for(var _=Array(o.length),j=0;jtt&&(_e!==1||0>>=8}goog.asserts.assert(0_e;_e++)j[_e]=255&~j[_e]}(),s(1,1)),goog.crypt.byteArrayToString(j)},jspb.utils.splitDecimalString=function(o){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o))},jspb.utils.toHexDigit_=function(o){return String.fromCharCode(10>o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)},jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(o){var s=Array(18);s[0]="0",s[1]="x";for(var _=0;8>_;_++){var j=o.charCodeAt(7-_);s[2*_+2]=jspb.utils.toHexDigit_(j>>4),s[2*_+3]=jspb.utils.toHexDigit_(15&j)}return s.join("")},jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),goog.asserts.assert(o.length==18),goog.asserts.assert(o[0]=="0"),goog.asserts.assert(o[1]=="x");for(var s="",_=0;8>_;_++){var j=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+2)),$=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+3));s=String.fromCharCode(16*j+$)+s}return s},jspb.utils.hash64ToNumber=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinInt64(o,_):jspb.utils.joinUint64(o,_)},jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(o,s,_){for(var j=0,$=s;$<_;$++)j+=o[$]>>7;return _-s-j},jspb.utils.countVarintFields=function(o,s,_,j){var $=0;if(128>(j=8*j+jspb.BinaryConstants.WireType.VARINT))for(;s<_&&o[s++]==j;)for($++;;){var _e=o[s++];if(!(128&_e))break}else for(;s<_;){for(_e=j;128<_e;){if(o[s]!=(127&_e|128))return $;s++,_e>>=7}if(o[s++]!=_e)break;for($++;128&(_e=o[s++]););}return $},jspb.utils.countFixedFields_=function(o,s,_,j,$){var _e=0;if(128>j)for(;s<_&&o[s++]==j;)_e++,s+=$;else for(;s<_;){for(var et=j;128>=7}if(o[s++]!=et)break;_e++,s+=$}return _e},jspb.utils.countFixed32Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(o,s,_,j){var $=0;for(j=8*j+jspb.BinaryConstants.WireType.DELIMITED;s<_;){for(var _e=j;128<_e;){if(o[s++]!=(127&_e|128))return $;_e>>=7}if(o[s++]!=_e)break;$++;for(var et=0,tt=1;et+=(127&(_e=o[s++]))*tt,tt*=128,(128&_e)!=0;);s+=et}return $},jspb.utils.debugBytesToTextFormat=function(o){var s='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var _=0;_o[_]&&(s+="0"),s+=o[_].toString(16)}return s+'"'},jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()},jspb.utils.stringToByteArray=function(o){for(var s=new Uint8Array(o.length),_=0;_jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(o,s,_){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=s!==void 0?s:0,this.end_=_!==void 0?this.start_+_:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o},jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var s=128,_=0,j=0,$=0;4>$&&128<=s;$++)_|=(127&(s=this.bytes_[this.cursor_++]))<<7*$;if(128<=s&&(_|=(127&(s=this.bytes_[this.cursor_++]))<<28,j|=(127&s)>>4),128<=s)for($=0;5>$&&128<=s;$++)j|=(127&(s=this.bytes_[this.cursor_++]))<<7*$+3;if(128>s)return o(_>>>0,j>>>0);goog.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var s=this.bytes_,_=this.cursor_;this.cursor_+=8;for(var j=0,$=0,_e=_+7;_e>=_;_e--)j=j<<8|s[_e],$=$<<8|s[_e+4];return o(j,$)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;128&this.bytes_[this.cursor_];)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,s=o[this.cursor_+0],_=127&s;return 128>s?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+1]))<<7,128>s?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+2]))<<14,128>s?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+3]))<<21,128>s?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(15&(s=o[this.cursor_+4]))<<28,128>s?(this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),_>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&goog.asserts.assert(!1),goog.asserts.assert(this.cursor_<=this.end_),_)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32,jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(1&o)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o},jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8|_<<16|j<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUint64(o,s)},jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8|_<<16|j<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinInt64(o,s)},jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinSignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinFloat64(o,s)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(o){var s=this.bytes_,_=this.cursor_;o=_+o;for(var j=[],$="";__e)j.push(_e);else{if(192>_e)continue;if(224>_e){var et=s[_++];j.push((31&_e)<<6|63&et)}else if(240>_e){et=s[_++];var tt=s[_++];j.push((15&_e)<<12|(63&et)<<6|63&tt)}else 248>_e&&(_e=(7&_e)<<18|(63&(et=s[_++]))<<12|(63&(tt=s[_++]))<<6|63&s[_++],_e-=65536,j.push(55296+(_e>>10&1023),56320+(1023&_e)))}8192<=j.length&&($+=String.fromCharCode.apply(null,j),j.length=0)}return $+=goog.crypt.byteArrayToString(j),this.cursor_=_,$},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)},jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var s=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_),s},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,s=this.cursor_,_=o[s+0],j=o[s+1],$=o[s+2],_e=o[s+3],et=o[s+4],tt=o[s+5],nt=o[s+6];return o=o[s+7],this.cursor_+=8,String.fromCharCode(_,j,$,_e,et,tt,nt,o)},jspb.BinaryReader=function(o,s,_){this.decoder_=jspb.BinaryDecoder.alloc(o,s,_),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(o,s,_){if(jspb.BinaryReader.instanceCache_.length){var j=jspb.BinaryReader.instanceCache_.pop();return o&&j.decoder_.setBlock(o,s,_),j}return new jspb.BinaryReader(o,s,_)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(o,s,_){this.decoder_.setBlock(o,s,_),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),s=o>>>3;return(o&=7)!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=s,this.nextWireType_=o,!0)},jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){for(var o=this.nextField_;;){if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(goog.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(o,s){this.readCallbacks_===null&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=s},jspb.BinaryReader.prototype.runReadCallback=function(o){return goog.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],goog.asserts.assert(o),o(this)},jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var s=jspb.BinaryConstants.FieldType;switch(o){case s.DOUBLE:return this.readDouble();case s.FLOAT:return this.readFloat();case s.INT64:return this.readInt64();case s.UINT64:return this.readUint64();case s.INT32:return this.readInt32();case s.FIXED64:return this.readFixed64();case s.FIXED32:return this.readFixed32();case s.BOOL:return this.readBool();case s.STRING:return this.readString();case s.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case s.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case s.BYTES:return this.readBytes();case s.UINT32:return this.readUint32();case s.ENUM:return this.readEnum();case s.SFIXED32:return this.readSfixed32();case s.SFIXED64:return this.readSfixed64();case s.SINT32:return this.readSint32();case s.SINT64:return this.readSint64();case s.FHASH64:return this.readFixedHash64();case s.VHASH64:return this.readVarintHash64();default:goog.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(o,s){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var _=this.decoder_.getEnd(),j=this.decoder_.readUnsignedVarint32();j=this.decoder_.getCursor()+j,this.decoder_.setEnd(j),s(o,this),this.decoder_.setCursor(j),this.decoder_.setEnd(_)},jspb.BinaryReader.prototype.readGroup=function(o,s,_){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==o),_(s,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),s=this.decoder_.getCursor(),_=s+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),s,o),this.decoder_.setCursor(_),o},jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)},jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)},jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)},jspb.BinaryReader.prototype.readPackedField_=function(o){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var s=this.decoder_.readUnsignedVarint32();s=this.decoder_.getCursor()+s;for(var _=[];this.decoder_.getCursor()s.length?_.length:s.length;for(o.getJsPbMessageId()&&(j[0]=o.getJsPbMessageId(),$=1);$<_e;$++)jspb.Message.compareFields(_[$],s[$])||(j[$]=s[$]);return new o.constructor(j)},jspb.Message.equals=function(o,s){return o==s||!(!o||!s)&&o instanceof s.constructor&&jspb.Message.compareFields(o.toArray(),s.toArray())},jspb.Message.compareExtensions=function(o,s){o=o||{},s=s||{};var _,j={};for(_ in o)j[_]=0;for(_ in s)j[_]=0;for(_ in j)if(!jspb.Message.compareFields(o[_],s[_]))return!1;return!0},jspb.Message.compareFields=function(o,s){if(o==s)return!0;if(!goog.isObject(o)||!goog.isObject(s))return!!(typeof o=="number"&&isNaN(o)||typeof s=="number"&&isNaN(s))&&String(o)==String(s);if(o.constructor!=s.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=s.length)return!1;for(var _=0;_>>1|(1&this.hi)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(2147483648&this.hi)},jspb.arith.UInt64.prototype.lsb=function(){return!!(1&this.lo)},jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0},jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(o,s){var _=65535&o,j=65535&s,$=s>>>16;for(s=_*j+65536*(_*$&65535)+65536*((o>>>=16)*j&65535),_=o*$+(_*$>>>16)+(o*j>>>16);4294967296<=s;)s-=4294967296,_+=1;return new jspb.arith.UInt64(s>>>0,_>>>0)},jspb.arith.UInt64.prototype.mul=function(o){var s=jspb.arith.UInt64.mul32x32(this.lo,o);return(o=jspb.arith.UInt64.mul32x32(this.hi,o)).hi=o.lo,o.lo=0,s.add(o)},jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var j=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),j=j.leftShift();for(;!j.zero();)0>=o.cmp(_)&&(s=s.add(j),_=_.sub(o)),o=o.rightShift(),j=j.rightShift();return[s,_]},jspb.arith.UInt64.prototype.toString=function(){for(var o="",s=this;!s.zero();){var _=(s=s.div(10))[0];o=s[1].lo+o,s=_}return o==""&&(o="0"),o},jspb.arith.UInt64.fromString=function(o){for(var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(0,0),j=0;jo[j]||"9">>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var o=(2147483648&this.hi)!=0,s=new jspb.arith.UInt64(this.lo,this.hi);return o&&(s=new jspb.arith.UInt64(0,0).sub(s)),(o?"-":"")+s.toString()},jspb.arith.Int64.fromString=function(o){var s=0>>7|s<<25)>>>0,s>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,s){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(s==Math.floor(s)),goog.asserts.assert(0<=o&&o>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&os;s++)this.buffer_.push(127&o|128),o>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_31&&o>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o>>0,j>>>0)})},jspb.BinaryEncoder.prototype.writeUint8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&oo),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_63&&+o=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(o){goog.asserts.assert(1/0===o||-1/0===o||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(o){goog.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&oj)this.buffer_.push(j);else if(2048>j)this.buffer_.push(j>>6|192),this.buffer_.push(63&j|128);else if(65536>j)if(55296<=j&&56319>=j&&_+1=$&&(j=1024*(j-55296)+$-56320+65536,this.buffer_.push(j>>18|240),this.buffer_.push(j>>12&63|128),this.buffer_.push(j>>6&63|128),this.buffer_.push(63&j|128),_++)}else this.buffer_.push(j>>12|224),this.buffer_.push(j>>6&63|128),this.buffer_.push(63&j|128)}return this.buffer_.length-s},jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]},jspb.BinaryWriter.prototype.appendUint8Array_=function(o){var s=this.encoder_.end();this.blocks_.push(s),this.blocks_.push(o),this.totalLength_+=s.length+o.length},jspb.BinaryWriter.prototype.beginDelimited_=function(o){return this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),o=this.encoder_.end(),this.blocks_.push(o),this.totalLength_+=o.length,o.push(this.totalLength_),o},jspb.BinaryWriter.prototype.endDelimited_=function(o){var s=o.pop();for(s=this.totalLength_+this.encoder_.length()-s,goog.asserts.assert(0<=s);127>>=7,this.totalLength_++;o.push(s),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,s,_){this.appendUint8Array_(o.subarray(s,_))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,s,_){o!=null&&s!=null&&_!=null&&this.writeSerializedMessage(o,s,_)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),s=this.blocks_,_=s.length,j=0,$=0;$<_;$++){var _e=s[$];o.set(_e,j),j+=_e.length}return s=this.encoder_.end(),o.set(s,j),j+=s.length,goog.asserts.assert(j==o.length),this.blocks_=[o],o},jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)},jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))},jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,s){goog.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+s)},jspb.BinaryWriter.prototype.writeAny=function(o,s,_){var j=jspb.BinaryConstants.FieldType;switch(o){case j.DOUBLE:this.writeDouble(s,_);break;case j.FLOAT:this.writeFloat(s,_);break;case j.INT64:this.writeInt64(s,_);break;case j.UINT64:this.writeUint64(s,_);break;case j.INT32:this.writeInt32(s,_);break;case j.FIXED64:this.writeFixed64(s,_);break;case j.FIXED32:this.writeFixed32(s,_);break;case j.BOOL:this.writeBool(s,_);break;case j.STRING:this.writeString(s,_);break;case j.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");break;case j.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case j.BYTES:this.writeBytes(s,_);break;case j.UINT32:this.writeUint32(s,_);break;case j.ENUM:this.writeEnum(s,_);break;case j.SFIXED32:this.writeSfixed32(s,_);break;case j.SFIXED64:this.writeSfixed64(s,_);break;case j.SINT32:this.writeSint32(s,_);break;case j.SINT64:this.writeSint64(s,_);break;case j.FHASH64:this.writeFixedHash64(s,_);break;case j.VHASH64:this.writeVarintHash64(s,_);break;default:goog.asserts.fail("Invalid field type in writeAny()")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(s))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(s))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(s))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(s))},jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(s))},jspb.BinaryWriter.prototype.writeInt32=function(o,s){s!=null&&(goog.asserts.assert(s>=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s>>0,_e>>>0)})},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,s){if(s!=null)for(var _=0;_>>0,tt>>>0)});this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(o,s){if(s!=null&&s.length){o=this.beginDelimited_(o);for(var _=0;_-1};function st(Tt){if(typeof Tt!="string"&&(Tt=String(Tt)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(Tt))throw new TypeError("Invalid character in header field name");return Tt.toLowerCase()}function ct(Tt){return typeof Tt!="string"&&(Tt=String(Tt)),Tt}function pt(Tt){var Ot={next:function(){var _t=Tt.shift();return{done:_t===void 0,value:_t}}};return nt&&(Ot[Symbol.iterator]=function(){return Ot}),Ot}function Bt(Tt){this.map={},Tt instanceof Bt?Tt.forEach(function(Ot,_t){this.append(_t,Ot)},this):Array.isArray(Tt)?Tt.forEach(function(Ot){this.append(Ot[0],Ot[1])},this):Tt&&Object.getOwnPropertyNames(Tt).forEach(function(Ot){this.append(Ot,Tt[Ot])},this)}function Qt(Tt){if(Tt.bodyUsed)return Promise.reject(new TypeError("Already read"));Tt.bodyUsed=!0}function gt(Tt){return new Promise(function(Ot,_t){Tt.onload=function(){Ot(Tt.result)},Tt.onerror=function(){_t(Tt.error)}})}function ft(Tt){var Ot=new FileReader,_t=gt(Ot);return Ot.readAsArrayBuffer(Tt),_t}function Ft(Tt){if(Tt.slice)return Tt.slice(0);var Ot=new Uint8Array(Tt.byteLength);return Ot.set(new Uint8Array(Tt)),Ot.buffer}function yt(){return this.bodyUsed=!1,this._initBody=function(Tt){var Ot;this._bodyInit=Tt,Tt?typeof Tt=="string"?this._bodyText=Tt:rt&&Blob.prototype.isPrototypeOf(Tt)?this._bodyBlob=Tt:ot&&FormData.prototype.isPrototypeOf(Tt)?this._bodyFormData=Tt:tt&&URLSearchParams.prototype.isPrototypeOf(Tt)?this._bodyText=Tt.toString():ut&&rt&&(Ot=Tt)&&DataView.prototype.isPrototypeOf(Ot)?(this._bodyArrayBuffer=Ft(Tt.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):ut&&(ArrayBuffer.prototype.isPrototypeOf(Tt)||Ut(Tt))?this._bodyArrayBuffer=Ft(Tt):this._bodyText=Tt=Object.prototype.toString.call(Tt):this._bodyText="",this.headers.get("content-type")||(typeof Tt=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):tt&&URLSearchParams.prototype.isPrototypeOf(Tt)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},rt&&(this.blob=function(){var Tt=Qt(this);if(Tt)return Tt;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?Qt(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(ft)}),this.text=function(){var Tt,Ot,_t,Wt=Qt(this);if(Wt)return Wt;if(this._bodyBlob)return Tt=this._bodyBlob,Ot=new FileReader,_t=gt(Ot),Ot.readAsText(Tt),_t;if(this._bodyArrayBuffer)return Promise.resolve(function(bt){for(var Jt=new Uint8Array(bt),Zt=new Array(Jt.length),Vt=0;Vt-1?Wt:_t),this.mode=Ot.mode||this.mode||null,this.signal=Ot.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&bt)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(bt)}function ht(Tt){var Ot=new FormData;return Tt.trim().split("&").forEach(function(_t){if(_t){var Wt=_t.split("="),bt=Wt.shift().replace(/\+/g," "),Jt=Wt.join("=").replace(/\+/g," ");Ot.append(decodeURIComponent(bt),decodeURIComponent(Jt))}}),Ot}function mt(Tt,Ot){Ot||(Ot={}),this.type="default",this.status=Ot.status===void 0?200:Ot.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in Ot?Ot.statusText:"OK",this.headers=new Bt(Ot.headers),this.url=Ot.url||"",this._initBody(Tt)}xt.prototype.clone=function(){return new xt(this,{body:this._bodyInit})},yt.call(xt.prototype),yt.call(mt.prototype),mt.prototype.clone=function(){return new mt(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Bt(this.headers),url:this.url})},mt.error=function(){var Tt=new mt(null,{status:0,statusText:""});return Tt.type="error",Tt};var It=[301,302,303,307,308];mt.redirect=function(Tt,Ot){if(It.indexOf(Ot)===-1)throw new RangeError("Invalid status code");return new mt(null,{status:Ot,headers:{location:Tt}})},et.DOMException=_e.DOMException;try{new et.DOMException}catch{et.DOMException=function(Tt,Ot){this.message=Tt,this.name=Ot;var _t=Error(Tt);this.stack=_t.stack},et.DOMException.prototype=Object.create(Error.prototype),et.DOMException.prototype.constructor=et.DOMException}function vt(Tt,Ot){return new Promise(function(_t,Wt){var bt=new xt(Tt,Ot);if(bt.signal&&bt.signal.aborted)return Wt(new et.DOMException("Aborted","AbortError"));var Jt=new XMLHttpRequest;function Zt(){Jt.abort()}Jt.onload=function(){var Vt,jt,zt={status:Jt.status,statusText:Jt.statusText,headers:(Vt=Jt.getAllResponseHeaders()||"",jt=new Bt,Vt.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(nn){var rn=nn.split(":"),Dt=rn.shift().trim();if(Dt){var wt=rn.join(":").trim();jt.append(Dt,wt)}}),jt)};zt.url="responseURL"in Jt?Jt.responseURL:zt.headers.get("X-Request-URL");var $t="response"in Jt?Jt.response:Jt.responseText;_t(new mt($t,zt))},Jt.onerror=function(){Wt(new TypeError("Network request failed"))},Jt.ontimeout=function(){Wt(new TypeError("Network request failed"))},Jt.onabort=function(){Wt(new et.DOMException("Aborted","AbortError"))},Jt.open(bt.method,bt.url,!0),bt.credentials==="include"?Jt.withCredentials=!0:bt.credentials==="omit"&&(Jt.withCredentials=!1),"responseType"in Jt&&rt&&(Jt.responseType="blob"),bt.headers.forEach(function(Vt,jt){Jt.setRequestHeader(jt,Vt)}),bt.signal&&(bt.signal.addEventListener("abort",Zt),Jt.onreadystatechange=function(){Jt.readyState===4&&bt.signal.removeEventListener("abort",Zt)}),Jt.send(bt._bodyInit===void 0?null:bt._bodyInit)})}vt.polyfill=!0,_e.fetch||(_e.fetch=vt,_e.Headers=Bt,_e.Request=xt,_e.Response=mt),et.Headers=Bt,et.Request=xt,et.Response=mt,et.fetch=vt,Object.defineProperty(et,"__esModule",{value:!0})})({})})(j),j.fetch.ponyfill=!0,delete j.fetch.polyfill;var $=j;(s=$.fetch).default=$.fetch,s.fetch=$.fetch,s.Headers=$.Headers,s.Request=$.Request,s.Response=$.Response,o.exports=s},function(o,s,_){(function(j){const $=_(216),_e=_(51),et=(tt,nt,rt)=>({from:et,EnvVarError:_(51),get:function(ot){if(!ot)return tt;if(arguments.length>1)throw new _e("It looks like you passed more than one argument to env.get(). Since env-var@6.0.0 this is no longer supported. To set a default value use env.get(TARGET).default(DEFAULT)");return $(tt,ot,nt||{},rt||function(){})},accessors:_(93),logger:_(230)(console.log,tt.NODE_ENV)});o.exports=et(j===void 0?{}:j.env)}).call(this,_(2))},function(o,s,_){(function(j){const $=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,_e=typeof AbortController=="function"?AbortController:class{constructor(){this.signal=new nt}abort(){this.signal.dispatchEvent("abort")}},et=typeof AbortSignal=="function",tt=typeof _e.AbortSignal=="function",nt=et?AbortSignal:tt?_e.AbortController:class{constructor(){this.aborted=!1,this._listeners=[]}dispatchEvent(ft){if(ft==="abort"){this.aborted=!0;const Ft={type:ft,target:this};this.onabort(Ft),this._listeners.forEach(yt=>yt(Ft),this)}}onabort(){}addEventListener(ft,Ft){ft==="abort"&&this._listeners.push(Ft)}removeEventListener(ft,Ft){ft==="abort"&&(this._listeners=this._listeners.filter(yt=>yt!==Ft))}},rt=new Set,ot=(ft,Ft)=>{const yt="LRU_CACHE_OPTION_"+ft;Ut(yt)&&st(yt,ft+" option","options."+Ft,gt)},ut=(ft,Ft)=>{const yt="LRU_CACHE_METHOD_"+ft;if(Ut(yt)){const{prototype:Ct}=gt,{get:xt}=Object.getOwnPropertyDescriptor(Ct,ft);st(yt,ft+" method",`cache.${Ft}()`,xt)}},dt=(...ft)=>{typeof j=="object"&&j&&typeof j.emitWarning=="function"?j.emitWarning(...ft):console.error(...ft)},Ut=ft=>!rt.has(ft),st=(ft,Ft,yt,Ct)=>{rt.add(ft),dt(`The ${Ft} is deprecated. Please use ${yt} instead.`,"DeprecationWarning",ft,Ct)},ct=ft=>ft&&ft===Math.floor(ft)&&ft>0&&isFinite(ft),pt=ft=>ct(ft)?ft<=Math.pow(2,8)?Uint8Array:ft<=Math.pow(2,16)?Uint16Array:ft<=Math.pow(2,32)?Uint32Array:ft<=Number.MAX_SAFE_INTEGER?Bt:null:null;class Bt extends Array{constructor(Ft){super(Ft),this.fill(0)}}class Qt{constructor(Ft){if(Ft===0)return[];const yt=pt(Ft);this.heap=new yt(Ft),this.length=0}push(Ft){this.heap[this.length++]=Ft}pop(){return this.heap[--this.length]}}class gt{constructor(Ft={}){const{max:yt=0,ttl:Ct,ttlResolution:xt=1,ttlAutopurge:ht,updateAgeOnGet:mt,updateAgeOnHas:It,allowStale:vt,dispose:Tt,disposeAfter:Ot,noDisposeOnSet:_t,noUpdateTTL:Wt,maxSize:bt=0,maxEntrySize:Jt=0,sizeCalculation:Zt,fetchMethod:Vt,fetchContext:jt,noDeleteOnFetchRejection:zt,noDeleteOnStaleGet:$t}=Ft,{length:nn,maxAge:rn,stale:Dt}=Ft instanceof gt?{}:Ft;if(yt!==0&&!ct(yt))throw new TypeError("max option must be a nonnegative integer");const wt=yt?pt(yt):Array;if(!wt)throw new Error("invalid max value: "+yt);if(this.max=yt,this.maxSize=bt,this.maxEntrySize=Jt||this.maxSize,this.sizeCalculation=Zt||nn,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=Vt||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=jt,!this.fetchMethod&&jt!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(yt).fill(null),this.valList=new Array(yt).fill(null),this.next=new wt(yt),this.prev=new wt(yt),this.head=0,this.tail=0,this.free=new Qt(yt),this.initialFill=1,this.size=0,typeof Tt=="function"&&(this.dispose=Tt),typeof Ot=="function"?(this.disposeAfter=Ot,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!_t,this.noUpdateTTL=!!Wt,this.noDeleteOnFetchRejection=!!zt,this.maxEntrySize!==0){if(this.maxSize!==0&&!ct(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!ct(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!vt||!!Dt,this.noDeleteOnStaleGet=!!$t,this.updateAgeOnGet=!!mt,this.updateAgeOnHas=!!It,this.ttlResolution=ct(xt)||xt===0?xt:1,this.ttlAutopurge=!!ht,this.ttl=Ct||rn||0,this.ttl){if(!ct(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const Et="LRU_CACHE_UNBOUNDED";Ut(Et)&&(rt.add(Et),dt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Et,gt))}Dt&&ot("stale","allowStale"),rn&&ot("maxAge","ttl"),nn&&ot("length","sizeCalculation")}getRemainingTTL(Ft){return this.has(Ft,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Bt(this.max),this.starts=new Bt(this.max),this.setItemTTL=(Ct,xt,ht=$.now())=>{if(this.starts[Ct]=xt!==0?ht:0,this.ttls[Ct]=xt,xt!==0&&this.ttlAutopurge){const mt=setTimeout(()=>{this.isStale(Ct)&&this.delete(this.keyList[Ct])},xt+1);mt.unref&&mt.unref()}},this.updateItemAge=Ct=>{this.starts[Ct]=this.ttls[Ct]!==0?$.now():0};let Ft=0;const yt=()=>{const Ct=$.now();if(this.ttlResolution>0){Ft=Ct;const xt=setTimeout(()=>Ft=0,this.ttlResolution);xt.unref&&xt.unref()}return Ct};this.getRemainingTTL=Ct=>{const xt=this.keyMap.get(Ct);return xt===void 0?0:this.ttls[xt]===0||this.starts[xt]===0?1/0:this.starts[xt]+this.ttls[xt]-(Ft||yt())},this.isStale=Ct=>this.ttls[Ct]!==0&&this.starts[Ct]!==0&&(Ft||yt())-this.starts[Ct]>this.ttls[Ct]}updateItemAge(Ft){}setItemTTL(Ft,yt,Ct){}isStale(Ft){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Bt(this.max),this.removeItemSize=Ft=>{this.calculatedSize-=this.sizes[Ft],this.sizes[Ft]=0},this.requireSize=(Ft,yt,Ct,xt)=>{if(!ct(Ct)){if(!xt)throw new TypeError("invalid size value (must be positive integer)");if(typeof xt!="function")throw new TypeError("sizeCalculation must be a function");if(Ct=xt(yt,Ft),!ct(Ct))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return Ct},this.addItemSize=(Ft,yt)=>{this.sizes[Ft]=yt;const Ct=this.maxSize-this.sizes[Ft];for(;this.calculatedSize>Ct;)this.evict(!0);this.calculatedSize+=this.sizes[Ft]}}removeItemSize(Ft){}addItemSize(Ft,yt){}requireSize(Ft,yt,Ct,xt){if(Ct||xt)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:Ft=this.allowStale}={}){if(this.size)for(let yt=this.tail;this.isValidIndex(yt)&&(!Ft&&this.isStale(yt)||(yield yt),yt!==this.head);)yt=this.prev[yt]}*rindexes({allowStale:Ft=this.allowStale}={}){if(this.size)for(let yt=this.head;this.isValidIndex(yt)&&(!Ft&&this.isStale(yt)||(yield yt),yt!==this.tail);)yt=this.next[yt]}isValidIndex(Ft){return this.keyMap.get(this.keyList[Ft])===Ft}*entries(){for(const Ft of this.indexes())yield[this.keyList[Ft],this.valList[Ft]]}*rentries(){for(const Ft of this.rindexes())yield[this.keyList[Ft],this.valList[Ft]]}*keys(){for(const Ft of this.indexes())yield this.keyList[Ft]}*rkeys(){for(const Ft of this.rindexes())yield this.keyList[Ft]}*values(){for(const Ft of this.indexes())yield this.valList[Ft]}*rvalues(){for(const Ft of this.rindexes())yield this.valList[Ft]}[Symbol.iterator](){return this.entries()}find(Ft,yt={}){for(const Ct of this.indexes())if(Ft(this.valList[Ct],this.keyList[Ct],this))return this.get(this.keyList[Ct],yt)}forEach(Ft,yt=this){for(const Ct of this.indexes())Ft.call(yt,this.valList[Ct],this.keyList[Ct],this)}rforEach(Ft,yt=this){for(const Ct of this.rindexes())Ft.call(yt,this.valList[Ct],this.keyList[Ct],this)}get prune(){return ut("prune","purgeStale"),this.purgeStale}purgeStale(){let Ft=!1;for(const yt of this.rindexes({allowStale:!0}))this.isStale(yt)&&(this.delete(this.keyList[yt]),Ft=!0);return Ft}dump(){const Ft=[];for(const yt of this.indexes({allowStale:!0})){const Ct=this.keyList[yt],xt=this.valList[yt],ht={value:this.isBackgroundFetch(xt)?xt.__staleWhileFetching:xt};if(this.ttls){ht.ttl=this.ttls[yt];const mt=$.now()-this.starts[yt];ht.start=Math.floor(Date.now()-mt)}this.sizes&&(ht.size=this.sizes[yt]),Ft.unshift([Ct,ht])}return Ft}load(Ft){this.clear();for(const[yt,Ct]of Ft){if(Ct.start){const xt=Date.now()-Ct.start;Ct.start=$.now()-xt}this.set(yt,Ct.value,Ct)}}dispose(Ft,yt,Ct){}set(Ft,yt,{ttl:Ct=this.ttl,start:xt,noDisposeOnSet:ht=this.noDisposeOnSet,size:mt=0,sizeCalculation:It=this.sizeCalculation,noUpdateTTL:vt=this.noUpdateTTL}={}){if(mt=this.requireSize(Ft,yt,mt,It),this.maxEntrySize&&mt>this.maxEntrySize)return this;let Tt=this.size===0?void 0:this.keyMap.get(Ft);if(Tt===void 0)Tt=this.newIndex(),this.keyList[Tt]=Ft,this.valList[Tt]=yt,this.keyMap.set(Ft,Tt),this.next[this.tail]=Tt,this.prev[Tt]=this.tail,this.tail=Tt,this.size++,this.addItemSize(Tt,mt),vt=!1;else{const Ot=this.valList[Tt];yt!==Ot&&(this.isBackgroundFetch(Ot)?Ot.__abortController.abort():ht||(this.dispose(Ot,Ft,"set"),this.disposeAfter&&this.disposed.push([Ot,Ft,"set"])),this.removeItemSize(Tt),this.valList[Tt]=yt,this.addItemSize(Tt,mt)),this.moveToTail(Tt)}if(Ct===0||this.ttl!==0||this.ttls||this.initializeTTLTracking(),vt||this.setItemTTL(Tt,Ct,xt),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const Ft=this.valList[this.head];return this.evict(!0),Ft}}evict(Ft){const yt=this.head,Ct=this.keyList[yt],xt=this.valList[yt];return this.isBackgroundFetch(xt)?xt.__abortController.abort():(this.dispose(xt,Ct,"evict"),this.disposeAfter&&this.disposed.push([xt,Ct,"evict"])),this.removeItemSize(yt),Ft&&(this.keyList[yt]=null,this.valList[yt]=null,this.free.push(yt)),this.head=this.next[yt],this.keyMap.delete(Ct),this.size--,yt}has(Ft,{updateAgeOnHas:yt=this.updateAgeOnHas}={}){const Ct=this.keyMap.get(Ft);return Ct!==void 0&&!this.isStale(Ct)&&(yt&&this.updateItemAge(Ct),!0)}peek(Ft,{allowStale:yt=this.allowStale}={}){const Ct=this.keyMap.get(Ft);if(Ct!==void 0&&(yt||!this.isStale(Ct))){const xt=this.valList[Ct];return this.isBackgroundFetch(xt)?xt.__staleWhileFetching:xt}}backgroundFetch(Ft,yt,Ct,xt){const ht=yt===void 0?void 0:this.valList[yt];if(this.isBackgroundFetch(ht))return ht;const mt=new _e,It={signal:mt.signal,options:Ct,context:xt},vt=new Promise(Tt=>Tt(this.fetchMethod(Ft,ht,It))).then(Tt=>(mt.signal.aborted||this.set(Ft,Tt,It.options),Tt),Tt=>{if(this.valList[yt]===vt&&(!Ct.noDeleteOnFetchRejection||vt.__staleWhileFetching===void 0?this.delete(Ft):this.valList[yt]=vt.__staleWhileFetching),vt.__returned===vt)throw Tt});return vt.__abortController=mt,vt.__staleWhileFetching=ht,vt.__returned=null,yt===void 0?(this.set(Ft,vt,It.options),yt=this.keyMap.get(Ft)):this.valList[yt]=vt,vt}isBackgroundFetch(Ft){return Ft&&typeof Ft=="object"&&typeof Ft.then=="function"&&Object.prototype.hasOwnProperty.call(Ft,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(Ft,"__returned")&&(Ft.__returned===Ft||Ft.__returned===null)}async fetch(Ft,{allowStale:yt=this.allowStale,updateAgeOnGet:Ct=this.updateAgeOnGet,noDeleteOnStaleGet:xt=this.noDeleteOnStaleGet,ttl:ht=this.ttl,noDisposeOnSet:mt=this.noDisposeOnSet,size:It=0,sizeCalculation:vt=this.sizeCalculation,noUpdateTTL:Tt=this.noUpdateTTL,noDeleteOnFetchRejection:Ot=this.noDeleteOnFetchRejection,fetchContext:_t=this.fetchContext,forceRefresh:Wt=!1}={}){if(!this.fetchMethod)return this.get(Ft,{allowStale:yt,updateAgeOnGet:Ct,noDeleteOnStaleGet:xt});const bt={allowStale:yt,updateAgeOnGet:Ct,noDeleteOnStaleGet:xt,ttl:ht,noDisposeOnSet:mt,size:It,sizeCalculation:vt,noUpdateTTL:Tt,noDeleteOnFetchRejection:Ot};let Jt=this.keyMap.get(Ft);if(Jt===void 0){const Zt=this.backgroundFetch(Ft,Jt,bt,_t);return Zt.__returned=Zt}{const Zt=this.valList[Jt];if(this.isBackgroundFetch(Zt))return yt&&Zt.__staleWhileFetching!==void 0?Zt.__staleWhileFetching:Zt.__returned=Zt;if(!Wt&&!this.isStale(Jt))return this.moveToTail(Jt),Ct&&this.updateItemAge(Jt),Zt;const Vt=this.backgroundFetch(Ft,Jt,bt,_t);return yt&&Vt.__staleWhileFetching!==void 0?Vt.__staleWhileFetching:Vt.__returned=Vt}}get(Ft,{allowStale:yt=this.allowStale,updateAgeOnGet:Ct=this.updateAgeOnGet,noDeleteOnStaleGet:xt=this.noDeleteOnStaleGet}={}){const ht=this.keyMap.get(Ft);if(ht!==void 0){const mt=this.valList[ht],It=this.isBackgroundFetch(mt);return this.isStale(ht)?It?yt?mt.__staleWhileFetching:void 0:(xt||this.delete(Ft),yt?mt:void 0):It?void 0:(this.moveToTail(ht),Ct&&this.updateItemAge(ht),mt)}}connect(Ft,yt){this.prev[yt]=Ft,this.next[Ft]=yt}moveToTail(Ft){Ft!==this.tail&&(Ft===this.head?this.head=this.next[Ft]:this.connect(this.prev[Ft],this.next[Ft]),this.connect(this.tail,Ft),this.tail=Ft)}get del(){return ut("del","delete"),this.delete}delete(Ft){let yt=!1;if(this.size!==0){const Ct=this.keyMap.get(Ft);if(Ct!==void 0)if(yt=!0,this.size===1)this.clear();else{this.removeItemSize(Ct);const xt=this.valList[Ct];this.isBackgroundFetch(xt)?xt.__abortController.abort():(this.dispose(xt,Ft,"delete"),this.disposeAfter&&this.disposed.push([xt,Ft,"delete"])),this.keyMap.delete(Ft),this.keyList[Ct]=null,this.valList[Ct]=null,Ct===this.tail?this.tail=this.prev[Ct]:Ct===this.head?this.head=this.next[Ct]:(this.next[this.prev[Ct]]=this.next[Ct],this.prev[this.next[Ct]]=this.prev[Ct]),this.size--,this.free.push(Ct)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return yt}clear(){for(const Ft of this.rindexes({allowStale:!0})){const yt=this.valList[Ft];if(this.isBackgroundFetch(yt))yt.__abortController.abort();else{const Ct=this.keyList[Ft];this.dispose(yt,Ct,"delete"),this.disposeAfter&&this.disposed.push([yt,Ct,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return ut("reset","clear"),this.clear}get length(){return((Ft,yt)=>{const Ct="LRU_CACHE_PROPERTY_"+Ft;if(Ut(Ct)){const{prototype:xt}=gt,{get:ht}=Object.getOwnPropertyDescriptor(xt,Ft);st(Ct,Ft+" property","cache."+yt,ht)}})("length","size"),this.size}static get AbortController(){return _e}static get AbortSignal(){return nt}}o.exports=gt}).call(this,_(2))},function(o,s,_){var j=_(42).Colorizer;o.exports=function($){return j.addColors($.colors||$),$}},function(o,s,_){var j={};o.exports=j,j.themes={};var $=_(13),_e=j.styles=_(106),et=Object.defineProperties,tt=new RegExp(/[\r\n]+/g);j.supportsColor=_(107).supportsColor,j.enabled===void 0&&(j.enabled=j.supportsColor()!==!1),j.enable=function(){j.enabled=!0},j.disable=function(){j.enabled=!1},j.stripColors=j.strip=function(pt){return(""+pt).replace(/\x1B\[\d+m/g,"")},j.stylize=function(pt,Bt){if(!j.enabled)return pt+"";var Qt=_e[Bt];return!Qt&&Bt in j?j[Bt](pt):Qt.open+pt+Qt.close};var nt=/[|\\{}()[\]^$+*?.]/g;function rt(pt){var Bt=function Qt(){return Ut.apply(Qt,arguments)};return Bt._styles=pt,Bt.__proto__=dt,Bt}var ot,ut=(ot={},_e.grey=_e.gray,Object.keys(_e).forEach(function(pt){_e[pt].closeRe=new RegExp(function(Bt){if(typeof Bt!="string")throw new TypeError("Expected a string");return Bt.replace(nt,"\\$&")}(_e[pt].close),"g"),ot[pt]={get:function(){return rt(this._styles.concat(pt))}}}),ot),dt=et(function(){},ut);function Ut(){var pt=Array.prototype.slice.call(arguments),Bt=pt.map(function(yt){return yt!=null&&yt.constructor===String?yt:$.inspect(yt)}).join(" ");if(!j.enabled||!Bt)return Bt;for(var Qt=Bt.indexOf(` -`)!=-1,gt=this._styles,ft=gt.length;ft--;){var Ft=_e[gt[ft]];Bt=Ft.open+Bt.replace(Ft.closeRe,Ft.open)+Ft.close,Qt&&(Bt=Bt.replace(tt,function(yt){return Ft.close+yt+Ft.open}))}return Bt}j.setTheme=function(pt){if(typeof pt!="string")for(var Bt in pt)(function(Qt){j[Qt]=function(gt){if(typeof pt[Qt]=="object"){var ft=gt;for(var Ft in pt[Qt])ft=j[pt[Qt][Ft]](ft);return ft}return j[pt[Qt]](gt)}})(Bt);else console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));")};var st=function(pt,Bt){var Qt=Bt.split("");return(Qt=Qt.map(pt)).join("")};for(var ct in j.trap=_(109),j.zalgo=_(110),j.maps={},j.maps.america=_(111)(j),j.maps.zebra=_(112)(j),j.maps.rainbow=_(113)(j),j.maps.random=_(114)(j),j.maps)(function(pt){j[pt]=function(Bt){return st(j.maps[pt],Bt)}})(ct);et(j,function(){var pt={};return Object.keys(ut).forEach(function(Bt){pt[Bt]={get:function(){return rt([Bt])}}}),pt}())},function(o,s){o.exports=function(_){return _&&typeof _=="object"&&typeof _.copy=="function"&&typeof _.fill=="function"&&typeof _.readUInt8=="function"}},function(o,s){typeof Object.create=="function"?o.exports=function(_,j){_.super_=j,_.prototype=Object.create(j.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}})}:o.exports=function(_,j){_.super_=j;var $=function(){};$.prototype=j.prototype,_.prototype=new $,_.prototype.constructor=_}},function(o,s){var _={};o.exports=_;var j={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(j).forEach(function($){var _e=j[$],et=_[$]=[];et.open="\x1B["+_e[0]+"m",et.close="\x1B["+_e[1]+"m"})},function(o,s,_){(function(j){var $=_(16),_e=_(108),et=j.env,tt=void 0;function nt(rt){return function(ot){return ot!==0&&{level:ot,hasBasic:!0,has256:ot>=2,has16m:ot>=3}}(function(ot){if(tt===!1)return 0;if(_e("color=16m")||_e("color=full")||_e("color=truecolor"))return 3;if(_e("color=256"))return 2;if(ot&&!ot.isTTY&&tt!==!0)return 0;var ut=tt?1:0;if(j.platform==="win32"){var dt=$.release().split(".");return Number(j.versions.node.split(".")[0])>=8&&Number(dt[0])>=10&&Number(dt[2])>=10586?Number(dt[2])>=14931?3:2:1}if("CI"in et)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(st){return st in et})||et.CI_NAME==="codeship"?1:ut;if("TEAMCITY_VERSION"in et)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(et.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in et){var Ut=parseInt((et.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(et.TERM_PROGRAM){case"iTerm.app":return Ut>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test("xterm")?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test("xterm")||"COLORTERM"in et?1:ut}(rt))}_e("no-color")||_e("no-colors")||_e("color=false")?tt=!1:(_e("color")||_e("colors")||_e("color=true")||_e("color=always"))&&(tt=!0),"FORCE_COLOR"in et&&(tt=et.FORCE_COLOR.length===0||parseInt(et.FORCE_COLOR,10)!==0),o.exports={supportsColor:nt,stdout:nt(j.stdout),stderr:nt(j.stderr)}}).call(this,_(2))},function(o,s,_){(function(j){o.exports=function($,_e){var et=(_e=_e||j.argv).indexOf("--"),tt=/^-{1,2}/.test($)?"":"--",nt=_e.indexOf(tt+$);return nt!==-1&&(et===-1||nt0&&arguments[0]!==void 0?arguments[0]:{};j(this,ut),st.levels||(st.levels=nt.cli.levels),this.colorizer=new _e(st),this.padder=new et(st),this.options=st}var dt,Ut;return dt=ut,(Ut=[{key:"transform",value:function(st,ct){return this.colorizer.transform(this.padder.transform(st,ct),ct),st[rt]="".concat(st.level,":").concat(st.message),st}}])&&$(dt.prototype,Ut),Object.defineProperty(dt,"prototype",{writable:!1}),ut}();o.exports=function(ut){return new ot(ut)},o.exports.Format=ot},function(o,s,_){var j=_(8);function $(et){if(et.every(_e))return function(tt){for(var nt=tt,rt=0;rt1&&arguments[1]!==void 0?arguments[1]:{},nt="metadata";tt.key&&(nt=tt.key);var rt=[];return tt.fillExcept||tt.fillWith||(rt.push("level"),rt.push("message")),tt.fillExcept&&(rt=tt.fillExcept),rt.length>0?$(et,rt,nt):tt.fillWith?_e(et,tt.fillWith,nt):et})},function(o,s,_){var j=_(8),$=_(128);o.exports=j(function(_e){var et=+new Date;return(void 0).diff=et-((void 0).prevTime||et),(void 0).prevTime=et,_e.ms="+".concat($((void 0).diff)),_e})},function(o,s){var _=1e3,j=6e4,$=60*j,_e=24*$;function et(tt,nt,rt,ot){var ut=nt>=1.5*rt;return Math.round(tt/rt)+" "+ot+(ut?"s":"")}o.exports=function(tt,nt){nt=nt||{};var rt=typeof tt;if(rt==="string"&&tt.length>0)return function(ot){if(!((ot=String(ot)).length>100)){var ut=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(ot);if(ut){var dt=parseFloat(ut[1]);switch((ut[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*dt;case"weeks":case"week":case"w":return 6048e5*dt;case"days":case"day":case"d":return dt*_e;case"hours":case"hour":case"hrs":case"hr":case"h":return dt*$;case"minutes":case"minute":case"mins":case"min":case"m":return dt*j;case"seconds":case"second":case"secs":case"sec":case"s":return dt*_;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return dt;default:return}}}}(tt);if(rt==="number"&&isFinite(tt))return nt.long?function(ot){var ut=Math.abs(ot);return ut>=_e?et(ot,ut,_e,"day"):ut>=$?et(ot,ut,$,"hour"):ut>=j?et(ot,ut,j,"minute"):ut>=_?et(ot,ut,_,"second"):ot+" ms"}(tt):function(ot){var ut=Math.abs(ot);return ut>=_e?Math.round(ot/_e)+"d":ut>=$?Math.round(ot/$)+"h":ut>=j?Math.round(ot/j)+"m":ut>=_?Math.round(ot/_)+"s":ot+"ms"}(tt);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(tt))}},function(o,s,_){var j=_(13).inspect,$=_(8),_e=_(4),et=_e.LEVEL,tt=_e.MESSAGE,nt=_e.SPLAT;o.exports=$(function(rt){var ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=Object.assign({},rt);return delete ut[et],delete ut[tt],delete ut[nt],rt[tt]=j(ut,!1,ot.depth||null,ot.colorize),rt})},function(o,s,_){function j(et,tt){for(var nt=0;ntut.length)&&(dt=ut.length);for(var Ut=0,st=new Array(dt);Ut1?pt.splice(0):pt,gt=Qt.length;if(gt)for(var ft=0;ft1&&arguments[1]!==void 0?arguments[1]:{};return et.format&&(_e.timestamp=typeof et.format=="function"?et.format():j.format(new Date,et.format)),_e.timestamp||(_e.timestamp=new Date().toISOString()),et.alias&&(_e[et.alias]=_e.timestamp),_e})},function(o,s,_){_.r(s),_.d(s,"assign",function(){return nt}),_.d(s,"format",function(){return mt}),_.d(s,"parse",function(){return It}),_.d(s,"defaultI18n",function(){return dt}),_.d(s,"setGlobalDateI18n",function(){return st}),_.d(s,"setGlobalDateMasks",function(){return ht});var j=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,$="[^\\s]+",_e=/\[([^]*?)\]/gm;function et(Tt,Ot){for(var _t=[],Wt=0,bt=Tt.length;Wt-1?Wt:null}};function nt(Tt){for(var Ot=[],_t=1;_t3?0:(Tt-Tt%10!=10?1:0)*Tt%10]}},Ut=nt({},dt),st=function(Tt){return Ut=nt(Ut,Tt)},ct=function(Tt){return Tt.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},pt=function(Tt,Ot){for(Ot===void 0&&(Ot=2),Tt=String(Tt);Tt.length0?"-":"+")+pt(100*Math.floor(Math.abs(Ot)/60)+Math.abs(Ot)%60,4)},Z:function(Tt){var Ot=Tt.getTimezoneOffset();return(Ot>0?"-":"+")+pt(Math.floor(Math.abs(Ot)/60),2)+":"+pt(Math.abs(Ot)%60,2)}},Qt=function(Tt){return+Tt-1},gt=[null,"[1-9]\\d?"],ft=[null,$],Ft=["isPm",$,function(Tt,Ot){var _t=Tt.toLowerCase();return _t===Ot.amPm[0]?0:_t===Ot.amPm[1]?1:null}],yt=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(Tt){var Ot=(Tt+"").match(/([+-]|\d\d)/gi);if(Ot){var _t=60*+Ot[1]+parseInt(Ot[2],10);return Ot[0]==="+"?_t:-_t}return 0}],Ct={D:["day","[1-9]\\d?"],DD:["day","\\d\\d"],Do:["day","[1-9]\\d?"+$,function(Tt){return parseInt(Tt,10)}],M:["month","[1-9]\\d?",Qt],MM:["month","\\d\\d",Qt],YY:["year","\\d\\d",function(Tt){var Ot=+(""+new Date().getFullYear()).substr(0,2);return+(""+(+Tt>68?Ot-1:Ot)+Tt)}],h:["hour","[1-9]\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","[1-9]\\d?"],HH:["hour","\\d\\d"],m:["minute","[1-9]\\d?"],mm:["minute","\\d\\d"],s:["second","[1-9]\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(Tt){return 100*+Tt}],SS:["millisecond","\\d\\d",function(Tt){return 10*+Tt}],SSS:["millisecond","\\d{3}"],d:gt,dd:gt,ddd:ft,dddd:ft,MMM:["month",$,tt("monthNamesShort")],MMMM:["month",$,tt("monthNames")],a:Ft,A:Ft,ZZ:yt,Z:yt},xt={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},ht=function(Tt){return nt(xt,Tt)},mt=function(Tt,Ot,_t){if(Ot===void 0&&(Ot=xt.default),_t===void 0&&(_t={}),typeof Tt=="number"&&(Tt=new Date(Tt)),Object.prototype.toString.call(Tt)!=="[object Date]"||isNaN(Tt.getTime()))throw new Error("Invalid Date pass to format");var Wt=[];Ot=(Ot=xt[Ot]||Ot).replace(_e,function(Jt,Zt){return Wt.push(Zt),"@@@"});var bt=nt(nt({},Ut),_t);return(Ot=Ot.replace(j,function(Jt){return Bt[Jt](Tt,bt)})).replace(/@@@/g,function(){return Wt.shift()})};function It(Tt,Ot,_t){if(_t===void 0&&(_t={}),typeof Ot!="string")throw new Error("Invalid format in fecha parse");if(Ot=xt[Ot]||Ot,Tt.length>1e3)return null;var Wt={year:new Date().getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},bt=[],Jt=[],Zt=Ot.replace(_e,function(Ht,on){return Jt.push(ct(on)),"@@@"}),Vt={},jt={};Zt=ct(Zt).replace(j,function(Ht){var on=Ct[Ht],sn=on[0],gn=on[1],Cn=on[3];if(Vt[sn])throw new Error("Invalid format. "+sn+" specified twice in format");return Vt[sn]=!0,Cn&&(jt[Cn]=!0),bt.push(on),"("+gn+")"}),Object.keys(jt).forEach(function(Ht){if(!Vt[Ht])throw new Error("Invalid format. "+Ht+" is required in specified format")}),Zt=Zt.replace(/@@@/g,function(){return Jt.shift()});var zt=Tt.match(new RegExp(Zt,"i"));if(!zt)return null;for(var $t=nt(nt({},Ut),_t),nn=1;nn","maintainers":["David Hyde "],"repository":{"type":"git","url":"https://github.com/winstonjs/winston.git"},"keywords":["winston","logger","logging","logs","sysadmin","bunyan","pino","loglevel","tools","json","stream"],"dependencies":{"@dabh/diagnostics":"^2.0.2","@colors/colors":"1.5.0","async":"^3.2.3","is-stream":"^2.0.0","logform":"^2.4.0","one-time":"^1.0.0","readable-stream":"^3.4.0","safe-stable-stringify":"^2.3.1","stack-trace":"0.0.x","triple-beam":"^1.3.0","winston-transport":"^4.5.0"},"devDependencies":{"@babel/cli":"^7.17.0","@babel/core":"^7.17.2","@babel/preset-env":"^7.16.7","@dabh/eslint-config-populist":"^5.0.0","@types/node":"^18.0.0","abstract-winston-transport":"^0.5.1","assume":"^2.2.0","cross-spawn-async":"^2.2.5","eslint":"^8.9.0","hock":"^1.4.1","mocha":"8.1.3","nyc":"^15.1.0","rimraf":"^3.0.2","split2":"^4.1.0","std-mocks":"^1.0.1","through2":"^4.0.2","winston-compat":"^0.1.5"},"main":"./lib/winston.js","browser":"./dist/winston","types":"./index.d.ts","scripts":{"lint":"eslint lib/*.js lib/winston/*.js lib/winston/**/*.js --resolve-plugins-relative-to ./node_modules/@dabh/eslint-config-populist","test":"mocha","test:coverage":"nyc npm run test:unit","test:unit":"mocha test/unit","test:integration":"mocha test/integration","build":"rimraf dist && babel lib -d dist","prepublishOnly":"npm run build"},"engines":{"node":">= 12.0.0"},"license":"MIT"}')},function(o,s,_){Object.defineProperty(s,"Console",{configurable:!0,enumerable:!0,get:function(){return _(138)}}),Object.defineProperty(s,"File",{configurable:!0,enumerable:!0,get:function(){return _(152)}}),Object.defineProperty(s,"Http",{configurable:!0,enumerable:!0,get:function(){return _(194)}}),Object.defineProperty(s,"Stream",{configurable:!0,enumerable:!0,get:function(){return _(206)}})},function(o,s,_){(function(j){function $(pt){return($=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Bt){return typeof Bt}:function(Bt){return Bt&&typeof Symbol=="function"&&Bt.constructor===Symbol&&Bt!==Symbol.prototype?"symbol":typeof Bt})(pt)}function _e(pt,Bt){if(!(pt instanceof Bt))throw new TypeError("Cannot call a class as a function")}function et(pt,Bt){for(var Qt=0;Qt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Qt,gt=ot(pt);if(Bt){var ft=ot(this).constructor;Qt=Reflect.construct(gt,arguments,ft)}else Qt=gt.apply(this,arguments);return rt(this,Qt)}}function rt(pt,Bt){if(Bt&&($(Bt)==="object"||typeof Bt=="function"))return Bt;if(Bt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Qt){if(Qt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Qt}(pt)}function ot(pt){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Bt){return Bt.__proto__||Object.getPrototypeOf(Bt)})(pt)}var ut=_(16),dt=_(4),Ut=dt.LEVEL,st=dt.MESSAGE,ct=_(14);o.exports=function(pt){(function(Ft,yt){if(typeof yt!="function"&&yt!==null)throw new TypeError("Super expression must either be null or a function");Ft.prototype=Object.create(yt&&yt.prototype,{constructor:{value:Ft,writable:!0,configurable:!0}}),Object.defineProperty(Ft,"prototype",{writable:!1}),yt&&tt(Ft,yt)})(ft,pt);var Bt,Qt,gt=nt(ft);function ft(){var Ft,yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _e(this,ft),(Ft=gt.call(this,yt)).name=yt.name||"console",Ft.stderrLevels=Ft._stringArrayToSet(yt.stderrLevels),Ft.consoleWarnLevels=Ft._stringArrayToSet(yt.consoleWarnLevels),Ft.eol=typeof yt.eol=="string"?yt.eol:ut.EOL,Ft.setMaxListeners(30),Ft}return Bt=ft,(Qt=[{key:"log",value:function(Ft,yt){var Ct=this;return j(function(){return Ct.emit("logged",Ft)}),this.stderrLevels[Ft[Ut]]?(console._stderr?console._stderr.write("".concat(Ft[st]).concat(this.eol)):console.error(Ft[st]),void(yt&&yt())):this.consoleWarnLevels[Ft[Ut]]?(console._stderr?console._stderr.write("".concat(Ft[st]).concat(this.eol)):console.warn(Ft[st]),void(yt&&yt())):(console._stdout?console._stdout.write("".concat(Ft[st]).concat(this.eol)):console.log(Ft[st]),void(yt&&yt()))}},{key:"_stringArrayToSet",value:function(Ft,yt){if(!Ft)return{};if(yt=yt||"Cannot make set from type other than Array of string elements",!Array.isArray(Ft))throw new Error(yt);return Ft.reduce(function(Ct,xt){if(typeof xt!="string")throw new Error(yt);return Ct[xt]=!0,Ct},{})}}])&&et(Bt.prototype,Qt),Object.defineProperty(Bt,"prototype",{writable:!1}),ft}(ct)}).call(this,_(19).setImmediate)},function(o,s,_){(function(j,$){(function(_e,et){if(!_e.setImmediate){var tt,nt,rt,ot,ut,dt=1,Ut={},st=!1,ct=_e.document,pt=Object.getPrototypeOf&&Object.getPrototypeOf(_e);pt=pt&&pt.setTimeout?pt:_e,{}.toString.call(_e.process)==="[object process]"?tt=function(gt){$.nextTick(function(){Qt(gt)})}:function(){if(_e.postMessage&&!_e.importScripts){var gt=!0,ft=_e.onmessage;return _e.onmessage=function(){gt=!1},_e.postMessage("","*"),_e.onmessage=ft,gt}}()?(ot="setImmediate$"+Math.random()+"$",ut=function(gt){gt.source===_e&&typeof gt.data=="string"&>.data.indexOf(ot)===0&&Qt(+gt.data.slice(ot.length))},_e.addEventListener?_e.addEventListener("message",ut,!1):_e.attachEvent("onmessage",ut),tt=function(gt){_e.postMessage(ot+gt,"*")}):_e.MessageChannel?((rt=new MessageChannel).port1.onmessage=function(gt){Qt(gt.data)},tt=function(gt){rt.port2.postMessage(gt)}):ct&&"onreadystatechange"in ct.createElement("script")?(nt=ct.documentElement,tt=function(gt){var ft=ct.createElement("script");ft.onreadystatechange=function(){Qt(gt),ft.onreadystatechange=null,nt.removeChild(ft),ft=null},nt.appendChild(ft)}):tt=function(gt){setTimeout(Qt,0,gt)},pt.setImmediate=function(gt){typeof gt!="function"&&(gt=new Function(""+gt));for(var ft=new Array(arguments.length-1),Ft=0;Ft"u"?j===void 0?this:j:self)}).call(this,_(6),_(2))},function(o,s,_){s.byteLength=function(ut){var dt=rt(ut),Ut=dt[0],st=dt[1];return 3*(Ut+st)/4-st},s.toByteArray=function(ut){var dt,Ut,st=rt(ut),ct=st[0],pt=st[1],Bt=new _e(function(ft,Ft,yt){return 3*(Ft+yt)/4-yt}(0,ct,pt)),Qt=0,gt=pt>0?ct-4:ct;for(Ut=0;Ut>16&255,Bt[Qt++]=dt>>8&255,Bt[Qt++]=255&dt;return pt===2&&(dt=$[ut.charCodeAt(Ut)]<<2|$[ut.charCodeAt(Ut+1)]>>4,Bt[Qt++]=255&dt),pt===1&&(dt=$[ut.charCodeAt(Ut)]<<10|$[ut.charCodeAt(Ut+1)]<<4|$[ut.charCodeAt(Ut+2)]>>2,Bt[Qt++]=dt>>8&255,Bt[Qt++]=255&dt),Bt},s.fromByteArray=function(ut){for(var dt,Ut=ut.length,st=Ut%3,ct=[],pt=0,Bt=Ut-st;ptBt?Bt:pt+16383));return st===1?(dt=ut[Ut-1],ct.push(j[dt>>2]+j[dt<<4&63]+"==")):st===2&&(dt=(ut[Ut-2]<<8)+ut[Ut-1],ct.push(j[dt>>10]+j[dt>>4&63]+j[dt<<2&63]+"=")),ct.join("")};for(var j=[],$=[],_e=typeof Uint8Array<"u"?Uint8Array:Array,et="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tt=0,nt=et.length;tt0)throw new Error("Invalid string. Length must be a multiple of 4");var Ut=ut.indexOf("=");return Ut===-1&&(Ut=dt),[Ut,Ut===dt?0:4-Ut%4]}function ot(ut,dt,Ut){for(var st,ct,pt=[],Bt=dt;Bt>18&63]+j[ct>>12&63]+j[ct>>6&63]+j[63&ct]);return pt.join("")}$["-".charCodeAt(0)]=62,$["_".charCodeAt(0)]=63},function(o,s){s.read=function(_,j,$,_e,et){var tt,nt,rt=8*et-_e-1,ot=(1<>1,dt=-7,Ut=$?et-1:0,st=$?-1:1,ct=_[j+Ut];for(Ut+=st,tt=ct&(1<<-dt)-1,ct>>=-dt,dt+=rt;dt>0;tt=256*tt+_[j+Ut],Ut+=st,dt-=8);for(nt=tt&(1<<-dt)-1,tt>>=-dt,dt+=_e;dt>0;nt=256*nt+_[j+Ut],Ut+=st,dt-=8);if(tt===0)tt=1-ut;else{if(tt===ot)return nt?NaN:1/0*(ct?-1:1);nt+=Math.pow(2,_e),tt-=ut}return(ct?-1:1)*nt*Math.pow(2,tt-_e)},s.write=function(_,j,$,_e,et,tt){var nt,rt,ot,ut=8*tt-et-1,dt=(1<>1,st=et===23?Math.pow(2,-24)-Math.pow(2,-77):0,ct=_e?0:tt-1,pt=_e?1:-1,Bt=j<0||j===0&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(rt=isNaN(j)?1:0,nt=dt):(nt=Math.floor(Math.log(j)/Math.LN2),j*(ot=Math.pow(2,-nt))<1&&(nt--,ot*=2),(j+=nt+Ut>=1?st/ot:st*Math.pow(2,1-Ut))*ot>=2&&(nt++,ot/=2),nt+Ut>=dt?(rt=0,nt=dt):nt+Ut>=1?(rt=(j*ot-1)*Math.pow(2,et),nt+=Ut):(rt=j*Math.pow(2,Ut-1)*Math.pow(2,et),nt=0));et>=8;_[$+ct]=255&rt,ct+=pt,rt/=256,et-=8);for(nt=nt<0;_[$+ct]=255&nt,ct+=pt,nt/=256,ut-=8);_[$+ct-pt]|=128*Bt}},function(o,s){var _={}.toString;o.exports=Array.isArray||function(j){return _.call(j)=="[object Array]"}},function(o,s,_){(function(j,$){var _e;o.exports=mt,mt.ReadableState=ht,_(20).EventEmitter;var et=function(Dt,wt){return Dt.listeners(wt).length},tt=_(62),nt=_(5).Buffer,rt=(j!==void 0?j:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},ot,ut=_(144);ot=ut&&ut.debuglog?ut.debuglog("stream"):function(){};var dt,Ut,st,ct=_(145),pt=_(63),Bt=_(64).getHighWaterMark,Qt=_(35).codes,gt=Qt.ERR_INVALID_ARG_TYPE,ft=Qt.ERR_STREAM_PUSH_AFTER_EOF,Ft=Qt.ERR_METHOD_NOT_IMPLEMENTED,yt=Qt.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;_(7)(mt,tt);var Ct=pt.errorOrDestroy,xt=["error","close","destroy","pause","resume"];function ht(Dt,wt,Et){_e=_e||_(36),Dt=Dt||{},typeof Et!="boolean"&&(Et=wt instanceof _e),this.objectMode=!!Dt.objectMode,Et&&(this.objectMode=this.objectMode||!!Dt.readableObjectMode),this.highWaterMark=Bt(this,Dt,"readableHighWaterMark",Et),this.buffer=new ct,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=Dt.emitClose!==!1,this.autoDestroy=!!Dt.autoDestroy,this.destroyed=!1,this.defaultEncoding=Dt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Dt.encoding&&(dt||(dt=_(21).StringDecoder),this.decoder=new dt(Dt.encoding),this.encoding=Dt.encoding)}function mt(Dt){if(_e=_e||_(36),!(this instanceof mt))return new mt(Dt);var wt=this instanceof _e;this._readableState=new ht(Dt,this,wt),this.readable=!0,Dt&&(typeof Dt.read=="function"&&(this._read=Dt.read),typeof Dt.destroy=="function"&&(this._destroy=Dt.destroy)),tt.call(this)}function It(Dt,wt,Et,kt,Pt){ot("readableAddChunk",wt);var Kt,Ht=Dt._readableState;if(wt===null)Ht.reading=!1,function(on,sn){if(ot("onEofChunk"),!sn.ended){if(sn.decoder){var gn=sn.decoder.end();gn&&gn.length&&(sn.buffer.push(gn),sn.length+=sn.objectMode?1:gn.length)}sn.ended=!0,sn.sync?Ot(on):(sn.needReadable=!1,sn.emittedReadable||(sn.emittedReadable=!0,_t(on)))}}(Dt,Ht);else if(Pt||(Kt=function(on,sn){var gn;Cn=sn,nt.isBuffer(Cn)||Cn instanceof rt||typeof sn=="string"||sn===void 0||on.objectMode||(gn=new gt("chunk",["string","Buffer","Uint8Array"],sn));var Cn;return gn}(Ht,wt)),Kt)Ct(Dt,Kt);else if(Ht.objectMode||wt&&wt.length>0)if(typeof wt=="string"||Ht.objectMode||Object.getPrototypeOf(wt)===nt.prototype||(wt=function(on){return nt.from(on)}(wt)),kt)Ht.endEmitted?Ct(Dt,new yt):vt(Dt,Ht,wt,!0);else if(Ht.ended)Ct(Dt,new ft);else{if(Ht.destroyed)return!1;Ht.reading=!1,Ht.decoder&&!Et?(wt=Ht.decoder.write(wt),Ht.objectMode||wt.length!==0?vt(Dt,Ht,wt,!1):Wt(Dt,Ht)):vt(Dt,Ht,wt,!1)}else kt||(Ht.reading=!1,Wt(Dt,Ht));return!Ht.ended&&(Ht.lengthwt.highWaterMark&&(wt.highWaterMark=function(Et){return Et>=1073741824?Et=1073741824:(Et--,Et|=Et>>>1,Et|=Et>>>2,Et|=Et>>>4,Et|=Et>>>8,Et|=Et>>>16,Et++),Et}(Dt)),Dt<=wt.length?Dt:wt.ended?wt.length:(wt.needReadable=!0,0))}function Ot(Dt){var wt=Dt._readableState;ot("emitReadable",wt.needReadable,wt.emittedReadable),wt.needReadable=!1,wt.emittedReadable||(ot("emitReadable",wt.flowing),wt.emittedReadable=!0,$.nextTick(_t,Dt))}function _t(Dt){var wt=Dt._readableState;ot("emitReadable_",wt.destroyed,wt.length,wt.ended),wt.destroyed||!wt.length&&!wt.ended||(Dt.emit("readable"),wt.emittedReadable=!1),wt.needReadable=!wt.flowing&&!wt.ended&&wt.length<=wt.highWaterMark,jt(Dt)}function Wt(Dt,wt){wt.readingMore||(wt.readingMore=!0,$.nextTick(bt,Dt,wt))}function bt(Dt,wt){for(;!wt.reading&&!wt.ended&&(wt.length0,wt.resumeScheduled&&!wt.paused?wt.flowing=!0:Dt.listenerCount("data")>0&&Dt.resume()}function Zt(Dt){ot("readable nexttick read 0"),Dt.read(0)}function Vt(Dt,wt){ot("resume",wt.reading),wt.reading||Dt.read(0),wt.resumeScheduled=!1,Dt.emit("resume"),jt(Dt),wt.flowing&&!wt.reading&&Dt.read(0)}function jt(Dt){var wt=Dt._readableState;for(ot("flow",wt.flowing);wt.flowing&&Dt.read()!==null;);}function zt(Dt,wt){return wt.length===0?null:(wt.objectMode?Et=wt.buffer.shift():!Dt||Dt>=wt.length?(Et=wt.decoder?wt.buffer.join(""):wt.buffer.length===1?wt.buffer.first():wt.buffer.concat(wt.length),wt.buffer.clear()):Et=wt.buffer.consume(Dt,wt.decoder),Et);var Et}function $t(Dt){var wt=Dt._readableState;ot("endReadable",wt.endEmitted),wt.endEmitted||(wt.ended=!0,$.nextTick(nn,wt,Dt))}function nn(Dt,wt){if(ot("endReadableNT",Dt.endEmitted,Dt.length),!Dt.endEmitted&&Dt.length===0&&(Dt.endEmitted=!0,wt.readable=!1,wt.emit("end"),Dt.autoDestroy)){var Et=wt._writableState;(!Et||Et.autoDestroy&&Et.finished)&&wt.destroy()}}function rn(Dt,wt){for(var Et=0,kt=Dt.length;Et=wt.highWaterMark:wt.length>0)||wt.ended))return ot("read: emitReadable",wt.length,wt.ended),wt.length===0&&wt.ended?$t(this):Ot(this),null;if((Dt=Tt(Dt,wt))===0&&wt.ended)return wt.length===0&&$t(this),null;var kt,Pt=wt.needReadable;return ot("need readable",Pt),(wt.length===0||wt.length-Dt0?zt(Dt,wt):null)===null?(wt.needReadable=wt.length<=wt.highWaterMark,Dt=0):(wt.length-=Dt,wt.awaitDrain=0),wt.length===0&&(wt.ended||(wt.needReadable=!0),Et!==Dt&&wt.ended&&$t(this)),kt!==null&&this.emit("data",kt),kt},mt.prototype._read=function(Dt){Ct(this,new Ft("_read()"))},mt.prototype.pipe=function(Dt,wt){var Et=this,kt=this._readableState;switch(kt.pipesCount){case 0:kt.pipes=Dt;break;case 1:kt.pipes=[kt.pipes,Dt];break;default:kt.pipes.push(Dt)}kt.pipesCount+=1,ot("pipe count=%d opts=%j",kt.pipesCount,wt);var Pt=(!wt||wt.end!==!1)&&Dt!==$.stdout&&Dt!==$.stderr?Ht:rr;function Kt(An,Dn){ot("onunpipe"),An===Et&&Dn&&Dn.hasUnpiped===!1&&(Dn.hasUnpiped=!0,ot("cleanup"),Dt.removeListener("close",In),Dt.removeListener("finish",Mn),Dt.removeListener("drain",on),Dt.removeListener("error",Cn),Dt.removeListener("unpipe",Kt),Et.removeListener("end",Ht),Et.removeListener("end",rr),Et.removeListener("data",gn),sn=!0,!kt.awaitDrain||Dt._writableState&&!Dt._writableState.needDrain||on())}function Ht(){ot("onend"),Dt.end()}kt.endEmitted?$.nextTick(Pt):Et.once("end",Pt),Dt.on("unpipe",Kt);var on=function(An){return function(){var Dn=An._readableState;ot("pipeOnDrain",Dn.awaitDrain),Dn.awaitDrain&&Dn.awaitDrain--,Dn.awaitDrain===0&&et(An,"data")&&(Dn.flowing=!0,jt(An))}}(Et);Dt.on("drain",on);var sn=!1;function gn(An){ot("ondata");var Dn=Dt.write(An);ot("dest.write",Dn),Dn===!1&&((kt.pipesCount===1&&kt.pipes===Dt||kt.pipesCount>1&&rn(kt.pipes,Dt)!==-1)&&!sn&&(ot("false write response, pause",kt.awaitDrain),kt.awaitDrain++),Et.pause())}function Cn(An){ot("onerror",An),rr(),Dt.removeListener("error",Cn),et(Dt,"error")===0&&Ct(Dt,An)}function In(){Dt.removeListener("finish",Mn),rr()}function Mn(){ot("onfinish"),Dt.removeListener("close",In),rr()}function rr(){ot("unpipe"),Et.unpipe(Dt)}return Et.on("data",gn),function(An,Dn,Hn){if(typeof An.prependListener=="function")return An.prependListener(Dn,Hn);An._events&&An._events[Dn]?Array.isArray(An._events[Dn])?An._events[Dn].unshift(Hn):An._events[Dn]=[Hn,An._events[Dn]]:An.on(Dn,Hn)}(Dt,"error",Cn),Dt.once("close",In),Dt.once("finish",Mn),Dt.emit("pipe",Et),kt.flowing||(ot("pipe resume"),Et.resume()),Dt},mt.prototype.unpipe=function(Dt){var wt=this._readableState,Et={hasUnpiped:!1};if(wt.pipesCount===0)return this;if(wt.pipesCount===1)return Dt&&Dt!==wt.pipes||(Dt||(Dt=wt.pipes),wt.pipes=null,wt.pipesCount=0,wt.flowing=!1,Dt&&Dt.emit("unpipe",this,Et)),this;if(!Dt){var kt=wt.pipes,Pt=wt.pipesCount;wt.pipes=null,wt.pipesCount=0,wt.flowing=!1;for(var Kt=0;Kt0,kt.flowing!==!1&&this.resume()):Dt==="readable"&&(kt.endEmitted||kt.readableListening||(kt.readableListening=kt.needReadable=!0,kt.flowing=!1,kt.emittedReadable=!1,ot("on readable",kt.length,kt.reading),kt.length?Ot(this):kt.reading||$.nextTick(Zt,this))),Et},mt.prototype.addListener=mt.prototype.on,mt.prototype.removeListener=function(Dt,wt){var Et=tt.prototype.removeListener.call(this,Dt,wt);return Dt==="readable"&&$.nextTick(Jt,this),Et},mt.prototype.removeAllListeners=function(Dt){var wt=tt.prototype.removeAllListeners.apply(this,arguments);return Dt!=="readable"&&Dt!==void 0||$.nextTick(Jt,this),wt},mt.prototype.resume=function(){var Dt=this._readableState;return Dt.flowing||(ot("resume"),Dt.flowing=!Dt.readableListening,function(wt,Et){Et.resumeScheduled||(Et.resumeScheduled=!0,$.nextTick(Vt,wt,Et))}(this,Dt)),Dt.paused=!1,this},mt.prototype.pause=function(){return ot("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ot("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},mt.prototype.wrap=function(Dt){var wt=this,Et=this._readableState,kt=!1;for(var Pt in Dt.on("end",function(){if(ot("wrapped end"),Et.decoder&&!Et.ended){var Ht=Et.decoder.end();Ht&&Ht.length&&wt.push(Ht)}wt.push(null)}),Dt.on("data",function(Ht){ot("wrapped data"),Et.decoder&&(Ht=Et.decoder.write(Ht)),Et.objectMode&&Ht==null||(Et.objectMode||Ht&&Ht.length)&&(wt.push(Ht)||(kt=!0,Dt.pause()))}),Dt)this[Pt]===void 0&&typeof Dt[Pt]=="function"&&(this[Pt]=function(Ht){return function(){return Dt[Ht].apply(Dt,arguments)}}(Pt));for(var Kt=0;Kt0?this.tail.next=ct:this.head=ct,this.tail=ct,++this.length}},{key:"unshift",value:function(st){var ct={data:st,next:this.head};this.length===0&&(this.tail=ct),this.head=ct,++this.length}},{key:"shift",value:function(){if(this.length!==0){var st=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,st}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(st){if(this.length===0)return"";for(var ct=this.head,pt=""+ct.data;ct=ct.next;)pt+=st+ct.data;return pt}},{key:"concat",value:function(st){if(this.length===0)return nt.alloc(0);for(var ct,pt,Bt,Qt=nt.allocUnsafe(st>>>0),gt=this.head,ft=0;gt;)ct=gt.data,pt=Qt,Bt=ft,nt.prototype.copy.call(ct,pt,Bt),ft+=gt.data.length,gt=gt.next;return Qt}},{key:"consume",value:function(st,ct){var pt;return stQt.length?Qt.length:st;if(gt===Qt.length?Bt+=Qt:Bt+=Qt.slice(0,st),(st-=gt)==0){gt===Qt.length?(++pt,ct.next?this.head=ct.next:this.head=this.tail=null):(this.head=ct,ct.data=Qt.slice(gt));break}++pt}return this.length-=pt,Bt}},{key:"_getBuffer",value:function(st){var ct=nt.allocUnsafe(st),pt=this.head,Bt=1;for(pt.data.copy(ct),st-=pt.data.length;pt=pt.next;){var Qt=pt.data,gt=st>Qt.length?Qt.length:st;if(Qt.copy(ct,ct.length-st,0,gt),(st-=gt)==0){gt===Qt.length?(++Bt,pt.next?this.head=pt.next:this.head=this.tail=null):(this.head=pt,pt.data=Qt.slice(gt));break}++Bt}return this.length-=Bt,ct}},{key:ot,value:function(st,ct){return rt(this,$($({},ct),{},{depth:0,customInspect:!1}))}}])&&et(dt.prototype,Ut),Object.defineProperty(dt,"prototype",{writable:!1}),ut}()},function(o,s){},function(o,s,_){var j=_(5),$=j.Buffer;function _e(tt,nt){for(var rt in tt)nt[rt]=tt[rt]}function et(tt,nt,rt){return $(tt,nt,rt)}$.from&&$.alloc&&$.allocUnsafe&&$.allocUnsafeSlow?o.exports=j:(_e(j,s),s.Buffer=et),_e($,et),et.from=function(tt,nt,rt){if(typeof tt=="number")throw new TypeError("Argument must not be a number");return $(tt,nt,rt)},et.alloc=function(tt,nt,rt){if(typeof tt!="number")throw new TypeError("Argument must be a number");var ot=$(tt);return nt!==void 0?typeof rt=="string"?ot.fill(nt,rt):ot.fill(nt):ot.fill(0),ot},et.allocUnsafe=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return $(tt)},et.allocUnsafeSlow=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return j.SlowBuffer(tt)}},function(o,s,_){(function(j){var $;function _e(gt,ft,Ft){return(ft=function(yt){var Ct=function(xt,ht){if(typeof xt!="object"||xt===null)return xt;var mt=xt[Symbol.toPrimitive];if(mt!==void 0){var It=mt.call(xt,ht||"default");if(typeof It!="object")return It;throw new TypeError("@@toPrimitive must return a primitive value.")}return(ht==="string"?String:Number)(xt)}(yt,"string");return typeof Ct=="symbol"?Ct:String(Ct)}(ft))in gt?Object.defineProperty(gt,ft,{value:Ft,enumerable:!0,configurable:!0,writable:!0}):gt[ft]=Ft,gt}var et=_(149),tt=Symbol("lastResolve"),nt=Symbol("lastReject"),rt=Symbol("error"),ot=Symbol("ended"),ut=Symbol("lastPromise"),dt=Symbol("handlePromise"),Ut=Symbol("stream");function st(gt,ft){return{value:gt,done:ft}}function ct(gt){var ft=gt[tt];if(ft!==null){var Ft=gt[Ut].read();Ft!==null&&(gt[ut]=null,gt[tt]=null,gt[nt]=null,ft(st(Ft,!1)))}}function pt(gt){j.nextTick(ct,gt)}var Bt=Object.getPrototypeOf(function(){}),Qt=Object.setPrototypeOf((_e($={get stream(){return this[Ut]},next:function(){var gt=this,ft=this[rt];if(ft!==null)return Promise.reject(ft);if(this[ot])return Promise.resolve(st(void 0,!0));if(this[Ut].destroyed)return new Promise(function(xt,ht){j.nextTick(function(){gt[rt]?ht(gt[rt]):xt(st(void 0,!0))})});var Ft,yt=this[ut];if(yt)Ft=new Promise(function(xt,ht){return function(mt,It){xt.then(function(){ht[ot]?mt(st(void 0,!0)):ht[dt](mt,It)},It)}}(yt,this));else{var Ct=this[Ut].read();if(Ct!==null)return Promise.resolve(st(Ct,!1));Ft=new Promise(this[dt])}return this[ut]=Ft,Ft}},Symbol.asyncIterator,function(){return this}),_e($,"return",function(){var gt=this;return new Promise(function(ft,Ft){gt[Ut].destroy(null,function(yt){yt?Ft(yt):ft(st(void 0,!0))})})}),$),Bt);o.exports=function(gt){var ft,Ft=Object.create(Qt,(_e(ft={},Ut,{value:gt,writable:!0}),_e(ft,tt,{value:null,writable:!0}),_e(ft,nt,{value:null,writable:!0}),_e(ft,rt,{value:null,writable:!0}),_e(ft,ot,{value:gt._readableState.endEmitted,writable:!0}),_e(ft,dt,{value:function(yt,Ct){var xt=Ft[Ut].read();xt?(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,yt(st(xt,!1))):(Ft[tt]=yt,Ft[nt]=Ct)},writable:!0}),ft));return Ft[ut]=null,et(gt,function(yt){if(yt&&yt.code!=="ERR_STREAM_PREMATURE_CLOSE"){var Ct=Ft[nt];return Ct!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,Ct(yt)),void(Ft[rt]=yt)}var xt=Ft[tt];xt!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,xt(st(void 0,!0))),Ft[ot]=!0}),gt.on("readable",pt.bind(null,Ft)),Ft}}).call(this,_(2))},function(o,s,_){var j=_(35).codes.ERR_STREAM_PREMATURE_CLOSE;function $(){}o.exports=function _e(et,tt,nt){if(typeof tt=="function")return _e(et,null,tt);tt||(tt={}),nt=function(gt){var ft=!1;return function(){if(!ft){ft=!0;for(var Ft=arguments.length,yt=new Array(Ft),Ct=0;Ct0&&arguments[0]!==void 0?arguments[0]:{};if(_e.call(this,tt),!tt.transport||typeof tt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");function nt(rt){this.emit("error",rt,this.transport)}this.transport=tt.transport,this.level=this.level||tt.transport.level,this.handleExceptions=this.handleExceptions||tt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=nt.bind(this),this.transport.on("error",this.transport.__winstonError))};j.inherits(et,_e),et.prototype._write=function(tt,nt,rt){if(this.silent||tt.exception===!0&&!this.handleExceptions)return rt(null);(!this.level||this.levels[this.level]>=this.levels[tt[$]])&&this.transport.log(tt[$],tt.message,tt,this._nop),rt(null)},et.prototype._writev=function(tt,nt){for(var rt=0;rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var It,vt=dt(ht);if(mt){var Tt=dt(this).constructor;It=Reflect.construct(vt,arguments,Tt)}else It=vt.apply(this,arguments);return ot(this,It)}}function ot(ht,mt){if(mt&&(_e(mt)==="object"||typeof mt=="function"))return mt;if(mt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ut(ht)}function ut(ht){if(ht===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ht}function dt(ht){return(dt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(mt){return mt.__proto__||Object.getPrototypeOf(mt)})(ht)}var Ut=_(65),st=_(55),ct=_(153),pt=_(163),Bt=_(4).MESSAGE,Qt=_(33),gt=Qt.Stream,ft=Qt.PassThrough,Ft=_(14),yt=_(39)("winston:file"),Ct=_(16),xt=_(193);o.exports=function(ht){(function(Ot,_t){if(typeof _t!="function"&&_t!==null)throw new TypeError("Super expression must either be null or a function");Ot.prototype=Object.create(_t&&_t.prototype,{constructor:{value:Ot,writable:!0,configurable:!0}}),Object.defineProperty(Ot,"prototype",{writable:!1}),_t&&nt(Ot,_t)})(Tt,ht);var mt,It,vt=rt(Tt);function Tt(){var Ot,_t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};function Wt(bt){for(var Jt=arguments.length,Zt=new Array(Jt>1?Jt-1:0),Vt=1;Vt1&&arguments[1]!==void 0?arguments[1]:function(){};if(this.silent)return Wt(),!0;if(this._drain)this._stream.once("drain",function(){_t._drain=!1,_t.log(Ot,Wt)});else{if(!this._rotate){var bt="".concat(Ot[Bt]).concat(this.eol),Jt=$.byteLength(bt);this._pendingSize+=Jt,this._opening&&!this.rotatedWhileOpening&&this._needsNewFile(this._size+this._pendingSize)&&(this.rotatedWhileOpening=!0);var Zt=this._stream.write(bt,Vt.bind(this));return Zt?Wt():(this._drain=!0,this._stream.once("drain",function(){_t._drain=!1,Wt()})),yt("written",Zt,this._drain),this.finishIfEnding(),Zt}this._stream.once("rotate",function(){_t._rotate=!1,_t.log(Ot,Wt)})}function Vt(){var jt=this;this._size+=Jt,this._pendingSize-=Jt,yt("logged %s %s",this._size,bt),this.emit("logged",Ot),this._opening||this._needsNewFile()&&(this._rotate=!0,this._endStream(function(){return jt._rotateFile()}))}}},{key:"query",value:function(Ot,_t){typeof Ot=="function"&&(_t=Ot,Ot={}),Ot=function(zt){return(zt=zt||{}).rows=zt.rows||zt.limit||10,zt.start=zt.start||0,zt.until=zt.until||new Date,_e(zt.until)!=="object"&&(zt.until=new Date(zt.until)),zt.from=zt.from||zt.until-864e5,_e(zt.from)!=="object"&&(zt.from=new Date(zt.from)),zt.order=zt.order||"desc",zt}(Ot);var Wt=st.join(this.dirname,this.filename),bt="",Jt=[],Zt=0,Vt=Ut.createReadStream(Wt,{encoding:"utf8"});function jt(zt,$t){try{var nn=JSON.parse(zt);(function(rn){if(rn&&_e(rn)==="object"){var Dt=new Date(rn.timestamp);if(!(Ot.from&&DtOt.until||Ot.level&&Ot.level!==rn.level))return!0}})(nn)&&function(rn){Ot.rows&&Jt.length>=Ot.rows&&Ot.order!=="desc"?Vt.readable&&Vt.destroy():(Ot.fields&&(rn=Ot.fields.reduce(function(Dt,wt){return Dt[wt]=rn[wt],Dt},{})),Ot.order==="desc"&&Jt.length>=Ot.rows&&Jt.shift(),Jt.push(rn))}(nn)}catch(rn){$t||Vt.emit("error",rn)}}Vt.on("error",function(zt){if(Vt.readable&&Vt.destroy(),_t)return zt.code!=="ENOENT"?_t(zt):_t(null,Jt)}),Vt.on("data",function(zt){for(var $t=(zt=(bt+zt).split(/\n+/)).length-1,nn=0;nn<$t;nn++)(!Ot.start||Zt>=Ot.start)&&jt(zt[nn]),Zt++;bt=zt[$t]}),Vt.on("close",function(){bt&&jt(bt,!0),Ot.order==="desc"&&(Jt=Jt.reverse()),_t&&_t(null,Jt)})}},{key:"stream",value:function(){var Ot=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_t=st.join(this.dirname,this.filename),Wt=new gt,bt={file:_t,start:Ot.start};return Wt.destroy=xt(bt,function(Jt,Zt){if(Jt)return Wt.emit("error",Jt);try{Wt.emit("data",Zt),Zt=JSON.parse(Zt),Wt.emit("log",Zt)}catch(Vt){Wt.emit("error",Vt)}}),Wt}},{key:"open",value:function(){var Ot=this;this.filename&&(this._opening||(this._opening=!0,this.stat(function(_t,Wt){if(_t)return Ot.emit("error",_t);yt("stat done: %s { size: %s }",Ot.filename,Wt),Ot._size=Wt,Ot._dest=Ot._createStream(Ot._stream),Ot._opening=!1,Ot.once("open",function(){Ot._stream.eventNames().includes("rotate")?Ot._stream.emit("rotate"):Ot._rotate=!1})})))}},{key:"stat",value:function(Ot){var _t=this,Wt=this._getFile(),bt=st.join(this.dirname,Wt);Ut.stat(bt,function(Jt,Zt){return Jt&&Jt.code==="ENOENT"?(yt("ENOENT ok",bt),_t.filename=Wt,Ot(null,0)):Jt?(yt("err ".concat(Jt.code," ").concat(bt)),Ot(Jt)):!Zt||_t._needsNewFile(Zt.size)?_t._incFile(function(){return _t.stat(Ot)}):(_t.filename=Wt,void Ot(null,Zt.size))})}},{key:"close",value:function(Ot){var _t=this;this._stream&&this._stream.end(function(){Ot&&Ot(),_t.emit("flush"),_t.emit("closed")})}},{key:"_needsNewFile",value:function(Ot){return Ot=Ot||this._size,this.maxsize&&Ot>=this.maxsize}},{key:"_onError",value:function(Ot){this.emit("error",Ot)}},{key:"_setupStream",value:function(Ot){return Ot.on("error",this._onError),Ot}},{key:"_cleanupStream",value:function(Ot){return Ot.removeListener("error",this._onError),Ot}},{key:"_rotateFile",value:function(){var Ot=this;this._incFile(function(){return Ot.open()})}},{key:"_endStream",value:function(){var Ot=this,_t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){};this._dest?(this._stream.unpipe(this._dest),this._dest.end(function(){Ot._cleanupStream(Ot._dest),_t()})):_t()}},{key:"_createStream",value:function(Ot){var _t=this,Wt=st.join(this.dirname,this.filename);yt("create stream start",Wt,this.options);var bt=Ut.createWriteStream(Wt,this.options).on("error",function(Zt){return yt(Zt)}).on("close",function(){return yt("close",bt.path,bt.bytesWritten)}).on("open",function(){yt("file open ok",Wt),_t.emit("open",Wt),Ot.pipe(bt),_t.rotatedWhileOpening&&(_t._stream=new ft,_t._stream.setMaxListeners(30),_t._rotateFile(),_t.rotatedWhileOpening=!1,_t._cleanupStream(bt),Ot.end())});if(yt("create stream ok",Wt),this.zippedArchive){var Jt=pt.createGzip();return Jt.pipe(bt),Jt}return bt}},{key:"_incFile",value:function(Ot){yt("_incFile",this.filename);var _t=st.extname(this._basename),Wt=st.basename(this._basename,_t);this.tailable?this._checkMaxFilesTailable(_t,Wt,Ot):(this._created+=1,this._checkMaxFilesIncrementing(_t,Wt,Ot))}},{key:"_getFile",value:function(){var Ot=st.extname(this._basename),_t=st.basename(this._basename,Ot),Wt=this.rotationFormat?this.rotationFormat():this._created,bt=!this.tailable&&this._created?"".concat(_t).concat(Wt).concat(Ot):"".concat(_t).concat(Ot);return this.zippedArchive&&!this.tailable?"".concat(bt,".gz"):bt}},{key:"_checkMaxFilesIncrementing",value:function(Ot,_t,Wt){if(!this.maxFiles||this._created1;Vt--)Jt.push((function(jt,zt){var $t=this,nn="".concat(_t).concat(jt-1).concat(Ot).concat(Zt),rn=st.join(this.dirname,nn);Ut.exists(rn,function(Dt){if(!Dt)return zt(null);nn="".concat(_t).concat(jt).concat(Ot).concat(Zt),Ut.rename(rn,st.join($t.dirname,nn),zt)})}).bind(this,Vt));ct(Jt,function(){Ut.rename(st.join(bt.dirname,"".concat(_t).concat(Ot)),st.join(bt.dirname,"".concat(_t,"1").concat(Ot).concat(Zt)),Wt)})}}},{key:"_createLogDirIfNotExist",value:function(Ot){Ut.existsSync(Ot)||Ut.mkdirSync(Ot,{recursive:!0})}}])&&tt(mt.prototype,It),Object.defineProperty(mt,"prototype",{writable:!1}),Tt}(Ft)}).call(this,_(19).setImmediate,_(5).Buffer)},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(et,tt){return(0,j.default)($.default,et,tt)};var j=_e(_(154)),$=_e(_(158));function _e(et){return et&&et.__esModule?et:{default:et}}o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=et(_(44)),$=et(_(23)),_e=et(_(30));function et(tt){return tt&&tt.__esModule?tt:{default:tt}}s.default=(0,_e.default)((tt,nt,rt)=>{var ot=(0,j.default)(nt)?[]:{};tt(nt,(ut,dt,Ut)=>{(0,$.default)(ut)((st,...ct)=>{ct.length<2&&([ct]=ct),ot[dt]=ct,Ut(st)})},ut=>rt(ut,ot))},3),o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(rt){return(0,_e.isAsync)(rt)?function(...ot){const ut=ot.pop();return tt(rt.apply(this,ot),ut)}:(0,j.default)(function(ot,ut){var dt;try{dt=rt.apply(this,ot)}catch(Ut){return ut(Ut)}if(dt&&typeof dt.then=="function")return tt(dt,ut);ut(null,dt)})};var j=et(_(156)),$=et(_(157)),_e=_(23);function et(rt){return rt&&rt.__esModule?rt:{default:rt}}function tt(rt,ot){return rt.then(ut=>{nt(ot,null,ut)},ut=>{nt(ot,ut&&ut.message?ut:new Error(ut))})}function nt(rt,ot,ut){try{rt(ot,ut)}catch(dt){(0,$.default)(Ut=>{throw Ut},dt)}}o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j){return function(...$){var _e=$.pop();return j.call(this,$,_e)}},o.exports=s.default},function(o,s,_){(function(j,$){Object.defineProperty(s,"__esModule",{value:!0}),s.fallback=rt,s.wrap=ot;var _e,et=s.hasQueueMicrotask=typeof queueMicrotask=="function"&&queueMicrotask,tt=s.hasSetImmediate=typeof j=="function"&&j,nt=s.hasNextTick=typeof $=="object"&&typeof $.nextTick=="function";function rt(ut){setTimeout(ut,0)}function ot(ut){return(dt,...Ut)=>ut(()=>dt(...Ut))}_e=et?queueMicrotask:tt?j:nt?$.nextTick:rt,s.default=ot(_e)}).call(this,_(19).setImmediate,_(2))},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=_e(_(66)),$=_e(_(30));function _e(et){return et&&et.__esModule?et:{default:et}}s.default=(0,$.default)(function(et,tt,nt){return(0,j.default)(et,1,tt,nt)},3),o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=rt(_(67)),$=rt(_(160)),_e=rt(_(68)),et=_(23),tt=rt(_(162)),nt=rt(_(45));function rt(ot){return ot&&ot.__esModule?ot:{default:ot}}s.default=ot=>(ut,dt,Ut)=>{if(Ut=(0,j.default)(Ut),ot<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!ut)return Ut(null);if((0,et.isAsyncGenerator)(ut))return(0,tt.default)(ut,ot,dt,Ut);if((0,et.isAsyncIterable)(ut))return(0,tt.default)(ut[Symbol.asyncIterator](),ot,dt,Ut);var st=(0,$.default)(ut),ct=!1,pt=!1,Bt=0,Qt=!1;function gt(Ft,yt){if(!pt)if(Bt-=1,Ft)ct=!0,Ut(Ft);else if(Ft===!1)ct=!0,pt=!0;else{if(yt===nt.default||ct&&Bt<=0)return ct=!0,Ut(null);Qt||ft()}}function ft(){for(Qt=!0;Bt=tt||dt||ot||(dt=!0,et.next().then(({value:Qt,done:gt})=>{if(!ut&&!ot){if(dt=!1,gt)return ot=!0,void(Ut<=0&&rt(null));Ut++,nt(Qt,st,pt),st++,ct()}}).catch(Bt))}function pt(Qt,gt){if(Ut-=1,!ut)return Qt?Bt(Qt):Qt===!1?(ot=!0,void(ut=!0)):gt===_e.default||ot&&Ut<=0?(ot=!0,rt(null)):void ct()}function Bt(Qt){ut||(dt=!1,ot=!0,rt(Qt))}ct()};var j,$=_(45),_e=(j=$)&&j.__esModule?j:{default:j};o.exports=s.default},function(o,s,_){(function(j){var $=_(5).Buffer,_e=_(164).Transform,et=_(174),tt=_(13),nt=_(73).ok,rt=_(5).kMaxLength,ot="Cannot create final Buffer. It would be larger than 0x"+rt.toString(16)+" bytes";et.Z_MIN_WINDOWBITS=8,et.Z_MAX_WINDOWBITS=15,et.Z_DEFAULT_WINDOWBITS=15,et.Z_MIN_CHUNK=64,et.Z_MAX_CHUNK=1/0,et.Z_DEFAULT_CHUNK=16384,et.Z_MIN_MEMLEVEL=1,et.Z_MAX_MEMLEVEL=9,et.Z_DEFAULT_MEMLEVEL=8,et.Z_MIN_LEVEL=-1,et.Z_MAX_LEVEL=9,et.Z_DEFAULT_LEVEL=et.Z_DEFAULT_COMPRESSION;for(var ut=Object.keys(et),dt=0;dt=rt?$t=new RangeError(ot):zt=$.concat(Jt,Zt),Jt=[],_t.close(),bt($t,zt)}_t.on("error",function(zt){_t.removeListener("end",jt),_t.removeListener("readable",Vt),bt(zt)}),_t.on("end",jt),_t.end(Wt),Vt()}function gt(_t,Wt){if(typeof Wt=="string"&&(Wt=$.from(Wt)),!$.isBuffer(Wt))throw new TypeError("Not a string or buffer");var bt=_t._finishFlushFlag;return _t._processChunk(Wt,bt)}function ft(_t){if(!(this instanceof ft))return new ft(_t);vt.call(this,_t,et.DEFLATE)}function Ft(_t){if(!(this instanceof Ft))return new Ft(_t);vt.call(this,_t,et.INFLATE)}function yt(_t){if(!(this instanceof yt))return new yt(_t);vt.call(this,_t,et.GZIP)}function Ct(_t){if(!(this instanceof Ct))return new Ct(_t);vt.call(this,_t,et.GUNZIP)}function xt(_t){if(!(this instanceof xt))return new xt(_t);vt.call(this,_t,et.DEFLATERAW)}function ht(_t){if(!(this instanceof ht))return new ht(_t);vt.call(this,_t,et.INFLATERAW)}function mt(_t){if(!(this instanceof mt))return new mt(_t);vt.call(this,_t,et.UNZIP)}function It(_t){return _t===et.Z_NO_FLUSH||_t===et.Z_PARTIAL_FLUSH||_t===et.Z_SYNC_FLUSH||_t===et.Z_FULL_FLUSH||_t===et.Z_FINISH||_t===et.Z_BLOCK}function vt(_t,Wt){var bt=this;if(this._opts=_t=_t||{},this._chunkSize=_t.chunkSize||s.Z_DEFAULT_CHUNK,_e.call(this,_t),_t.flush&&!It(_t.flush))throw new Error("Invalid flush flag: "+_t.flush);if(_t.finishFlush&&!It(_t.finishFlush))throw new Error("Invalid flush flag: "+_t.finishFlush);if(this._flushFlag=_t.flush||et.Z_NO_FLUSH,this._finishFlushFlag=_t.finishFlush!==void 0?_t.finishFlush:et.Z_FINISH,_t.chunkSize&&(_t.chunkSizes.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+_t.chunkSize);if(_t.windowBits&&(_t.windowBitss.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+_t.windowBits);if(_t.level&&(_t.levels.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+_t.level);if(_t.memLevel&&(_t.memLevels.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+_t.memLevel);if(_t.strategy&&_t.strategy!=s.Z_FILTERED&&_t.strategy!=s.Z_HUFFMAN_ONLY&&_t.strategy!=s.Z_RLE&&_t.strategy!=s.Z_FIXED&&_t.strategy!=s.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+_t.strategy);if(_t.dictionary&&!$.isBuffer(_t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new et.Zlib(Wt);var Jt=this;this._hadError=!1,this._handle.onerror=function(jt,zt){Tt(Jt),Jt._hadError=!0;var $t=new Error(jt);$t.errno=zt,$t.code=s.codes[zt],Jt.emit("error",$t)};var Zt=s.Z_DEFAULT_COMPRESSION;typeof _t.level=="number"&&(Zt=_t.level);var Vt=s.Z_DEFAULT_STRATEGY;typeof _t.strategy=="number"&&(Vt=_t.strategy),this._handle.init(_t.windowBits||s.Z_DEFAULT_WINDOWBITS,Zt,_t.memLevel||s.Z_DEFAULT_MEMLEVEL,Vt,_t.dictionary),this._buffer=$.allocUnsafe(this._chunkSize),this._offset=0,this._level=Zt,this._strategy=Vt,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!bt._handle},configurable:!0,enumerable:!0})}function Tt(_t,Wt){Wt&&j.nextTick(Wt),_t._handle&&(_t._handle.close(),_t._handle=null)}function Ot(_t){_t.emit("close")}Object.defineProperty(s,"codes",{enumerable:!0,value:Object.freeze(st),writable:!1}),s.Deflate=ft,s.Inflate=Ft,s.Gzip=yt,s.Gunzip=Ct,s.DeflateRaw=xt,s.InflateRaw=ht,s.Unzip=mt,s.createDeflate=function(_t){return new ft(_t)},s.createInflate=function(_t){return new Ft(_t)},s.createDeflateRaw=function(_t){return new xt(_t)},s.createInflateRaw=function(_t){return new ht(_t)},s.createGzip=function(_t){return new yt(_t)},s.createGunzip=function(_t){return new Ct(_t)},s.createUnzip=function(_t){return new mt(_t)},s.deflate=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new ft(Wt),_t,bt)},s.deflateSync=function(_t,Wt){return gt(new ft(Wt),_t)},s.gzip=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new yt(Wt),_t,bt)},s.gzipSync=function(_t,Wt){return gt(new yt(Wt),_t)},s.deflateRaw=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new xt(Wt),_t,bt)},s.deflateRawSync=function(_t,Wt){return gt(new xt(Wt),_t)},s.unzip=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new mt(Wt),_t,bt)},s.unzipSync=function(_t,Wt){return gt(new mt(Wt),_t)},s.inflate=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new Ft(Wt),_t,bt)},s.inflateSync=function(_t,Wt){return gt(new Ft(Wt),_t)},s.gunzip=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new Ct(Wt),_t,bt)},s.gunzipSync=function(_t,Wt){return gt(new Ct(Wt),_t)},s.inflateRaw=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new ht(Wt),_t,bt)},s.inflateRawSync=function(_t,Wt){return gt(new ht(Wt),_t)},tt.inherits(vt,_e),vt.prototype.params=function(_t,Wt,bt){if(_ts.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+_t);if(Wt!=s.Z_FILTERED&&Wt!=s.Z_HUFFMAN_ONLY&&Wt!=s.Z_RLE&&Wt!=s.Z_FIXED&&Wt!=s.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+Wt);if(this._level!==_t||this._strategy!==Wt){var Jt=this;this.flush(et.Z_SYNC_FLUSH,function(){nt(Jt._handle,"zlib binding closed"),Jt._handle.params(_t,Wt),Jt._hadError||(Jt._level=_t,Jt._strategy=Wt,bt&&bt())})}else j.nextTick(bt)},vt.prototype.reset=function(){return nt(this._handle,"zlib binding closed"),this._handle.reset()},vt.prototype._flush=function(_t){this._transform($.alloc(0),"",_t)},vt.prototype.flush=function(_t,Wt){var bt=this,Jt=this._writableState;(typeof _t=="function"||_t===void 0&&!Wt)&&(Wt=_t,_t=et.Z_FULL_FLUSH),Jt.ended?Wt&&j.nextTick(Wt):Jt.ending?Wt&&this.once("end",Wt):Jt.needDrain?Wt&&this.once("drain",function(){return bt.flush(_t,Wt)}):(this._flushFlag=_t,this.write($.alloc(0),"",Wt))},vt.prototype.close=function(_t){Tt(this,_t),j.nextTick(Ot,this)},vt.prototype._transform=function(_t,Wt,bt){var Jt,Zt=this._writableState,Vt=(Zt.ending||Zt.ended)&&(!_t||Zt.length===_t.length);return _t===null||$.isBuffer(_t)?this._handle?(Vt?Jt=this._finishFlushFlag:(Jt=this._flushFlag,_t.length>=Zt.length&&(this._flushFlag=this._opts.flush||et.Z_NO_FLUSH)),void this._processChunk(_t,Jt,bt)):bt(new Error("zlib binding closed")):bt(new Error("invalid input"))},vt.prototype._processChunk=function(_t,Wt,bt){var Jt=_t&&_t.length,Zt=this._chunkSize-this._offset,Vt=0,jt=this,zt=typeof bt=="function";if(!zt){var $t,nn=[],rn=0;this.on("error",function(Pt){$t=Pt}),nt(this._handle,"zlib binding closed");do var Dt=this._handle.writeSync(Wt,_t,Vt,Jt,this._buffer,this._offset,Zt);while(!this._hadError&&kt(Dt[0],Dt[1]));if(this._hadError)throw $t;if(rn>=rt)throw Tt(this),new RangeError(ot);var wt=$.concat(nn,rn);return Tt(this),wt}nt(this._handle,"zlib binding closed");var Et=this._handle.write(Wt,_t,Vt,Jt,this._buffer,this._offset,Zt);function kt(Pt,Kt){if(this&&(this.buffer=null,this.callback=null),!jt._hadError){var Ht=Zt-Kt;if(nt(Ht>=0,"have should not go down"),Ht>0){var on=jt._buffer.slice(jt._offset,jt._offset+Ht);jt._offset+=Ht,zt?jt.push(on):(nn.push(on),rn+=on.length)}if((Kt===0||jt._offset>=jt._chunkSize)&&(Zt=jt._chunkSize,jt._offset=0,jt._buffer=$.allocUnsafe(jt._chunkSize)),Kt===0){if(Vt+=Jt-Pt,Jt=Pt,!zt)return!0;var sn=jt._handle.write(Wt,_t,Vt,Jt,jt._buffer,jt._offset,jt._chunkSize);return sn.callback=kt,void(sn.buffer=_t)}if(!zt)return!1;bt()}}Et.buffer=_t,Et.callback=kt},tt.inherits(ft,vt),tt.inherits(Ft,vt),tt.inherits(yt,vt),tt.inherits(Ct,vt),tt.inherits(xt,vt),tt.inherits(ht,vt),tt.inherits(mt,vt)}).call(this,_(2))},function(o,s,_){o.exports=$;var j=_(20).EventEmitter;function $(){j.call(this)}_(7)($,j),$.Readable=_(31),$.Writable=_(170),$.Duplex=_(171),$.Transform=_(172),$.PassThrough=_(173),$.Stream=$,$.prototype.pipe=function(_e,et){var tt=this;function nt(ct){_e.writable&&_e.write(ct)===!1&&tt.pause&&tt.pause()}function rt(){tt.readable&&tt.resume&&tt.resume()}tt.on("data",nt),_e.on("drain",rt),_e._isStdio||et&&et.end===!1||(tt.on("end",ut),tt.on("close",dt));var ot=!1;function ut(){ot||(ot=!0,_e.end())}function dt(){ot||(ot=!0,typeof _e.destroy=="function"&&_e.destroy())}function Ut(ct){if(st(),j.listenerCount(this,"error")===0)throw ct}function st(){tt.removeListener("data",nt),_e.removeListener("drain",rt),tt.removeListener("end",ut),tt.removeListener("close",dt),tt.removeListener("error",Ut),_e.removeListener("error",Ut),tt.removeListener("end",st),tt.removeListener("close",st),_e.removeListener("close",st)}return tt.on("error",Ut),_e.on("error",Ut),tt.on("end",st),tt.on("close",st),_e.on("close",st),_e.emit("pipe",tt),_e}},function(o,s){var _={}.toString;o.exports=Array.isArray||function(j){return _.call(j)=="[object Array]"}},function(o,s){},function(o,s,_){var j=_(46).Buffer,$=_(168);o.exports=function(){function _e(){(function(et,tt){if(!(et instanceof tt))throw new TypeError("Cannot call a class as a function")})(this,_e),this.head=null,this.tail=null,this.length=0}return _e.prototype.push=function(et){var tt={data:et,next:null};this.length>0?this.tail.next=tt:this.head=tt,this.tail=tt,++this.length},_e.prototype.unshift=function(et){var tt={data:et,next:this.head};this.length===0&&(this.tail=tt),this.head=tt,++this.length},_e.prototype.shift=function(){if(this.length!==0){var et=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,et}},_e.prototype.clear=function(){this.head=this.tail=null,this.length=0},_e.prototype.join=function(et){if(this.length===0)return"";for(var tt=this.head,nt=""+tt.data;tt=tt.next;)nt+=et+tt.data;return nt},_e.prototype.concat=function(et){if(this.length===0)return j.alloc(0);if(this.length===1)return this.head.data;for(var tt,nt,rt,ot=j.allocUnsafe(et>>>0),ut=this.head,dt=0;ut;)tt=ut.data,nt=ot,rt=dt,tt.copy(nt,rt),dt+=ut.data.length,ut=ut.next;return ot},_e}(),$&&$.inspect&&$.inspect.custom&&(o.exports.prototype[$.inspect.custom]=function(){var _e=$.inspect({length:this.length});return this.constructor.name+" "+_e})},function(o,s){},function(o,s,_){o.exports=_e;var j=_(72),$=Object.create(_(32));function _e(et){if(!(this instanceof _e))return new _e(et);j.call(this,et)}$.inherits=_(7),$.inherits(_e,j),_e.prototype._transform=function(et,tt,nt){nt(null,et)}},function(o,s,_){o.exports=_(47)},function(o,s,_){o.exports=_(22)},function(o,s,_){o.exports=_(31).Transform},function(o,s,_){o.exports=_(31).PassThrough},function(o,s,_){(function(j,$){var _e=_(73),et=_(176),tt=_(177),nt=_(180),rt=_(183);for(var ot in rt)s[ot]=rt[ot];s.NONE=0,s.DEFLATE=1,s.INFLATE=2,s.GZIP=3,s.GUNZIP=4,s.DEFLATERAW=5,s.INFLATERAW=6,s.UNZIP=7;function ut(dt){if(typeof dt!="number"||dts.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=dt,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}ut.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,_e(this.init_done,"close before init"),_e(this.mode<=s.UNZIP),this.mode===s.DEFLATE||this.mode===s.GZIP||this.mode===s.DEFLATERAW?tt.deflateEnd(this.strm):this.mode!==s.INFLATE&&this.mode!==s.GUNZIP&&this.mode!==s.INFLATERAW&&this.mode!==s.UNZIP||nt.inflateEnd(this.strm),this.mode=s.NONE,this.dictionary=null)},ut.prototype.write=function(dt,Ut,st,ct,pt,Bt,Qt){return this._write(!0,dt,Ut,st,ct,pt,Bt,Qt)},ut.prototype.writeSync=function(dt,Ut,st,ct,pt,Bt,Qt){return this._write(!1,dt,Ut,st,ct,pt,Bt,Qt)},ut.prototype._write=function(dt,Ut,st,ct,pt,Bt,Qt,gt){if(_e.equal(arguments.length,8),_e(this.init_done,"write before init"),_e(this.mode!==s.NONE,"already finalized"),_e.equal(!1,this.write_in_progress,"write already in progress"),_e.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,_e.equal(!1,Ut===void 0,"must provide flush value"),this.write_in_progress=!0,Ut!==s.Z_NO_FLUSH&&Ut!==s.Z_PARTIAL_FLUSH&&Ut!==s.Z_SYNC_FLUSH&&Ut!==s.Z_FULL_FLUSH&&Ut!==s.Z_FINISH&&Ut!==s.Z_BLOCK)throw new Error("Invalid flush value");if(st==null&&(st=j.alloc(0),pt=0,ct=0),this.strm.avail_in=pt,this.strm.input=st,this.strm.next_in=ct,this.strm.avail_out=gt,this.strm.output=Bt,this.strm.next_out=Qt,this.flush=Ut,!dt)return this._process(),this._checkError()?this._afterSync():void 0;var ft=this;return $.nextTick(function(){ft._process(),ft._after()}),this},ut.prototype._afterSync=function(){var dt=this.strm.avail_out,Ut=this.strm.avail_in;return this.write_in_progress=!1,[Ut,dt]},ut.prototype._process=function(){var dt=null;switch(this.mode){case s.DEFLATE:case s.GZIP:case s.DEFLATERAW:this.err=tt.deflate(this.strm,this.flush);break;case s.UNZIP:switch(this.strm.avail_in>0&&(dt=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(dt===null)break;if(this.strm.input[dt]!==31){this.mode=s.INFLATE;break}if(this.gzip_id_bytes_read=1,dt++,this.strm.avail_in===1)break;case 1:if(dt===null)break;this.strm.input[dt]===139?(this.gzip_id_bytes_read=2,this.mode=s.GUNZIP):this.mode=s.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case s.INFLATE:case s.GUNZIP:case s.INFLATERAW:for(this.err=nt.inflate(this.strm,this.flush),this.err===s.Z_NEED_DICT&&this.dictionary&&(this.err=nt.inflateSetDictionary(this.strm,this.dictionary),this.err===s.Z_OK?this.err=nt.inflate(this.strm,this.flush):this.err===s.Z_DATA_ERROR&&(this.err=s.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===s.GUNZIP&&this.err===s.Z_STREAM_END&&this.strm.next_in[0]!==0;)this.reset(),this.err=nt.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},ut.prototype._checkError=function(){switch(this.err){case s.Z_OK:case s.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===s.Z_FINISH)return this._error("unexpected end of file"),!1;break;case s.Z_STREAM_END:break;case s.Z_NEED_DICT:return this.dictionary==null?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},ut.prototype._after=function(){if(this._checkError()){var dt=this.strm.avail_out,Ut=this.strm.avail_in;this.write_in_progress=!1,this.callback(Ut,dt),this.pending_close&&this.close()}},ut.prototype._error=function(dt){this.strm.msg&&(dt=this.strm.msg),this.onerror(dt,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},ut.prototype.init=function(dt,Ut,st,ct,pt){_e(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),_e(dt>=8&&dt<=15,"invalid windowBits"),_e(Ut>=-1&&Ut<=9,"invalid compression level"),_e(st>=1&&st<=9,"invalid memlevel"),_e(ct===s.Z_FILTERED||ct===s.Z_HUFFMAN_ONLY||ct===s.Z_RLE||ct===s.Z_FIXED||ct===s.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(Ut,dt,st,ct,pt),this._setDictionary()},ut.prototype.params=function(){throw new Error("deflateParams Not supported")},ut.prototype.reset=function(){this._reset(),this._setDictionary()},ut.prototype._init=function(dt,Ut,st,ct,pt){switch(this.level=dt,this.windowBits=Ut,this.memLevel=st,this.strategy=ct,this.flush=s.Z_NO_FLUSH,this.err=s.Z_OK,this.mode!==s.GZIP&&this.mode!==s.GUNZIP||(this.windowBits+=16),this.mode===s.UNZIP&&(this.windowBits+=32),this.mode!==s.DEFLATERAW&&this.mode!==s.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new et,this.mode){case s.DEFLATE:case s.GZIP:case s.DEFLATERAW:this.err=tt.deflateInit2(this.strm,this.level,s.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case s.INFLATE:case s.GUNZIP:case s.INFLATERAW:case s.UNZIP:this.err=nt.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==s.Z_OK&&this._error("Init error"),this.dictionary=pt,this.write_in_progress=!1,this.init_done=!0},ut.prototype._setDictionary=function(){if(this.dictionary!=null){switch(this.err=s.Z_OK,this.mode){case s.DEFLATE:case s.DEFLATERAW:this.err=tt.deflateSetDictionary(this.strm,this.dictionary)}this.err!==s.Z_OK&&this._error("Failed to set dictionary")}},ut.prototype._reset=function(){switch(this.err=s.Z_OK,this.mode){case s.DEFLATE:case s.DEFLATERAW:case s.GZIP:this.err=tt.deflateReset(this.strm);break;case s.INFLATE:case s.INFLATERAW:case s.GUNZIP:this.err=nt.inflateReset(this.strm)}this.err!==s.Z_OK&&this._error("Failed to reset stream")},s.Zlib=ut}).call(this,_(5).Buffer,_(2))},function(o,s,_){var j=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;function et(tt){if(tt==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(tt)}o.exports=function(){try{if(!Object.assign)return!1;var tt=new String("abc");if(tt[5]="de",Object.getOwnPropertyNames(tt)[0]==="5")return!1;for(var nt={},rt=0;rt<10;rt++)nt["_"+String.fromCharCode(rt)]=rt;if(Object.getOwnPropertyNames(nt).map(function(ut){return nt[ut]}).join("")!=="0123456789")return!1;var ot={};return"abcdefghijklmnopqrst".split("").forEach(function(ut){ot[ut]=ut}),Object.keys(Object.assign({},ot)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}()?Object.assign:function(tt,nt){for(var rt,ot,ut=et(tt),dt=1;dt4?9:0)}function ut(ht){for(var mt=ht.length;--mt>=0;)ht[mt]=0}function dt(ht){var mt=ht.state,It=mt.pending;It>ht.avail_out&&(It=ht.avail_out),It!==0&&($.arraySet(ht.output,mt.pending_buf,mt.pending_out,It,ht.next_out),ht.next_out+=It,mt.pending_out+=It,ht.total_out+=It,ht.avail_out-=It,mt.pending-=It,mt.pending===0&&(mt.pending_out=0))}function Ut(ht,mt){_e._tr_flush_block(ht,ht.block_start>=0?ht.block_start:-1,ht.strstart-ht.block_start,mt),ht.block_start=ht.strstart,dt(ht.strm)}function st(ht,mt){ht.pending_buf[ht.pending++]=mt}function ct(ht,mt){ht.pending_buf[ht.pending++]=mt>>>8&255,ht.pending_buf[ht.pending++]=255&mt}function pt(ht,mt){var It,vt,Tt=ht.max_chain_length,Ot=ht.strstart,_t=ht.prev_length,Wt=ht.nice_match,bt=ht.strstart>ht.w_size-262?ht.strstart-(ht.w_size-262):0,Jt=ht.window,Zt=ht.w_mask,Vt=ht.prev,jt=ht.strstart+258,zt=Jt[Ot+_t-1],$t=Jt[Ot+_t];ht.prev_length>=ht.good_match&&(Tt>>=2),Wt>ht.lookahead&&(Wt=ht.lookahead);do if(Jt[(It=mt)+_t]===$t&&Jt[It+_t-1]===zt&&Jt[It]===Jt[Ot]&&Jt[++It]===Jt[Ot+1]){Ot+=2,It++;do;while(Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Ot_t){if(ht.match_start=mt,_t=vt,vt>=Wt)break;zt=Jt[Ot+_t-1],$t=Jt[Ot+_t]}}while((mt=Vt[mt&Zt])>bt&&--Tt!=0);return _t<=ht.lookahead?_t:ht.lookahead}function Bt(ht){var mt,It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt,Vt=ht.w_size;do{if(Tt=ht.window_size-ht.lookahead-ht.strstart,ht.strstart>=Vt+(Vt-262)){$.arraySet(ht.window,ht.window,Vt,Vt,0),ht.match_start-=Vt,ht.strstart-=Vt,ht.block_start-=Vt,mt=It=ht.hash_size;do vt=ht.head[--mt],ht.head[mt]=vt>=Vt?vt-Vt:0;while(--It);mt=It=Vt;do vt=ht.prev[--mt],ht.prev[mt]=vt>=Vt?vt-Vt:0;while(--It);Tt+=Vt}if(ht.strm.avail_in===0)break;if(_t=ht.strm,Wt=ht.window,bt=ht.strstart+ht.lookahead,Jt=Tt,Zt=void 0,(Zt=_t.avail_in)>Jt&&(Zt=Jt),It=Zt===0?0:(_t.avail_in-=Zt,$.arraySet(Wt,_t.input,_t.next_in,Zt,bt),_t.state.wrap===1?_t.adler=et(_t.adler,Wt,Zt,bt):_t.state.wrap===2&&(_t.adler=tt(_t.adler,Wt,Zt,bt)),_t.next_in+=Zt,_t.total_in+=Zt,Zt),ht.lookahead+=It,ht.lookahead+ht.insert>=3)for(Ot=ht.strstart-ht.insert,ht.ins_h=ht.window[Ot],ht.ins_h=(ht.ins_h<=3&&(ht.ins_h=(ht.ins_h<=3)if(vt=_e._tr_tally(ht,ht.strstart-ht.match_start,ht.match_length-3),ht.lookahead-=ht.match_length,ht.match_length<=ht.max_lazy_match&&ht.lookahead>=3){ht.match_length--;do ht.strstart++,ht.ins_h=(ht.ins_h<=3&&(ht.ins_h=(ht.ins_h<4096)&&(ht.match_length=2)),ht.prev_length>=3&&ht.match_length<=ht.prev_length){Tt=ht.strstart+ht.lookahead-3,vt=_e._tr_tally(ht,ht.strstart-1-ht.prev_match,ht.prev_length-3),ht.lookahead-=ht.prev_length-1,ht.prev_length-=2;do++ht.strstart<=Tt&&(ht.ins_h=(ht.ins_h<15&&(_t=2,vt-=16),Tt<1||Tt>9||It!==8||vt<8||vt>15||mt<0||mt>9||Ot<0||Ot>4)return rt(ht,-2);vt===8&&(vt=9);var Wt=new Ft;return ht.state=Wt,Wt.strm=ht,Wt.wrap=_t,Wt.gzhead=null,Wt.w_bits=vt,Wt.w_size=1<ht.pending_buf_size-5&&(It=ht.pending_buf_size-5);;){if(ht.lookahead<=1){if(Bt(ht),ht.lookahead===0&&mt===0)return 1;if(ht.lookahead===0)break}ht.strstart+=ht.lookahead,ht.lookahead=0;var vt=ht.block_start+It;if((ht.strstart===0||ht.strstart>=vt)&&(ht.lookahead=ht.strstart-vt,ht.strstart=vt,Ut(ht,!1),ht.strm.avail_out===0)||ht.strstart-ht.block_start>=ht.w_size-262&&(Ut(ht,!1),ht.strm.avail_out===0))return 1}return ht.insert=0,mt===4?(Ut(ht,!0),ht.strm.avail_out===0?3:4):(ht.strstart>ht.block_start&&(Ut(ht,!1),ht.strm.avail_out),1)}),new ft(4,4,8,4,Qt),new ft(4,5,16,8,Qt),new ft(4,6,32,32,Qt),new ft(4,4,16,16,gt),new ft(8,16,32,32,gt),new ft(8,16,128,128,gt),new ft(8,32,128,256,gt),new ft(32,128,258,1024,gt),new ft(32,258,258,4096,gt)],s.deflateInit=function(ht,mt){return xt(ht,mt,8,15,8,0)},s.deflateInit2=xt,s.deflateReset=Ct,s.deflateResetKeep=yt,s.deflateSetHeader=function(ht,mt){return ht&&ht.state?ht.state.wrap!==2?-2:(ht.state.gzhead=mt,0):-2},s.deflate=function(ht,mt){var It,vt,Tt,Ot;if(!ht||!ht.state||mt>5||mt<0)return ht?rt(ht,-2):-2;if(vt=ht.state,!ht.output||!ht.input&&ht.avail_in!==0||vt.status===666&&mt!==4)return rt(ht,ht.avail_out===0?-5:-2);if(vt.strm=ht,It=vt.last_flush,vt.last_flush=mt,vt.status===42)if(vt.wrap===2)ht.adler=0,st(vt,31),st(vt,139),st(vt,8),vt.gzhead?(st(vt,(vt.gzhead.text?1:0)+(vt.gzhead.hcrc?2:0)+(vt.gzhead.extra?4:0)+(vt.gzhead.name?8:0)+(vt.gzhead.comment?16:0)),st(vt,255&vt.gzhead.time),st(vt,vt.gzhead.time>>8&255),st(vt,vt.gzhead.time>>16&255),st(vt,vt.gzhead.time>>24&255),st(vt,vt.level===9?2:vt.strategy>=2||vt.level<2?4:0),st(vt,255&vt.gzhead.os),vt.gzhead.extra&&vt.gzhead.extra.length&&(st(vt,255&vt.gzhead.extra.length),st(vt,vt.gzhead.extra.length>>8&255)),vt.gzhead.hcrc&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending,0)),vt.gzindex=0,vt.status=69):(st(vt,0),st(vt,0),st(vt,0),st(vt,0),st(vt,0),st(vt,vt.level===9?2:vt.strategy>=2||vt.level<2?4:0),st(vt,3),vt.status=113);else{var _t=8+(vt.w_bits-8<<4)<<8;_t|=(vt.strategy>=2||vt.level<2?0:vt.level<6?1:vt.level===6?2:3)<<6,vt.strstart!==0&&(_t|=32),_t+=31-_t%31,vt.status=113,ct(vt,_t),vt.strstart!==0&&(ct(vt,ht.adler>>>16),ct(vt,65535&ht.adler)),ht.adler=1}if(vt.status===69)if(vt.gzhead.extra){for(Tt=vt.pending;vt.gzindex<(65535&vt.gzhead.extra.length)&&(vt.pending!==vt.pending_buf_size||(vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),dt(ht),Tt=vt.pending,vt.pending!==vt.pending_buf_size));)st(vt,255&vt.gzhead.extra[vt.gzindex]),vt.gzindex++;vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),vt.gzindex===vt.gzhead.extra.length&&(vt.gzindex=0,vt.status=73)}else vt.status=73;if(vt.status===73)if(vt.gzhead.name){Tt=vt.pending;do{if(vt.pending===vt.pending_buf_size&&(vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),dt(ht),Tt=vt.pending,vt.pending===vt.pending_buf_size)){Ot=1;break}Ot=vt.gzindexTt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),Ot===0&&(vt.gzindex=0,vt.status=91)}else vt.status=91;if(vt.status===91)if(vt.gzhead.comment){Tt=vt.pending;do{if(vt.pending===vt.pending_buf_size&&(vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),dt(ht),Tt=vt.pending,vt.pending===vt.pending_buf_size)){Ot=1;break}Ot=vt.gzindexTt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),Ot===0&&(vt.status=103)}else vt.status=103;if(vt.status===103&&(vt.gzhead.hcrc?(vt.pending+2>vt.pending_buf_size&&dt(ht),vt.pending+2<=vt.pending_buf_size&&(st(vt,255&ht.adler),st(vt,ht.adler>>8&255),ht.adler=0,vt.status=113)):vt.status=113),vt.pending!==0){if(dt(ht),ht.avail_out===0)return vt.last_flush=-1,0}else if(ht.avail_in===0&&ot(mt)<=ot(It)&&mt!==4)return rt(ht,-5);if(vt.status===666&&ht.avail_in!==0)return rt(ht,-5);if(ht.avail_in!==0||vt.lookahead!==0||mt!==0&&vt.status!==666){var Wt=vt.strategy===2?function(bt,Jt){for(var Zt;;){if(bt.lookahead===0&&(Bt(bt),bt.lookahead===0)){if(Jt===0)return 1;break}if(bt.match_length=0,Zt=_e._tr_tally(bt,0,bt.window[bt.strstart]),bt.lookahead--,bt.strstart++,Zt&&(Ut(bt,!1),bt.strm.avail_out===0))return 1}return bt.insert=0,Jt===4?(Ut(bt,!0),bt.strm.avail_out===0?3:4):bt.last_lit&&(Ut(bt,!1),bt.strm.avail_out===0)?1:2}(vt,mt):vt.strategy===3?function(bt,Jt){for(var Zt,Vt,jt,zt,$t=bt.window;;){if(bt.lookahead<=258){if(Bt(bt),bt.lookahead<=258&&Jt===0)return 1;if(bt.lookahead===0)break}if(bt.match_length=0,bt.lookahead>=3&&bt.strstart>0&&(Vt=$t[jt=bt.strstart-1])===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]){zt=bt.strstart+258;do;while(Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&jtbt.lookahead&&(bt.match_length=bt.lookahead)}if(bt.match_length>=3?(Zt=_e._tr_tally(bt,1,bt.match_length-3),bt.lookahead-=bt.match_length,bt.strstart+=bt.match_length,bt.match_length=0):(Zt=_e._tr_tally(bt,0,bt.window[bt.strstart]),bt.lookahead--,bt.strstart++),Zt&&(Ut(bt,!1),bt.strm.avail_out===0))return 1}return bt.insert=0,Jt===4?(Ut(bt,!0),bt.strm.avail_out===0?3:4):bt.last_lit&&(Ut(bt,!1),bt.strm.avail_out===0)?1:2}(vt,mt):j[vt.level].func(vt,mt);if(Wt!==3&&Wt!==4||(vt.status=666),Wt===1||Wt===3)return ht.avail_out===0&&(vt.last_flush=-1),0;if(Wt===2&&(mt===1?_e._tr_align(vt):mt!==5&&(_e._tr_stored_block(vt,0,0,!1),mt===3&&(ut(vt.head),vt.lookahead===0&&(vt.strstart=0,vt.block_start=0,vt.insert=0))),dt(ht),ht.avail_out===0))return vt.last_flush=-1,0}return mt!==4?0:vt.wrap<=0?1:(vt.wrap===2?(st(vt,255&ht.adler),st(vt,ht.adler>>8&255),st(vt,ht.adler>>16&255),st(vt,ht.adler>>24&255),st(vt,255&ht.total_in),st(vt,ht.total_in>>8&255),st(vt,ht.total_in>>16&255),st(vt,ht.total_in>>24&255)):(ct(vt,ht.adler>>>16),ct(vt,65535&ht.adler)),dt(ht),vt.wrap>0&&(vt.wrap=-vt.wrap),vt.pending!==0?0:1)},s.deflateEnd=function(ht){var mt;return ht&&ht.state?(mt=ht.state.status)!==42&&mt!==69&&mt!==73&&mt!==91&&mt!==103&&mt!==113&&mt!==666?rt(ht,-2):(ht.state=null,mt===113?rt(ht,-3):0):-2},s.deflateSetDictionary=function(ht,mt){var It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt=mt.length;if(!ht||!ht.state||(Ot=(It=ht.state).wrap)===2||Ot===1&&It.status!==42||It.lookahead)return-2;for(Ot===1&&(ht.adler=et(ht.adler,mt,Zt,0)),It.wrap=0,Zt>=It.w_size&&(Ot===0&&(ut(It.head),It.strstart=0,It.block_start=0,It.insert=0),Jt=new $.Buf8(It.w_size),$.arraySet(Jt,mt,Zt-It.w_size,It.w_size,0),mt=Jt,Zt=It.w_size),_t=ht.avail_in,Wt=ht.next_in,bt=ht.input,ht.avail_in=Zt,ht.next_in=0,ht.input=mt,Bt(It);It.lookahead>=3;){vt=It.strstart,Tt=It.lookahead-2;do It.ins_h=(It.ins_h<=0;)Vt[jt]=0}var _e=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],et=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],tt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=new Array(576);$(rt);var ot=new Array(60);$(ot);var ut=new Array(512);$(ut);var dt=new Array(256);$(dt);var Ut=new Array(29);$(Ut);var st,ct,pt,Bt=new Array(30);function Qt(Vt,jt,zt,$t,nn){this.static_tree=Vt,this.extra_bits=jt,this.extra_base=zt,this.elems=$t,this.max_length=nn,this.has_stree=Vt&&Vt.length}function gt(Vt,jt){this.dyn_tree=Vt,this.max_code=0,this.stat_desc=jt}function ft(Vt){return Vt<256?ut[Vt]:ut[256+(Vt>>>7)]}function Ft(Vt,jt){Vt.pending_buf[Vt.pending++]=255&jt,Vt.pending_buf[Vt.pending++]=jt>>>8&255}function yt(Vt,jt,zt){Vt.bi_valid>16-zt?(Vt.bi_buf|=jt<>16-Vt.bi_valid,Vt.bi_valid+=zt-16):(Vt.bi_buf|=jt<>>=1,zt<<=1;while(--jt>0);return zt>>>1}function ht(Vt,jt,zt){var $t,nn,rn=new Array(16),Dt=0;for($t=1;$t<=15;$t++)rn[$t]=Dt=Dt+zt[$t-1]<<1;for(nn=0;nn<=jt;nn++){var wt=Vt[2*nn+1];wt!==0&&(Vt[2*nn]=xt(rn[wt]++,wt))}}function mt(Vt){var jt;for(jt=0;jt<286;jt++)Vt.dyn_ltree[2*jt]=0;for(jt=0;jt<30;jt++)Vt.dyn_dtree[2*jt]=0;for(jt=0;jt<19;jt++)Vt.bl_tree[2*jt]=0;Vt.dyn_ltree[512]=1,Vt.opt_len=Vt.static_len=0,Vt.last_lit=Vt.matches=0}function It(Vt){Vt.bi_valid>8?Ft(Vt,Vt.bi_buf):Vt.bi_valid>0&&(Vt.pending_buf[Vt.pending++]=Vt.bi_buf),Vt.bi_buf=0,Vt.bi_valid=0}function vt(Vt,jt,zt,$t){var nn=2*jt,rn=2*zt;return Vt[nn]>1;zt>=1;zt--)Tt(Vt,rn,zt);nn=Et;do zt=Vt.heap[1],Vt.heap[1]=Vt.heap[Vt.heap_len--],Tt(Vt,rn,1),$t=Vt.heap[1],Vt.heap[--Vt.heap_max]=zt,Vt.heap[--Vt.heap_max]=$t,rn[2*nn]=rn[2*zt]+rn[2*$t],Vt.depth[nn]=(Vt.depth[zt]>=Vt.depth[$t]?Vt.depth[zt]:Vt.depth[$t])+1,rn[2*zt+1]=rn[2*$t+1]=nn,Vt.heap[1]=nn++,Tt(Vt,rn,1);while(Vt.heap_len>=2);Vt.heap[--Vt.heap_max]=Vt.heap[1],function(Pt,Kt){var Ht,on,sn,gn,Cn,In,Mn=Kt.dyn_tree,rr=Kt.max_code,An=Kt.stat_desc.static_tree,Dn=Kt.stat_desc.has_stree,Hn=Kt.stat_desc.extra_bits,Fr=Kt.stat_desc.extra_base,hr=Kt.stat_desc.max_length,Gr=0;for(gn=0;gn<=15;gn++)Pt.bl_count[gn]=0;for(Mn[2*Pt.heap[Pt.heap_max]+1]=0,Ht=Pt.heap_max+1;Ht<573;Ht++)(gn=Mn[2*Mn[2*(on=Pt.heap[Ht])+1]+1]+1)>hr&&(gn=hr,Gr++),Mn[2*on+1]=gn,on>rr||(Pt.bl_count[gn]++,Cn=0,on>=Fr&&(Cn=Hn[on-Fr]),In=Mn[2*on],Pt.opt_len+=In*(gn+Cn),Dn&&(Pt.static_len+=In*(An[2*on+1]+Cn)));if(Gr!==0){do{for(gn=hr-1;Pt.bl_count[gn]===0;)gn--;Pt.bl_count[gn]--,Pt.bl_count[gn+1]+=2,Pt.bl_count[hr]--,Gr-=2}while(Gr>0);for(gn=hr;gn!==0;gn--)for(on=Pt.bl_count[gn];on!==0;)(sn=Pt.heap[--Ht])>rr||(Mn[2*sn+1]!==gn&&(Pt.opt_len+=(gn-Mn[2*sn+1])*Mn[2*sn],Mn[2*sn+1]=gn),on--)}}(Vt,jt),ht(rn,kt,Vt.bl_count)}function Wt(Vt,jt,zt){var $t,nn,rn=-1,Dt=jt[1],wt=0,Et=7,kt=4;for(Dt===0&&(Et=138,kt=3),jt[2*(zt+1)+1]=65535,$t=0;$t<=zt;$t++)nn=Dt,Dt=jt[2*($t+1)+1],++wt>=7;nn<30;nn++)for(Bt[nn]=rn<<7,jt=0;jt<1<0?(Vt.strm.data_type===2&&(Vt.strm.data_type=function(wt){var Et,kt=4093624447;for(Et=0;Et<=31;Et++,kt>>>=1)if(1&kt&&wt.dyn_ltree[2*Et]!==0)return 0;if(wt.dyn_ltree[18]!==0||wt.dyn_ltree[20]!==0||wt.dyn_ltree[26]!==0)return 1;for(Et=32;Et<256;Et++)if(wt.dyn_ltree[2*Et]!==0)return 1;return 0}(Vt)),_t(Vt,Vt.l_desc),_t(Vt,Vt.d_desc),Dt=function(wt){var Et;for(Wt(wt,wt.dyn_ltree,wt.l_desc.max_code),Wt(wt,wt.dyn_dtree,wt.d_desc.max_code),_t(wt,wt.bl_desc),Et=18;Et>=3&&wt.bl_tree[2*nt[Et]+1]===0;Et--);return wt.opt_len+=3*(Et+1)+5+5+4,Et}(Vt),nn=Vt.opt_len+3+7>>>3,(rn=Vt.static_len+3+7>>>3)<=nn&&(nn=rn)):nn=rn=zt+5,zt+4<=nn&&jt!==-1?Zt(Vt,jt,zt,$t):Vt.strategy===4||rn===nn?(yt(Vt,2+($t?1:0),3),Ot(Vt,rt,ot)):(yt(Vt,4+($t?1:0),3),function(wt,Et,kt,Pt){var Kt;for(yt(wt,Et-257,5),yt(wt,kt-1,5),yt(wt,Pt-4,4),Kt=0;Kt>>8&255,Vt.pending_buf[Vt.d_buf+2*Vt.last_lit+1]=255&jt,Vt.pending_buf[Vt.l_buf+Vt.last_lit]=255&zt,Vt.last_lit++,jt===0?Vt.dyn_ltree[2*zt]++:(Vt.matches++,jt--,Vt.dyn_ltree[2*(dt[zt]+256+1)]++,Vt.dyn_dtree[2*ft(jt)]++),Vt.last_lit===Vt.lit_bufsize-1},s._tr_align=function(Vt){yt(Vt,2,3),Ct(Vt,256,rt),function(jt){jt.bi_valid===16?(Ft(jt,jt.bi_buf),jt.bi_buf=0,jt.bi_valid=0):jt.bi_valid>=8&&(jt.pending_buf[jt.pending++]=255&jt.bi_buf,jt.bi_buf>>=8,jt.bi_valid-=8)}(Vt)}},function(o,s,_){o.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(o,s,_){var j=_(38),$=_(74),_e=_(75),et=_(181),tt=_(182);function nt(gt){return(gt>>>24&255)+(gt>>>8&65280)+((65280>)<<8)+((255>)<<24)}function rt(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new j.Buf16(320),this.work=new j.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ot(gt){var ft;return gt&>.state?(ft=gt.state,gt.total_in=gt.total_out=ft.total=0,gt.msg="",ft.wrap&&(gt.adler=1&ft.wrap),ft.mode=1,ft.last=0,ft.havedict=0,ft.dmax=32768,ft.head=null,ft.hold=0,ft.bits=0,ft.lencode=ft.lendyn=new j.Buf32(852),ft.distcode=ft.distdyn=new j.Buf32(592),ft.sane=1,ft.back=-1,0):-2}function ut(gt){var ft;return gt&>.state?((ft=gt.state).wsize=0,ft.whave=0,ft.wnext=0,ot(gt)):-2}function dt(gt,ft){var Ft,yt;return gt&>.state?(yt=gt.state,ft<0?(Ft=0,ft=-ft):(Ft=1+(ft>>4),ft<48&&(ft&=15)),ft&&(ft<8||ft>15)?-2:(yt.window!==null&&yt.wbits!==ft&&(yt.window=null),yt.wrap=Ft,yt.wbits=ft,ut(gt))):-2}function Ut(gt,ft){var Ft,yt;return gt?(yt=new rt,gt.state=yt,yt.window=null,(Ft=dt(gt,ft))!==0&&(gt.state=null),Ft):-2}var st,ct,pt=!0;function Bt(gt){if(pt){var ft;for(st=new j.Buf32(512),ct=new j.Buf32(32),ft=0;ft<144;)gt.lens[ft++]=8;for(;ft<256;)gt.lens[ft++]=9;for(;ft<280;)gt.lens[ft++]=7;for(;ft<288;)gt.lens[ft++]=8;for(tt(1,gt.lens,0,288,st,0,gt.work,{bits:9}),ft=0;ft<32;)gt.lens[ft++]=5;tt(2,gt.lens,0,32,ct,0,gt.work,{bits:5}),pt=!1}gt.lencode=st,gt.lenbits=9,gt.distcode=ct,gt.distbits=5}function Qt(gt,ft,Ft,yt){var Ct,xt=gt.state;return xt.window===null&&(xt.wsize=1<=xt.wsize?(j.arraySet(xt.window,ft,Ft-xt.wsize,xt.wsize,0),xt.wnext=0,xt.whave=xt.wsize):((Ct=xt.wsize-xt.wnext)>yt&&(Ct=yt),j.arraySet(xt.window,ft,Ft-yt,Ct,xt.wnext),(yt-=Ct)?(j.arraySet(xt.window,ft,Ft-yt,yt,0),xt.wnext=yt,xt.whave=xt.wsize):(xt.wnext+=Ct,xt.wnext===xt.wsize&&(xt.wnext=0),xt.whave>>8&255,Ft.check=_e(Ft.check,Pt,2,0),vt=0,Tt=0,Ft.mode=2;break}if(Ft.flags=0,Ft.head&&(Ft.head.done=!1),!(1&Ft.wrap)||(((255&vt)<<8)+(vt>>8))%31){gt.msg="incorrect header check",Ft.mode=30;break}if((15&vt)!=8){gt.msg="unknown compression method",Ft.mode=30;break}if(Tt-=4,rn=8+(15&(vt>>>=4)),Ft.wbits===0)Ft.wbits=rn;else if(rn>Ft.wbits){gt.msg="invalid window size",Ft.mode=30;break}Ft.dmax=1<>8&1),512&Ft.flags&&(Pt[0]=255&vt,Pt[1]=vt>>>8&255,Ft.check=_e(Ft.check,Pt,2,0)),vt=0,Tt=0,Ft.mode=3;case 3:for(;Tt<32;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>8&255,Pt[2]=vt>>>16&255,Pt[3]=vt>>>24&255,Ft.check=_e(Ft.check,Pt,4,0)),vt=0,Tt=0,Ft.mode=4;case 4:for(;Tt<16;){if(mt===0)break e;mt--,vt+=yt[xt++]<>8),512&Ft.flags&&(Pt[0]=255&vt,Pt[1]=vt>>>8&255,Ft.check=_e(Ft.check,Pt,2,0)),vt=0,Tt=0,Ft.mode=5;case 5:if(1024&Ft.flags){for(;Tt<16;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>8&255,Ft.check=_e(Ft.check,Pt,2,0)),vt=0,Tt=0}else Ft.head&&(Ft.head.extra=null);Ft.mode=6;case 6:if(1024&Ft.flags&&((Wt=Ft.length)>mt&&(Wt=mt),Wt&&(Ft.head&&(rn=Ft.head.extra_len-Ft.length,Ft.head.extra||(Ft.head.extra=new Array(Ft.head.extra_len)),j.arraySet(Ft.head.extra,yt,xt,Wt,rn)),512&Ft.flags&&(Ft.check=_e(Ft.check,yt,Wt,xt)),mt-=Wt,xt+=Wt,Ft.length-=Wt),Ft.length))break e;Ft.length=0,Ft.mode=7;case 7:if(2048&Ft.flags){if(mt===0)break e;Wt=0;do rn=yt[xt+Wt++],Ft.head&&rn&&Ft.length<65536&&(Ft.head.name+=String.fromCharCode(rn));while(rn&&Wt>9&1,Ft.head.done=!0),gt.adler=Ft.check=0,Ft.mode=12;break;case 10:for(;Tt<32;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=7&Tt,Tt-=7&Tt,Ft.mode=27;break}for(;Tt<3;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=1)){case 0:Ft.mode=14;break;case 1:if(Bt(Ft),Ft.mode=20,ft===6){vt>>>=2,Tt-=2;break e}break;case 2:Ft.mode=17;break;case 3:gt.msg="invalid block type",Ft.mode=30}vt>>>=2,Tt-=2;break;case 14:for(vt>>>=7&Tt,Tt-=7&Tt;Tt<32;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>16^65535)){gt.msg="invalid stored block lengths",Ft.mode=30;break}if(Ft.length=65535&vt,vt=0,Tt=0,Ft.mode=15,ft===6)break e;case 15:Ft.mode=16;case 16:if(Wt=Ft.length){if(Wt>mt&&(Wt=mt),Wt>It&&(Wt=It),Wt===0)break e;j.arraySet(Ct,yt,xt,Wt,ht),mt-=Wt,xt+=Wt,It-=Wt,ht+=Wt,Ft.length-=Wt;break}Ft.mode=12;break;case 17:for(;Tt<14;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=5,Tt-=5,Ft.ndist=1+(31&vt),vt>>>=5,Tt-=5,Ft.ncode=4+(15&vt),vt>>>=4,Tt-=4,Ft.nlen>286||Ft.ndist>30){gt.msg="too many length or distance symbols",Ft.mode=30;break}Ft.have=0,Ft.mode=18;case 18:for(;Ft.have>>=3,Tt-=3}for(;Ft.have<19;)Ft.lens[Kt[Ft.have++]]=0;if(Ft.lencode=Ft.lendyn,Ft.lenbits=7,wt={bits:Ft.lenbits},Dt=tt(0,Ft.lens,0,19,Ft.lencode,0,Ft.work,wt),Ft.lenbits=wt.bits,Dt){gt.msg="invalid code lengths set",Ft.mode=30;break}Ft.have=0,Ft.mode=19;case 19:for(;Ft.have>>16&255,jt=65535&kt,!((Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=Zt,Tt-=Zt,Ft.lens[Ft.have++]=jt;else{if(jt===16){for(Et=Zt+2;Tt>>=Zt,Tt-=Zt,Ft.have===0){gt.msg="invalid bit length repeat",Ft.mode=30;break}rn=Ft.lens[Ft.have-1],Wt=3+(3&vt),vt>>>=2,Tt-=2}else if(jt===17){for(Et=Zt+3;Tt>>=Zt)),vt>>>=3,Tt-=3}else{for(Et=Zt+7;Tt>>=Zt)),vt>>>=7,Tt-=7}if(Ft.have+Wt>Ft.nlen+Ft.ndist){gt.msg="invalid bit length repeat",Ft.mode=30;break}for(;Wt--;)Ft.lens[Ft.have++]=rn}}if(Ft.mode===30)break;if(Ft.lens[256]===0){gt.msg="invalid code -- missing end-of-block",Ft.mode=30;break}if(Ft.lenbits=9,wt={bits:Ft.lenbits},Dt=tt(1,Ft.lens,0,Ft.nlen,Ft.lencode,0,Ft.work,wt),Ft.lenbits=wt.bits,Dt){gt.msg="invalid literal/lengths set",Ft.mode=30;break}if(Ft.distbits=6,Ft.distcode=Ft.distdyn,wt={bits:Ft.distbits},Dt=tt(2,Ft.lens,Ft.nlen,Ft.ndist,Ft.distcode,0,Ft.work,wt),Ft.distbits=wt.bits,Dt){gt.msg="invalid distances set",Ft.mode=30;break}if(Ft.mode=20,ft===6)break e;case 20:Ft.mode=21;case 21:if(mt>=6&&It>=258){gt.next_out=ht,gt.avail_out=It,gt.next_in=xt,gt.avail_in=mt,Ft.hold=vt,Ft.bits=Tt,et(gt,_t),ht=gt.next_out,Ct=gt.output,It=gt.avail_out,xt=gt.next_in,yt=gt.input,mt=gt.avail_in,vt=Ft.hold,Tt=Ft.bits,Ft.mode===12&&(Ft.back=-1);break}for(Ft.back=0;Vt=(kt=Ft.lencode[vt&(1<>>16&255,jt=65535&kt,!((Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>zt)])>>>16&255,jt=65535&kt,!(zt+(Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=zt,Tt-=zt,Ft.back+=zt}if(vt>>>=Zt,Tt-=Zt,Ft.back+=Zt,Ft.length=jt,Vt===0){Ft.mode=26;break}if(32&Vt){Ft.back=-1,Ft.mode=12;break}if(64&Vt){gt.msg="invalid literal/length code",Ft.mode=30;break}Ft.extra=15&Vt,Ft.mode=22;case 22:if(Ft.extra){for(Et=Ft.extra;Tt>>=Ft.extra,Tt-=Ft.extra,Ft.back+=Ft.extra}Ft.was=Ft.length,Ft.mode=23;case 23:for(;Vt=(kt=Ft.distcode[vt&(1<>>16&255,jt=65535&kt,!((Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>zt)])>>>16&255,jt=65535&kt,!(zt+(Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=zt,Tt-=zt,Ft.back+=zt}if(vt>>>=Zt,Tt-=Zt,Ft.back+=Zt,64&Vt){gt.msg="invalid distance code",Ft.mode=30;break}Ft.offset=jt,Ft.extra=15&Vt,Ft.mode=24;case 24:if(Ft.extra){for(Et=Ft.extra;Tt>>=Ft.extra,Tt-=Ft.extra,Ft.back+=Ft.extra}if(Ft.offset>Ft.dmax){gt.msg="invalid distance too far back",Ft.mode=30;break}Ft.mode=25;case 25:if(It===0)break e;if(Wt=_t-It,Ft.offset>Wt){if((Wt=Ft.offset-Wt)>Ft.whave&&Ft.sane){gt.msg="invalid distance too far back",Ft.mode=30;break}Wt>Ft.wnext?(Wt-=Ft.wnext,bt=Ft.wsize-Wt):bt=Ft.wnext-Wt,Wt>Ft.length&&(Wt=Ft.length),Jt=Ft.window}else Jt=Ct,bt=ht-Ft.offset,Wt=Ft.length;Wt>It&&(Wt=It),It-=Wt,Ft.length-=Wt;do Ct[ht++]=Jt[bt++];while(--Wt);Ft.length===0&&(Ft.mode=21);break;case 26:if(It===0)break e;Ct[ht++]=Ft.length,It--,Ft.mode=21;break;case 27:if(Ft.wrap){for(;Tt<32;){if(mt===0)break e;mt--,vt|=yt[xt++]<>>=Ct=yt>>>24,Bt-=Ct,(Ct=yt>>>16&255)===0)Tt[nt++]=65535&yt;else{if(!(16&Ct)){if(!(64&Ct)){yt=Qt[(65535&yt)+(pt&(1<>>=Ct,Bt-=Ct),Bt<15&&(pt+=vt[et++]<>>=Ct=yt>>>24,Bt-=Ct,!(16&(Ct=yt>>>16&255))){if(!(64&Ct)){yt=gt[(65535&yt)+(pt&(1<ut){j.msg="invalid distance too far back",_e.mode=30;break e}if(pt>>>=Ct,Bt-=Ct,ht>(Ct=nt-rt)){if((Ct=ht-Ct)>Ut&&_e.sane){j.msg="invalid distance too far back",_e.mode=30;break e}if(mt=0,It=ct,st===0){if(mt+=dt-Ct,Ct2;)Tt[nt++]=It[mt++],Tt[nt++]=It[mt++],Tt[nt++]=It[mt++],xt-=3;xt&&(Tt[nt++]=It[mt++],xt>1&&(Tt[nt++]=It[mt++]))}else{mt=nt-ht;do Tt[nt++]=Tt[mt++],Tt[nt++]=Tt[mt++],Tt[nt++]=Tt[mt++],xt-=3;while(xt>2);xt&&(Tt[nt++]=Tt[mt++],xt>1&&(Tt[nt++]=Tt[mt++]))}break}}break}}while(et>3,pt&=(1<<(Bt-=xt<<3))-1,j.next_in=et,j.next_out=nt,j.avail_in=et=1&&zt[Tt]===0;Tt--);if(Ot>Tt&&(Ot=Tt),Tt===0)return dt[Ut++]=20971520,dt[Ut++]=20971520,ct.bits=1,0;for(vt=1;vt0&&(nt===0||Tt!==1))return-1;for($t[1]=0,mt=1;mt<15;mt++)$t[mt+1]=$t[mt]+zt[mt];for(It=0;It852||nt===2&&Jt>592)return 1;for(;;){yt=mt-Wt,st[It]Ft?(Ct=nn[rn+st[It]],xt=Vt[jt+st[It]]):(Ct=96,xt=0),pt=1<>Wt)+(Bt-=pt)]=yt<<24|Ct<<16|xt|0;while(Bt!==0);for(pt=1<>=1;if(pt!==0?(Zt&=pt-1,Zt+=pt):Zt=0,It++,--zt[mt]==0){if(mt===Tt)break;mt=rt[ot+st[It]]}if(mt>Ot&&(Zt>)!==Qt){for(Wt===0&&(Wt=Ot),ft+=vt,bt=1<<(_t=mt-Wt);_t+Wt852||nt===2&&Jt>592)return 1;dt[Qt=Zt>]=Ot<<24|_t<<16|ft-Ut|0}}return Zt!==0&&(dt[ft+Zt]=mt-Wt<<24|64<<16|0),ct.bits=Ot,0}},function(o,s,_){o.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(o,s){},function(o,s,_){function j(ut,dt){var Ut=Object.keys(ut);if(Object.getOwnPropertySymbols){var st=Object.getOwnPropertySymbols(ut);dt&&(st=st.filter(function(ct){return Object.getOwnPropertyDescriptor(ut,ct).enumerable})),Ut.push.apply(Ut,st)}return Ut}function $(ut){for(var dt=1;dt0?this.tail.next=ct:this.head=ct,this.tail=ct,++this.length}},{key:"unshift",value:function(st){var ct={data:st,next:this.head};this.length===0&&(this.tail=ct),this.head=ct,++this.length}},{key:"shift",value:function(){if(this.length!==0){var st=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,st}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(st){if(this.length===0)return"";for(var ct=this.head,pt=""+ct.data;ct=ct.next;)pt+=st+ct.data;return pt}},{key:"concat",value:function(st){if(this.length===0)return nt.alloc(0);for(var ct,pt,Bt,Qt=nt.allocUnsafe(st>>>0),gt=this.head,ft=0;gt;)ct=gt.data,pt=Qt,Bt=ft,nt.prototype.copy.call(ct,pt,Bt),ft+=gt.data.length,gt=gt.next;return Qt}},{key:"consume",value:function(st,ct){var pt;return stQt.length?Qt.length:st;if(gt===Qt.length?Bt+=Qt:Bt+=Qt.slice(0,st),(st-=gt)==0){gt===Qt.length?(++pt,ct.next?this.head=ct.next:this.head=this.tail=null):(this.head=ct,ct.data=Qt.slice(gt));break}++pt}return this.length-=pt,Bt}},{key:"_getBuffer",value:function(st){var ct=nt.allocUnsafe(st),pt=this.head,Bt=1;for(pt.data.copy(ct),st-=pt.data.length;pt=pt.next;){var Qt=pt.data,gt=st>Qt.length?Qt.length:st;if(Qt.copy(ct,ct.length-st,0,gt),(st-=gt)==0){gt===Qt.length?(++Bt,pt.next?this.head=pt.next:this.head=this.tail=null):(this.head=pt,pt.data=Qt.slice(gt));break}++Bt}return this.length-=Bt,ct}},{key:ot,value:function(st,ct){return rt(this,$($({},ct),{},{depth:0,customInspect:!1}))}}])&&et(dt.prototype,Ut),Object.defineProperty(dt,"prototype",{writable:!1}),ut}()},function(o,s){},function(o,s,_){(function(j){var $;function _e(gt,ft,Ft){return(ft=function(yt){var Ct=function(xt,ht){if(typeof xt!="object"||xt===null)return xt;var mt=xt[Symbol.toPrimitive];if(mt!==void 0){var It=mt.call(xt,ht||"default");if(typeof It!="object")return It;throw new TypeError("@@toPrimitive must return a primitive value.")}return(ht==="string"?String:Number)(xt)}(yt,"string");return typeof Ct=="symbol"?Ct:String(Ct)}(ft))in gt?Object.defineProperty(gt,ft,{value:Ft,enumerable:!0,configurable:!0,writable:!0}):gt[ft]=Ft,gt}var et=_(48),tt=Symbol("lastResolve"),nt=Symbol("lastReject"),rt=Symbol("error"),ot=Symbol("ended"),ut=Symbol("lastPromise"),dt=Symbol("handlePromise"),Ut=Symbol("stream");function st(gt,ft){return{value:gt,done:ft}}function ct(gt){var ft=gt[tt];if(ft!==null){var Ft=gt[Ut].read();Ft!==null&&(gt[ut]=null,gt[tt]=null,gt[nt]=null,ft(st(Ft,!1)))}}function pt(gt){j.nextTick(ct,gt)}var Bt=Object.getPrototypeOf(function(){}),Qt=Object.setPrototypeOf((_e($={get stream(){return this[Ut]},next:function(){var gt=this,ft=this[rt];if(ft!==null)return Promise.reject(ft);if(this[ot])return Promise.resolve(st(void 0,!0));if(this[Ut].destroyed)return new Promise(function(xt,ht){j.nextTick(function(){gt[rt]?ht(gt[rt]):xt(st(void 0,!0))})});var Ft,yt=this[ut];if(yt)Ft=new Promise(function(xt,ht){return function(mt,It){xt.then(function(){ht[ot]?mt(st(void 0,!0)):ht[dt](mt,It)},It)}}(yt,this));else{var Ct=this[Ut].read();if(Ct!==null)return Promise.resolve(st(Ct,!1));Ft=new Promise(this[dt])}return this[ut]=Ft,Ft}},Symbol.asyncIterator,function(){return this}),_e($,"return",function(){var gt=this;return new Promise(function(ft,Ft){gt[Ut].destroy(null,function(yt){yt?Ft(yt):ft(st(void 0,!0))})})}),$),Bt);o.exports=function(gt){var ft,Ft=Object.create(Qt,(_e(ft={},Ut,{value:gt,writable:!0}),_e(ft,tt,{value:null,writable:!0}),_e(ft,nt,{value:null,writable:!0}),_e(ft,rt,{value:null,writable:!0}),_e(ft,ot,{value:gt._readableState.endEmitted,writable:!0}),_e(ft,dt,{value:function(yt,Ct){var xt=Ft[Ut].read();xt?(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,yt(st(xt,!1))):(Ft[tt]=yt,Ft[nt]=Ct)},writable:!0}),ft));return Ft[ut]=null,et(gt,function(yt){if(yt&&yt.code!=="ERR_STREAM_PREMATURE_CLOSE"){var Ct=Ft[nt];return Ct!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,Ct(yt)),void(Ft[rt]=yt)}var xt=Ft[tt];xt!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,xt(st(void 0,!0))),Ft[ot]=!0}),gt.on("readable",pt.bind(null,Ft)),Ft}}).call(this,_(2))},function(o,s){o.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(o,s,_){o.exports=$;var j=_(81);function $(_e){if(!(this instanceof $))return new $(_e);j.call(this,_e)}_(7)($,j),$.prototype._transform=function(_e,et,tt){tt(null,_e)}},function(o,s,_){var j,$=_(24).codes,_e=$.ERR_MISSING_ARGS,et=$.ERR_STREAM_DESTROYED;function tt(dt){if(dt)throw dt}function nt(dt,Ut,st,ct){ct=function(Qt){var gt=!1;return function(){gt||(gt=!0,Qt.apply(void 0,arguments))}}(ct);var pt=!1;dt.on("close",function(){pt=!0}),j===void 0&&(j=_(48)),j(dt,{readable:Ut,writable:st},function(Qt){if(Qt)return ct(Qt);pt=!0,ct()});var Bt=!1;return function(Qt){if(!pt&&!Bt)return Bt=!0,function(gt){return gt.setHeader&&typeof gt.abort=="function"}(dt)?dt.abort():typeof dt.destroy=="function"?dt.destroy():void ct(Qt||new et("pipe"))}}function rt(dt){dt()}function ot(dt,Ut){return dt.pipe(Ut)}function ut(dt){return dt.length?typeof dt[dt.length-1]!="function"?tt:dt.pop():tt}o.exports=function(){for(var dt=arguments.length,Ut=new Array(dt),st=0;st0,function(Ft){ct||(ct=Ft),Ft&&Bt.forEach(rt),ft||(Bt.forEach(rt),pt(ct))})});return Ut.reduce(ot)}},function(o,s,_){var j=_(192)(function $(_e,et){return(et=et||{}).namespace=_e,et.prod=!0,et.dev=!1,et.force||$.force?$.yep(et):$.nope(et)});o.exports=j},function(o,s){var _=[],j=[],$=function(){};function _e(st){return!~_.indexOf(st)&&(_.push(st),!0)}function et(st){$=st}function tt(st){for(var ct=[],pt=0;pt<_.length;pt++)if(_[pt].async)ct.push(_[pt]);else if(_[pt](st))return!0;return!!ct.length&&new Promise(function(Bt){Promise.all(ct.map(function(Qt){return Qt(st)})).then(function(Qt){Bt(Qt.some(Boolean))})})}function nt(st){return!~j.indexOf(st)&&(j.push(st),!0)}function rt(){$.apply($,arguments)}function ot(st){for(var ct=0;ctnt.start)&&(rt?rt(null,Ut):dt.emit("line",Ut)),ct++,Ut=""),setTimeout(Qt,1e3);var Ft=ut.write(ot.slice(0,ft));rt||dt.emit("data",Ft);for(var yt=(Ft=(Ut+Ft).split(/\n+/)).length-1,Ct=0;Ctnt.start)&&(rt?rt(null,Ft[Ct]):dt.emit("line",Ft[Ct])),ct++;return Ut=Ft[yt],st+=ft,Qt()});$.close(Bt,tt)})()}),rt?dt.destroy:dt}}).call(this,_(5).Buffer)},function(o,s,_){(function(j,$){function _e(ft){return(_e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ft){return typeof Ft}:function(Ft){return Ft&&typeof Symbol=="function"&&Ft.constructor===Symbol&&Ft!==Symbol.prototype?"symbol":typeof Ft})(ft)}function et(ft,Ft){var yt=Object.keys(ft);if(Object.getOwnPropertySymbols){var Ct=Object.getOwnPropertySymbols(ft);Ft&&(Ct=Ct.filter(function(xt){return Object.getOwnPropertyDescriptor(ft,xt).enumerable})),yt.push.apply(yt,Ct)}return yt}function tt(ft){for(var Ft=1;Ft"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var yt,Ct=st(ft);if(Ft){var xt=st(this).constructor;yt=Reflect.construct(Ct,arguments,xt)}else yt=Ct.apply(this,arguments);return Ut(this,yt)}}function Ut(ft,Ft){if(Ft&&(_e(Ft)==="object"||typeof Ft=="function"))return Ft;if(Ft!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(yt){if(yt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return yt}(ft)}function st(ft){return(st=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Ft){return Ft.__proto__||Object.getPrototypeOf(Ft)})(ft)}var ct=_(82),pt=_(205),Bt=_(33).Stream,Qt=_(14),gt=_(29);o.exports=function(ft){(function(ht,mt){if(typeof mt!="function"&&mt!==null)throw new TypeError("Super expression must either be null or a function");ht.prototype=Object.create(mt&&mt.prototype,{constructor:{value:ht,writable:!0,configurable:!0}}),Object.defineProperty(ht,"prototype",{writable:!1}),mt&&ut(ht,mt)})(xt,ft);var Ft,yt,Ct=dt(xt);function xt(){var ht,mt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return rt(this,xt),(ht=Ct.call(this,mt)).options=mt,ht.name=mt.name||"http",ht.ssl=!!mt.ssl,ht.host=mt.host||"localhost",ht.port=mt.port,ht.auth=mt.auth,ht.path=mt.path||"",ht.agent=mt.agent,ht.headers=mt.headers||{},ht.headers["content-type"]="application/json",ht.batch=mt.batch||!1,ht.batchInterval=mt.batchInterval||5e3,ht.batchCount=mt.batchCount||10,ht.batchOptions=[],ht.batchTimeoutID=-1,ht.batchCallback={},ht.port||(ht.port=ht.ssl?443:80),ht}return Ft=xt,(yt=[{key:"log",value:function(ht,mt){var It=this;this._request(ht,function(vt,Tt){Tt&&Tt.statusCode!==200&&(vt=new Error("Invalid HTTP Status Code: ".concat(Tt.statusCode))),vt?It.emit("warn",vt):It.emit("logged",ht)}),mt&&j(mt)}},{key:"query",value:function(ht,mt){typeof ht=="function"&&(mt=ht,ht={}),(ht={method:"query",params:this.normalizeQuery(ht)}).params.path&&(ht.path=ht.params.path,delete ht.params.path),ht.params.auth&&(ht.auth=ht.params.auth,delete ht.params.auth),this._request(ht,function(It,vt,Tt){if(vt&&vt.statusCode!==200&&(It=new Error("Invalid HTTP Status Code: ".concat(vt.statusCode))),It)return mt(It);if(typeof Tt=="string")try{Tt=JSON.parse(Tt)}catch(Ot){return mt(Ot)}mt(null,Tt)})}},{key:"stream",value:function(){var ht=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},mt=new Bt;(ht={method:"stream",params:ht}).params.path&&(ht.path=ht.params.path,delete ht.params.path),ht.params.auth&&(ht.auth=ht.params.auth,delete ht.params.auth);var It="",vt=this._request(ht);return mt.destroy=function(){return vt.destroy()},vt.on("data",function(Tt){for(var Ot=(Tt=(It+Tt).split(/\n+/)).length-1,_t=0;_t0&&(clearTimeout(this.batchTimeoutID),this.batchTimeoutID=-1);var vt=this.batchOptions.slice();this.batchOptions=[],this._doRequest(vt,ht,mt,It)}},{key:"_doRequest",value:function(ht,mt,It,vt){var Tt=Object.assign({},this.headers);It&&It.bearer&&(Tt.Authorization="Bearer ".concat(It.bearer));var Ot=(this.ssl?pt:ct).request(tt(tt({},this.options),{},{method:"POST",host:this.host,port:this.port,path:"/".concat(vt.replace(/^\//,"")),headers:Tt,auth:It&&It.username&&It.password?"".concat(It.username,":").concat(It.password):"",agent:this.agent}));Ot.on("error",mt),Ot.on("response",function(_t){return _t.on("end",function(){return mt(null,_t)}).resume()}),Ot.end($.from(gt(ht,this.options.replacer),"utf8"))}}])&&ot(Ft.prototype,yt),Object.defineProperty(Ft,"prototype",{writable:!1}),xt}(Qt)}).call(this,_(19).setImmediate,_(5).Buffer)},function(o,s,_){(function(j,$,_e){var et=_(83),tt=_(7),nt=_(84),rt=_(31),ot=_(196),ut=nt.IncomingMessage,dt=nt.readyStates,Ut=o.exports=function(ct){var pt,Bt=this;rt.Writable.call(Bt),Bt._opts=ct,Bt._body=[],Bt._headers={},ct.auth&&Bt.setHeader("Authorization","Basic "+new j(ct.auth).toString("base64")),Object.keys(ct.headers).forEach(function(gt){Bt.setHeader(gt,ct.headers[gt])});var Qt=!0;if(ct.mode==="disable-fetch"||"requestTimeout"in ct&&!et.abortController)Qt=!1,pt=!0;else if(ct.mode==="prefer-streaming")pt=!1;else if(ct.mode==="allow-wrong-content-type")pt=!et.overrideMimeType;else{if(ct.mode&&ct.mode!=="default"&&ct.mode!=="prefer-fast")throw new Error("Invalid value for opts.mode");pt=!0}Bt._mode=function(gt,ft){return et.fetch&&ft?"fetch":et.mozchunkedarraybuffer?"moz-chunked-arraybuffer":et.msstream?"ms-stream":et.arraybuffer&>?"arraybuffer":et.vbArray&>?"text:vbarray":"text"}(pt,Qt),Bt._fetchTimer=null,Bt.on("finish",function(){Bt._onFinish()})};tt(Ut,rt.Writable),Ut.prototype.setHeader=function(ct,pt){var Bt=ct.toLowerCase();st.indexOf(Bt)===-1&&(this._headers[Bt]={name:ct,value:pt})},Ut.prototype.getHeader=function(ct){var pt=this._headers[ct.toLowerCase()];return pt?pt.value:null},Ut.prototype.removeHeader=function(ct){delete this._headers[ct.toLowerCase()]},Ut.prototype._onFinish=function(){var ct=this;if(!ct._destroyed){var pt=ct._opts,Bt=ct._headers,Qt=null;pt.method!=="GET"&&pt.method!=="HEAD"&&(Qt=et.arraybuffer?ot(j.concat(ct._body)):et.blobConstructor?new $.Blob(ct._body.map(function(Ct){return ot(Ct)}),{type:(Bt["content-type"]||{}).value||""}):j.concat(ct._body).toString());var gt=[];if(Object.keys(Bt).forEach(function(Ct){var xt=Bt[Ct].name,ht=Bt[Ct].value;Array.isArray(ht)?ht.forEach(function(mt){gt.push([xt,mt])}):gt.push([xt,ht])}),ct._mode==="fetch"){var ft=null;if(et.abortController){var Ft=new AbortController;ft=Ft.signal,ct._fetchAbortController=Ft,"requestTimeout"in pt&&pt.requestTimeout!==0&&(ct._fetchTimer=$.setTimeout(function(){ct.emit("requestTimeout"),ct._fetchAbortController&&ct._fetchAbortController.abort()},pt.requestTimeout))}$.fetch(ct._opts.url,{method:ct._opts.method,headers:gt,body:Qt||void 0,mode:"cors",credentials:pt.withCredentials?"include":"same-origin",signal:ft}).then(function(Ct){ct._fetchResponse=Ct,ct._connect()},function(Ct){$.clearTimeout(ct._fetchTimer),ct._destroyed||ct.emit("error",Ct)})}else{var yt=ct._xhr=new $.XMLHttpRequest;try{yt.open(ct._opts.method,ct._opts.url,!0)}catch(Ct){return void _e.nextTick(function(){ct.emit("error",Ct)})}"responseType"in yt&&(yt.responseType=ct._mode.split(":")[0]),"withCredentials"in yt&&(yt.withCredentials=!!pt.withCredentials),ct._mode==="text"&&"overrideMimeType"in yt&&yt.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in pt&&(yt.timeout=pt.requestTimeout,yt.ontimeout=function(){ct.emit("requestTimeout")}),gt.forEach(function(Ct){yt.setRequestHeader(Ct[0],Ct[1])}),ct._response=null,yt.onreadystatechange=function(){switch(yt.readyState){case dt.LOADING:case dt.DONE:ct._onXHRProgress()}},ct._mode==="moz-chunked-arraybuffer"&&(yt.onprogress=function(){ct._onXHRProgress()}),yt.onerror=function(){ct._destroyed||ct.emit("error",new Error("XHR error"))};try{yt.send(Qt)}catch(Ct){return void _e.nextTick(function(){ct.emit("error",Ct)})}}}},Ut.prototype._onXHRProgress=function(){(function(ct){try{var pt=ct.status;return pt!==null&&pt!==0}catch{return!1}})(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress())},Ut.prototype._connect=function(){var ct=this;ct._destroyed||(ct._response=new ut(ct._xhr,ct._fetchResponse,ct._mode,ct._fetchTimer),ct._response.on("error",function(pt){ct.emit("error",pt)}),ct.emit("response",ct._response))},Ut.prototype._write=function(ct,pt,Bt){this._body.push(ct),Bt()},Ut.prototype.abort=Ut.prototype.destroy=function(){this._destroyed=!0,$.clearTimeout(this._fetchTimer),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort()},Ut.prototype.end=function(ct,pt,Bt){typeof ct=="function"&&(Bt=ct,ct=void 0),rt.Writable.prototype.end.call(this,ct,pt,Bt)},Ut.prototype.flushHeaders=function(){},Ut.prototype.setTimeout=function(){},Ut.prototype.setNoDelay=function(){},Ut.prototype.setSocketKeepAlive=function(){};var st=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this,_(5).Buffer,_(6),_(2))},function(o,s,_){var j=_(5).Buffer;o.exports=function($){if($ instanceof Uint8Array){if($.byteOffset===0&&$.byteLength===$.buffer.byteLength)return $.buffer;if(typeof $.buffer.slice=="function")return $.buffer.slice($.byteOffset,$.byteOffset+$.byteLength)}if(j.isBuffer($)){for(var _e=new Uint8Array($.length),et=$.length,tt=0;tt= 0x80 (not a basic code point)","invalid-input":"Invalid input"},st=Math.floor,ct=String.fromCharCode;function pt(ht){throw new RangeError(Ut[ht])}function Bt(ht,mt){for(var It=ht.length,vt=[];It--;)vt[It]=mt(ht[It]);return vt}function Qt(ht,mt){var It=ht.split("@"),vt="";return It.length>1&&(vt=It[0]+"@",ht=It[1]),vt+Bt((ht=ht.replace(dt,".")).split("."),mt).join(".")}function gt(ht){for(var mt,It,vt=[],Tt=0,Ot=ht.length;Tt=55296&&mt<=56319&&Tt65535&&(It+=ct((mt-=65536)>>>10&1023|55296),mt=56320|1023&mt),It+=ct(mt)}).join("")}function Ft(ht,mt){return ht+22+75*(ht<26)-((mt!=0)<<5)}function yt(ht,mt,It){var vt=0;for(ht=It?st(ht/700):ht>>1,ht+=st(ht/mt);ht>455;vt+=36)ht=st(ht/35);return st(vt+36*ht/(ht+38))}function Ct(ht){var mt,It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt,Vt,jt=[],zt=ht.length,$t=0,nn=128,rn=72;for((It=ht.lastIndexOf("-"))<0&&(It=0),vt=0;vt=128&&pt("not-basic"),jt.push(ht.charCodeAt(vt));for(Tt=It>0?It+1:0;Tt=zt&&pt("invalid-input"),((bt=(Vt=ht.charCodeAt(Tt++))-48<10?Vt-22:Vt-65<26?Vt-65:Vt-97<26?Vt-97:36)>=36||bt>st((rt-$t)/_t))&&pt("overflow"),$t+=bt*_t,!(bt<(Jt=Wt<=rn?1:Wt>=rn+26?26:Wt-rn));Wt+=36)_t>st(rt/(Zt=36-Jt))&&pt("overflow"),_t*=Zt;rn=yt($t-Ot,mt=jt.length+1,Ot==0),st($t/mt)>rt-nn&&pt("overflow"),nn+=st($t/mt),$t%=mt,jt.splice($t++,0,nn)}return ft(jt)}function xt(ht){var mt,It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt,Vt,jt,zt,$t,nn,rn=[];for(jt=(ht=gt(ht)).length,mt=128,It=0,Ot=72,_t=0;_t=mt&&Vtst((rt-It)/(zt=vt+1))&&pt("overflow"),It+=(Wt-mt)*zt,mt=Wt,_t=0;_trt&&pt("overflow"),Vt==mt){for(bt=It,Jt=36;!(bt<(Zt=Jt<=Ot?1:Jt>=Ot+26?26:Jt-Ot));Jt+=36)nn=bt-Zt,$t=36-Zt,rn.push(ct(Ft(Zt+nn%$t,0))),bt=st(nn/$t);rn.push(ct(Ft(bt,0))),Ot=yt(It,zt,vt==Tt),It=0,++vt}++It,++mt}return rn.join("")}nt={version:"1.4.1",ucs2:{decode:gt,encode:ft},decode:Ct,encode:xt,toASCII:function(ht){return Qt(ht,function(mt){return ut.test(mt)?"xn--"+xt(mt):mt})},toUnicode:function(ht){return Qt(ht,function(mt){return ot.test(mt)?Ct(mt.slice(4).toLowerCase()):mt})}},(_e=(function(){return nt}).call(s,_,s,j))===void 0||(j.exports=_e)})()}).call(this,_(200)(o),_(6))},function(o,s){o.exports=function(_){return _.webpackPolyfill||(_.deprecate=function(){},_.paths=[],_.children||(_.children=[]),Object.defineProperty(_,"loaded",{enumerable:!0,get:function(){return _.l}}),Object.defineProperty(_,"id",{enumerable:!0,get:function(){return _.i}}),_.webpackPolyfill=1),_}},function(o,s,_){o.exports={isString:function(j){return typeof j=="string"},isObject:function(j){return typeof j=="object"&&j!==null},isNull:function(j){return j===null},isNullOrUndefined:function(j){return j==null}}},function(o,s,_){s.decode=s.parse=_(203),s.encode=s.stringify=_(204)},function(o,s,_){function j(_e,et){return Object.prototype.hasOwnProperty.call(_e,et)}o.exports=function(_e,et,tt,nt){et=et||"&",tt=tt||"=";var rt={};if(typeof _e!="string"||_e.length===0)return rt;var ot=/\+/g;_e=_e.split(et);var ut=1e3;nt&&typeof nt.maxKeys=="number"&&(ut=nt.maxKeys);var dt=_e.length;ut>0&&dt>ut&&(dt=ut);for(var Ut=0;Ut=0?(st=Qt.substr(0,gt),ct=Qt.substr(gt+1)):(st=Qt,ct=""),pt=decodeURIComponent(st),Bt=decodeURIComponent(ct),j(rt,pt)?$(rt[pt])?rt[pt].push(Bt):rt[pt]=[rt[pt],Bt]:rt[pt]=Bt}return rt};var $=Array.isArray||function(_e){return Object.prototype.toString.call(_e)==="[object Array]"}},function(o,s,_){var j=function(tt){switch(typeof tt){case"string":return tt;case"boolean":return tt?"true":"false";case"number":return isFinite(tt)?tt:"";default:return""}};o.exports=function(tt,nt,rt,ot){return nt=nt||"&",rt=rt||"=",tt===null&&(tt=void 0),typeof tt=="object"?_e(et(tt),function(ut){var dt=encodeURIComponent(j(ut))+rt;return $(tt[ut])?_e(tt[ut],function(Ut){return dt+encodeURIComponent(j(Ut))}).join(nt):dt+encodeURIComponent(j(tt[ut]))}).join(nt):ot?encodeURIComponent(j(ot))+rt+encodeURIComponent(j(tt)):""};var $=Array.isArray||function(tt){return Object.prototype.toString.call(tt)==="[object Array]"};function _e(tt,nt){if(tt.map)return tt.map(nt);for(var rt=[],ot=0;ot"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Bt,Qt=ot(ct);if(pt){var gt=ot(this).constructor;Bt=Reflect.construct(Qt,arguments,gt)}else Bt=Qt.apply(this,arguments);return rt(this,Bt)}}function rt(ct,pt){if(pt&&($(pt)==="object"||typeof pt=="function"))return pt;if(pt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Bt){if(Bt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Bt}(ct)}function ot(ct){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(pt){return pt.__proto__||Object.getPrototypeOf(pt)})(ct)}var ut=_(86),dt=_(4).MESSAGE,Ut=_(16),st=_(14);o.exports=function(ct){(function(ft,Ft){if(typeof Ft!="function"&&Ft!==null)throw new TypeError("Super expression must either be null or a function");ft.prototype=Object.create(Ft&&Ft.prototype,{constructor:{value:ft,writable:!0,configurable:!0}}),Object.defineProperty(ft,"prototype",{writable:!1}),Ft&&tt(ft,Ft)})(gt,ct);var pt,Bt,Qt=nt(gt);function gt(){var ft,Ft=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(_e(this,gt),ft=Qt.call(this,Ft),!Ft.stream||!ut(Ft.stream))throw new Error("options.stream is required.");return ft._stream=Ft.stream,ft._stream.setMaxListeners(1/0),ft.isObjectMode=Ft.stream._writableState.objectMode,ft.eol=typeof Ft.eol=="string"?Ft.eol:Ut.EOL,ft}return pt=gt,(Bt=[{key:"log",value:function(ft,Ft){var yt=this;if(j(function(){return yt.emit("logged",ft)}),this.isObjectMode)return this._stream.write(ft),void(Ft&&Ft());this._stream.write("".concat(ft[dt]).concat(this.eol)),Ft&&Ft()}}])&&et(pt.prototype,Bt),Object.defineProperty(pt,"prototype",{writable:!1}),gt}(st)}).call(this,_(19).setImmediate)},function(o,s,_){(function(j){function $(vt,Tt,Ot){return Tt in vt?Object.defineProperty(vt,Tt,{value:Ot,enumerable:!0,configurable:!0,writable:!0}):vt[Tt]=Ot,vt}function _e(vt){return(_e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Tt){return typeof Tt}:function(Tt){return Tt&&typeof Symbol=="function"&&Tt.constructor===Symbol&&Tt!==Symbol.prototype?"symbol":typeof Tt})(vt)}function et(vt,Tt){for(var Ot=0;Ot"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Ot,_t=ot(vt);if(Tt){var Wt=ot(this).constructor;Ot=Reflect.construct(_t,arguments,Wt)}else Ot=_t.apply(this,arguments);return rt(this,Ot)}}function rt(vt,Tt){if(Tt&&(_e(Tt)==="object"||typeof Tt=="function"))return Tt;if(Tt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ot){if(Ot===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ot}(vt)}function ot(vt){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Tt){return Tt.__proto__||Object.getPrototypeOf(Tt)})(vt)}var ut=_(33),dt=ut.Stream,Ut=ut.Transform,st=_(50),ct=_(4),pt=ct.LEVEL,Bt=ct.SPLAT,Qt=_(86),gt=_(88),ft=_(92),Ft=_(211),yt=_(212),Ct=_(60).warn,xt=_(49),ht=/%[scdjifoO%]/g,mt=function(vt){(function(bt,Jt){if(typeof Jt!="function"&&Jt!==null)throw new TypeError("Super expression must either be null or a function");bt.prototype=Object.create(Jt&&Jt.prototype,{constructor:{value:bt,writable:!0,configurable:!0}}),Object.defineProperty(bt,"prototype",{writable:!1}),Jt&&tt(bt,Jt)})(Wt,vt);var Tt,Ot,_t=nt(Wt);function Wt(bt){var Jt;return function(Zt,Vt){if(!(Zt instanceof Vt))throw new TypeError("Cannot call a class as a function")}(this,Wt),(Jt=_t.call(this,{objectMode:!0})).configure(bt),Jt}return Tt=Wt,(Ot=[{key:"child",value:function(bt){var Jt=this;return Object.create(Jt,{write:{value:function(Zt){var Vt=Object.assign({},bt,Zt);Zt instanceof Error&&(Vt.stack=Zt.stack,Vt.message=Zt.message),Jt.write(Vt)}}})}},{key:"configure",value:function(){var bt=this,Jt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Zt=Jt.silent,Vt=Jt.format,jt=Jt.defaultMeta,zt=Jt.levels,$t=Jt.level,nn=$t===void 0?"info":$t,rn=Jt.exitOnError,Dt=rn===void 0||rn,wt=Jt.transports,Et=Jt.colors,kt=Jt.emitErrs,Pt=Jt.formatters,Kt=Jt.padLevels,Ht=Jt.rewriters,on=Jt.stripColors,sn=Jt.exceptionHandlers,gn=Jt.rejectionHandlers;if(this.transports.length&&this.clear(),this.silent=Zt,this.format=Vt||this.format||_(213)(),this.defaultMeta=jt||null,this.levels=zt||this.levels||xt.npm.levels,this.level=nn,this.exceptions&&this.exceptions.unhandle(),this.rejections&&this.rejections.unhandle(),this.exceptions=new gt(this),this.rejections=new ft(this),this.profilers={},this.exitOnError=Dt,wt&&(wt=Array.isArray(wt)?wt:[wt]).forEach(function(Cn){return bt.add(Cn)}),Et||kt||Pt||Kt||Ht||on)throw new Error(["{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.","Use a custom winston.format(function) instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join(` -`));sn&&this.exceptions.handle(sn),gn&&this.rejections.handle(gn)}},{key:"isLevelEnabled",value:function(bt){var Jt=this,Zt=It(this.levels,bt);if(Zt===null)return!1;var Vt=It(this.levels,this.level);return Vt!==null&&(this.transports&&this.transports.length!==0?this.transports.findIndex(function(jt){var zt=It(Jt.levels,jt.level);return zt===null&&(zt=Vt),zt>=Zt})!==-1:Vt>=Zt)}},{key:"log",value:function(bt,Jt){for(var Zt,Vt,jt=arguments.length,zt=new Array(jt>2?jt-2:0),$t=2;$t2?new Ft({transport:bt}):bt;if(!Jt._writableState||!Jt._writableState.objectMode)throw new Error("Transports must WritableStreams in objectMode. Set { objectMode: true }.");return this._onEvent("error",Jt),this._onEvent("warn",Jt),this.pipe(Jt),bt.handleExceptions&&this.exceptions.handle(),bt.handleRejections&&this.rejections.handle(),this}},{key:"remove",value:function(bt){if(!bt)return this;var Jt=bt;return(!Qt(bt)||bt.log.length>2)&&(Jt=this.transports.filter(function(Zt){return Zt.transport===bt})[0]),Jt&&this.unpipe(Jt),this}},{key:"clear",value:function(){return this.unpipe(),this}},{key:"close",value:function(){return this.exceptions.unhandle(),this.rejections.unhandle(),this.clear(),this.emit("close"),this}},{key:"setLevels",value:function(){Ct.deprecated("setLevels")}},{key:"query",value:function(bt,Jt){typeof bt=="function"&&(Jt=bt,bt={}),bt=bt||{};var Zt={},Vt=Object.assign({},bt.query||{});st(this.transports.filter(function(jt){return!!jt.query}),function(jt,zt){(function($t,nn){bt.query&&typeof $t.formatQuery=="function"&&(bt.query=$t.formatQuery(Vt)),$t.query(bt,function(rn,Dt){if(rn)return nn(rn);typeof $t.formatResults=="function"&&(Dt=$t.formatResults(Dt,bt.format)),nn(null,Dt)})})(jt,function($t,nn){zt&&((nn=$t||nn)&&(Zt[jt.name]=nn),zt()),zt=null})},function(){return Jt(null,Zt)})}},{key:"stream",value:function(){var bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Jt=new dt,Zt=[];return Jt._streams=Zt,Jt.destroy=function(){for(var Vt=Zt.length;Vt--;)Zt[Vt].destroy()},this.transports.filter(function(Vt){return!!Vt.stream}).forEach(function(Vt){var jt=Vt.stream(bt);jt&&(Zt.push(jt),jt.on("log",function(zt){zt.transport=zt.transport||[],zt.transport.push(Vt.name),Jt.emit("log",zt)}),jt.on("error",function(zt){zt.transport=zt.transport||[],zt.transport.push(Vt.name),Jt.emit("error",zt)}))}),Jt}},{key:"startTimer",value:function(){return new yt(this)}},{key:"profile",value:function(bt){var Jt=Date.now();if(this.profilers[bt]){var Zt=this.profilers[bt];delete this.profilers[bt];for(var Vt=arguments.length,jt=new Array(Vt>1?Vt-1:0),zt=1;ztj($,et)},o.exports=s.default},function(o,s,_){var j=Object.prototype.toString;o.exports=function($){if(typeof $.displayName=="string"&&$.constructor.name)return $.displayName;if(typeof $.name=="string"&&$.name)return $.name;if(typeof $=="object"&&$.constructor&&typeof $.constructor.name=="string")return $.constructor.name;var _e=$.toString(),et=j.call($).slice(8,-1);return(_e=et==="Function"?_e.substring(_e.indexOf("(")+1,_e.indexOf(")")):et)||"anonymous"}},function(o,s,_){const j=_(13),{LEVEL:$}=_(4),_e=_(14),et=o.exports=function(tt={}){if(_e.call(this,tt),!tt.transport||typeof tt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");this.transport=tt.transport,this.level=this.level||tt.transport.level,this.handleExceptions=this.handleExceptions||tt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=(function(nt){this.emit("error",nt,this.transport)}).bind(this),this.transport.on("error",this.transport.__winstonError))};j.inherits(et,_e),et.prototype._write=function(tt,nt,rt){if(this.silent||tt.exception===!0&&!this.handleExceptions)return rt(null);(!this.level||this.levels[this.level]>=this.levels[tt[$]])&&this.transport.log(tt[$],tt.message,tt,this._nop),rt(null)},et.prototype._writev=function(tt,nt){for(let rt=0;rt{const rt=_e.configure(nt);return tt[$]=rt(tt,nt.replacer||et,nt.space),tt})},function(o,s,_){class j extends Error{constructor(_e){super(`Format functions must be synchronous taking a two arguments: (info, opts) -Found: ${_e.toString().split(` -`)[0]} -`),Error.captureStackTrace(this,j)}}o.exports=$=>{if($.length>2)throw new j($);function _e(tt={}){this.options=tt}function et(tt){return new _e(tt)}return _e.prototype.transform=$,et.Format=_e,et}},function(o,s,_){function j(et,tt){if(!(et instanceof tt))throw new TypeError("Cannot call a class as a function")}function $(et,tt){for(var nt=0;nt0&&arguments[0]!==void 0?arguments[0]:{};j(this,et),this.loggers=new Map,this.options=rt}var tt,nt;return tt=et,(nt=[{key:"add",value:function(rt,ot){var ut=this;if(!this.loggers.has(rt)){var dt=(ot=Object.assign({},ot||this.options)).transports||this.options.transports;ot.transports=dt?dt.slice():[];var Ut=_e(ot);Ut.on("close",function(){return ut._delete(rt)}),this.loggers.set(rt,Ut)}return this.loggers.get(rt)}},{key:"get",value:function(rt,ot){return this.add(rt,ot)}},{key:"has",value:function(rt){return!!this.loggers.has(rt)}},{key:"close",value:function(rt){var ot=this;if(rt)return this._removeLogger(rt);this.loggers.forEach(function(ut,dt){return ot._removeLogger(dt)})}},{key:"_removeLogger",value:function(rt){this.loggers.has(rt)&&(this.loggers.get(rt).close(),this._delete(rt))}},{key:"_delete",value:function(rt){this.loggers.delete(rt)}}])&&$(tt.prototype,nt),Object.defineProperty(tt,"prototype",{writable:!1}),et}()},function(o,s,_){(function(j){const $=_(51),_e=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/;o.exports=function(et,tt,nt,rt){let ot,ut,dt=!1,Ut=!1;const st=_(93);function ct(Qt){rt(tt,Qt)}function pt(Qt,gt){let ft=`"${tt}" ${gt}`;throw Qt&&(ft=""+ft),ut&&(ft=`${ft}. An example of a valid value would be: ${ut}`),new $(ft)}const Bt={convertFromBase64:function(){return ct("marking for base64 conversion"),dt=!0,Bt},default:function(Qt){if(typeof Qt=="number")ot=Qt.toString();else if(Array.isArray(Qt)||typeof Qt=="object"&&Qt!==null)ot=JSON.stringify(Qt);else{if(typeof Qt!="string")throw new $("values passed to default() must be of Number, String, Array, or Object type");ot=Qt}return ct(`setting default value to "${ot}"`),Bt},required:function(Qt){return Qt===void 0?(ct("marked as required"),Ut=!0):(ct("setting required flag to "+Qt),Ut=Qt),Bt},example:function(Qt){return ut=Qt,Bt}};return Object.entries({...st,...nt}).forEach(([Qt,gt])=>{Bt[Qt]=function(ft){return function(){let Ft=et[tt];if(ct(`will be read from the environment using "${ft.name}" accessor`),Ft===void 0)if(ot===void 0&&Ut)ct("was not found in the environment, but is required to be set"),pt(void 0,"is a required variable, but it was not set");else{if(ot===void 0)return void ct("was not found in the environment, but is not required. returning undefined");ct(`was not found in the environment, parsing default value "${ot}" instead`),Ft=ot}Ut&&(ct("verifying variable value is not an empty string"),Ft.trim().length===0&&pt(void 0,"is a required variable, but its value was empty")),dt&&(ct("verifying variable is a valid base64 string"),Ft.match(_e)||pt(Ft,"should be a valid base64 string if using convertFromBase64"),ct("converting from base64 to utf8 string"),Ft=j.from(Ft,"base64").toString());const yt=[Ft].concat(Array.prototype.slice.call(arguments));try{ct(`passing value "${Ft}" to "${ft.name}" accessor`);const Ct=ft.apply(ft,yt);return ct("parsed successfully, returning "+Ct),Ct}catch(Ct){pt(Ft,Ct.message)}}}(gt)}),Bt}}).call(this,_(5).Buffer)},function(o,s,_){const j=_(34);o.exports=function($,_e){return _e=_e||",",$.length?j($).split(_e).filter(Boolean):[]}},function(o,s,_){o.exports=function(j){const $=j.toLowerCase();if($!=="false"&&$!=="true")throw new Error('should be either "true", "false", "TRUE", or "FALSE"');return $!=="false"}},function(o,s,_){o.exports=function(j){const $=j.toLowerCase();if(["false","0","true","1"].indexOf($)===-1)throw new Error('should be either "true", "false", "TRUE", "FALSE", 1, or 0');return!($==="0"||$==="false")}},function(o,s,_){const j=_(94);o.exports=function($){var _e=j($);if(_e>65535)throw new Error("cannot assign a port number greater than 65535");return _e}},function(o,s,_){const j=_(34);o.exports=function($,_e){const et=j($);if(_e.indexOf(et)<0)throw new Error(`should be one of [${_e.join(", ")}]`);return et}},function(o,s,_){const j=_(53);o.exports=function($){const _e=j($);if(_e>0)throw new Error("should be a negative float");return _e}},function(o,s,_){const j=_(53);o.exports=function($){const _e=j($);if(_e<0)throw new Error("should be a positive float");return _e}},function(o,s,_){const j=_(52);o.exports=function($){const _e=j($);if(_e>0)throw new Error("should be a negative integer");return _e}},function(o,s,_){const j=_(54);o.exports=function($){var _e=j($);if(!Array.isArray(_e))throw new Error("should be a parseable JSON Array");return _e}},function(o,s,_){const j=_(54);o.exports=function($){var _e=j($);if(Array.isArray(_e))throw new Error("should be a parseable JSON Object");return _e}},function(o,s,_){o.exports=function(j,$){try{RegExp(void 0,$)}catch{throw new Error("invalid regexp flags")}try{return new RegExp(j,$)}catch{throw new Error("should be a valid regexp")}}},function(o,s,_){const j=_(95);o.exports=function($){return j($).toString()}},function(o,s,_){const j=_(34),$=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021\u0023-\u005b\u005d-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021-\u005a\u0053-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])+)\])$/;o.exports=function(_e){const et=j(_e);if(!$.test(et))throw new Error("should be a valid email address");return et}},function(o,s,_){o.exports=function(j,$){return function(_e,et){$&&$.match(/prod|production/)||j(`env-var (${_e}): ${et}`)}}},function(o,s,_){(function(j){(function(){var $,_e,et,tt,nt,rt;typeof performance<"u"&&performance!==null&&performance.now?o.exports=function(){return performance.now()}:j!=null&&j.hrtime?(o.exports=function(){return($()-nt)/1e6},_e=j.hrtime,tt=($=function(){var ot;return 1e9*(ot=_e())[0]+ot[1]})(),rt=1e9*j.uptime(),nt=tt-rt):Date.now?(o.exports=function(){return Date.now()-et},et=Date.now()):(o.exports=function(){return new Date().getTime()-et},et=new Date().getTime())}).call(this)}).call(this,_(2))},function(o,s,_){(function(j){(function($){function _e(tt){if((tt=tt===void 0?"utf-8":tt)!=="utf-8")throw new RangeError("Failed to construct 'TextEncoder': The encoding label provided ('"+tt+"') is invalid.")}function et(tt,nt){if(nt=nt===void 0?{fatal:!1}:nt,(tt=tt===void 0?"utf-8":tt)!=="utf-8")throw new RangeError("Failed to construct 'TextDecoder': The encoding label provided ('"+tt+"') is invalid.");if(nt.fatal)throw Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}if($.TextEncoder&&$.TextDecoder)return!1;Object.defineProperty(_e.prototype,"encoding",{value:"utf-8"}),_e.prototype.encode=function(tt,nt){if((nt=nt===void 0?{stream:!1}:nt).stream)throw Error("Failed to encode: the 'stream' option is unsupported.");nt=0;for(var rt=tt.length,ot=0,ut=Math.max(32,rt+(rt>>1)+7),dt=new Uint8Array(ut>>3<<3);nt=Ut){if(nt=Ut)continue}if(ot+4>dt.length&&(ut+=8,ut=(ut*=1+nt/tt.length*2)>>3<<3,(st=new Uint8Array(ut)).set(dt),dt=st),(4294967168&Ut)==0)dt[ot++]=Ut;else{if(!(4294965248&Ut))dt[ot++]=Ut>>6&31|192;else if(!(4294901760&Ut))dt[ot++]=Ut>>12&15|224,dt[ot++]=Ut>>6&63|128;else{if(4292870144&Ut)continue;dt[ot++]=Ut>>18&7|240,dt[ot++]=Ut>>12&63|128,dt[ot++]=Ut>>6&63|128}dt[ot++]=63&Ut|128}}return dt.slice(0,ot)},Object.defineProperty(et.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(et.prototype,"fatal",{value:!1}),Object.defineProperty(et.prototype,"ignoreBOM",{value:!1}),et.prototype.decode=function(tt,nt){if((nt=nt===void 0?{stream:!1}:nt).stream)throw Error("Failed to decode: the 'stream' option is unsupported.");nt=0;for(var rt=(tt=new Uint8Array(tt)).length,ot=[];nt>>10&1023|55296),ut=56320|1023&ut),ot.push(ut))}return String.fromCharCode.apply(null,ot)},$.TextEncoder=_e,$.TextDecoder=et})(typeof window<"u"?window:j!==void 0?j:this)}).call(this,_(6))},function(o,s,_){_.r(s),_.d(s,"AuthClient",function(){return _e}),_.d(s,"RtcSignalingClient",function(){return tt}),_.d(s,"Credentials",function(){return _t}),_.d(s,"SignalingPromiseClient",function(){return Wt.SignalingPromiseClient}),_.d(s,"RtcClient",function(){return $r}),_.d(s,"RtcClientV1",function(){return Qs}),_.d(s,"createRtcStreamMessage",function(){return co});var j=_(26),$=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class _e extends j.a{adminSignup(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/admin-signup",{token:Lt,method:"POST",body:At})})}login(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/login",{method:"POST",body:At,allowUnsafeRetries:!0})})}loginWithGoogleToken(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/login-google",{method:"POST",body:At,allowUnsafeRetries:!0})})}refresh(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/refresh",{method:"POST",body:{refreshToken:At,tokenExpirationSeconds:Lt},allowUnsafeRetries:!0})})}respondToNewPasswordRequiredChallenge(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/respond-to-new-password-required-challenge",{method:"POST",body:At})})}forgotPassword(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/forgot-password",{method:"POST",body:{email:At}})})}confirmForgotPassword(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/confirm-forgot-password",{method:"POST",body:At})})}resendInvitation(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/resend-invitation",{method:"POST",body:{email:At}})})}changePassword({token:At,refreshToken:Lt,currentPassword:qt,newPassword:ln}){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/change-password",{token:At,method:"POST",body:{refreshToken:Lt,currentPassword:qt,newPassword:ln}})})}getDeviceCredentials(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/device-credentials",{token:At,method:"POST",allowUnsafeRetries:!0})})}impersonate(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/impersonate",{token:At,method:"POST",allowUnsafeRetries:!0,body:{userId:Lt}})})}createServiceAccount(At,Lt,qt,ln){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/service-account",{token:At,method:"POST",allowUnsafeRetries:!0,body:{name:Lt,roleId:qt,tags:ln}})})}getFeatures(At){return $(this,void 0,void 0,function*(){return(yield this.fetch("auth/features",{token:At})).features})}checkSso(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/check-sso",{method:"POST",body:{email:At,allowUserAutoCreation:Lt}})})}loginWithSso(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/login-sso",{method:"POST",body:{token:At,refreshToken:Lt}})})}}var et=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class tt extends j.a{createPeer(At,Lt){return et(this,void 0,void 0,function*(){return yield this.fetch("peers",{token:At,method:"POST",body:Lt})})}getPeers(At){return et(this,void 0,void 0,function*(){return(yield this.fetch("peers",{token:At})).items})}refreshPeer(At,Lt){return et(this,void 0,void 0,function*(){yield this.fetch(`peers/${Lt}/refresh`,{token:At,method:"POST",allowUnsafeRetries:!0})})}createSession(At,Lt){return et(this,void 0,void 0,function*(){return yield this.fetch("sessions",{token:At,method:"POST",body:Lt})})}refreshSession(At,Lt){return et(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Lt}/refresh`,{token:At,method:"POST",allowUnsafeRetries:!0})})}deleteSession(At,Lt){return et(this,void 0,void 0,function*(){yield this.fetch("sessions/"+Lt,{token:At,method:"DELETE",allowUnsafeRetries:!0})})}getSessions(At){return et(this,void 0,void 0,function*(){return(yield this.fetch("sessions",{token:At})).items})}getIceServers(At){return et(this,void 0,void 0,function*(){return(yield this.fetch("ice-servers",{token:At})).items})}addSignals(At,Lt,qt){return et(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Lt}/add-signals`,{token:At,method:"POST",body:qt})})}takeSignals(At,Lt){return et(this,void 0,void 0,function*(){return(yield this.fetch(`sessions/${Lt}/take-signals`,{token:At,method:"POST"})).items})}}var nt=_(1),rt=_(9),ot=_(15),ut=_.n(ot),dt=_(101),Ut=_.n(dt),st=_(3),ct=_(0),pt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class Bt extends class{constructor(At,Lt){this.type=At,this.name=Lt}}{constructor(At){super("simple","LogReporter"),this.message=At}send(At){return pt(this,void 0,void 0,function*(){var Lt,qt;ct.a.debug(this.message,(Lt=At.reduce((ln,Un)=>Object.assign(Object.assign({},ln),{[Un.name]:Un.stat}),{}),qt=ln=>{const{sum:Un,count:hn}=ln,bn=Un/hn;return Object.assign(Object.assign({},ln),{average:bn})},Object.keys(Lt).reduce((ln,Un)=>Object.assign(Object.assign({},ln),{[Un]:qt(Lt[Un])}),{})))})}}const Qt=/^[a-zA-Z0-9-_.,:?'"()@\/\\#$+ ]{1,255}$/,gt=/^[*a-zA-Z0-9-_.,:?'"()@\/\\#$+ ]{1,255}$/;function ft(Jn,At=!1){return!!(Jn!=null&&Jn.match(At?gt:Qt))}var Ft=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};function yt({func:Jn,delay:At,immediate:Lt=!1}){let qt=!1,ln=setTimeout(function hn(){return Ft(this,void 0,void 0,function*(){if(qt)return;const bn=new Date().getTime();try{Un=Jn(),yield Un}finally{if(!qt){const Vn=new Date().getTime();ln=setTimeout(hn,Math.max(At-(Vn-bn),0))}}})},Lt?0:At),Un=Promise.resolve();return{stop(){return Ft(this,void 0,void 0,function*(){qt=!0,clearTimeout(ln),yield Un})}}}var Ct=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};const xt=_(231);class ht{constructor(At){this.buffer={},this.reporters=[],this.flushInterval=yt({func:()=>this.flushStats(),delay:ht.samplePeriodMs}),this.tags=this.filterTags((At==null?void 0:At.tags)||{app:st.a,version:st.k,namespace:st.j})}shutdown(){return Ct(this,void 0,void 0,function*(){yield this.flushInterval.stop(),yield this.flushStats(),yield Object(rt.a)(2*nt.a.second)})}aggregate(At,Lt,qt){this.addToBuffer(this.buffer,this.encodeKey({metric:At,tags:this.filterTags(qt||{})}),typeof Lt=="number"?{min:Lt,max:Lt,sum:Lt,count:1}:Lt)}increment(At,Lt){this.aggregate(At,1,Lt)}timer(At,Lt,qt){return Ct(this,void 0,void 0,function*(){const ln=xt(),Un=yield Lt(),hn=xt();return this.aggregate(At,hn-ln,qt),Un})}registerStatsReporter(At){this.reporters.push(At)}setTag(At,Lt){const qt=this.filterTags({[At]:Lt});this.tags=Object.assign(Object.assign({},this.tags),qt)}addToBuffer(At,Lt,qt){if(At[Lt]){const{min:ln,max:Un,sum:hn,count:bn}=At[Lt];At[Lt]={min:Math.min(ln,qt.min),max:Math.max(Un,qt.max),sum:hn+qt.sum,count:bn+qt.count}}else At[Lt]=qt}write(At){return Ct(this,void 0,void 0,function*(){yield Promise.all(this.reporters.map(Lt=>Ct(this,void 0,void 0,function*(){let qt;const ln={};switch(Lt.type){case"simple":for(const[hn,bn]of Object.entries(At)){const{metric:Vn}=this.decodeKey(hn);this.addToBuffer(ln,this.encodeKey({metric:Vn}),bn)}qt=ln;break;case"tagged":qt=At;break;default:(function(hn){throw new Error(`Unreachable type encountered (${hn})`)})(Lt.type)}const Un=Object.entries(qt);if(Un.length>0)return Lt.send(Un.map(([hn,bn])=>{const{metric:Vn,tags:Qn}=this.decodeKey(hn);return{name:Vn,tags:Object.assign(Object.assign({},Qn),this.tags),stat:bn}}),ht.samplePeriodMs).catch(hn=>{ct.a.debug("Failed to write stats to "+Lt.name,{error:hn})})})))})}flushStats(){return Ct(this,void 0,void 0,function*(){yield this.write(this.buffer),this.buffer={}})}encodeKey(At){return ut()(Object.assign(Object.assign({},At),Object.keys(At.tags||{}).length>0?{tags:At.tags}:{}))}decodeKey(At){return JSON.parse(At)}filterTags(At){return Object.entries(At||{}).reduce((Lt,[qt,ln])=>(ft(qt)&&ft(ln)&&(Lt[qt]=ln),Lt),{})}}ht.samplePeriodMs=5*nt.a.minute;const mt=!!st.d,It=new ht;mt||["local","on-prem"].includes(st.j)||It.registerStatsReporter(new Bt("stats"));var vt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class Tt extends class{constructor(At){this.options=At,this.cache=new Ut.a(Object.assign(Object.assign(Object.assign({},At.dispose||At.disposeAfter?{ttlAutopurge:!0}:{}),At),{dispose:(...Lt)=>{var qt;Lt[2]==="evict"&&It.increment("lru-eviction",{name:At.name}),(qt=At.dispose)===null||qt===void 0||qt.call(At,...Lt)},disposeAfter:(...Lt)=>{var qt;this.updateStats(),(qt=At.disposeAfter)===null||qt===void 0||qt.call(At,...Lt)}})),this.stringify=At.fastStringify?JSON.stringify:ut.a}set(At,Lt,qt){const ln=this.stringify(At);if(!this.cache.set(ln,Lt,{ttl:qt})){const Un=this.cache.sizeCalculation?this.cache.sizeCalculation(Lt,ln):"unknown";throw Error(`Value too large (${Un} > ${this.cache.max})`)}this.updateStats()}get(At){const{name:Lt}=this.options,qt=this.stringify(At),ln=this.cache.getRemainingTTL(qt);return ln<=0?It.increment("cache-miss",{name:Lt}):ln!==1/0&&It.aggregate("cache-item-ttl",ln,{name:Lt}),this.cache.get(qt)}delete(At){this.cache.delete(this.stringify(At))}peek(At){return this.cache.peek(this.stringify(At))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(At){this.cache.forEach(At)}purgeStale(){return this.cache.purgeStale()}updateStats(){const{name:At}=this.options;It.aggregate("cache-item-count",this.cache.size,{name:At}),this.cache.calculatedSize!==void 0&&It.aggregate("cache-length",this.cache.calculatedSize,{name:At})}}{constructor(At){if(super(At),this.expireRejectedPromiseValues=At.expireRejectedPromiseValues===void 0||At.expireRejectedPromiseValues,this.rejectedPromiseValueTtl=At.rejectedPromiseValueTtl!==void 0?At.rejectedPromiseValueTtl:nt.a.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(At,Lt,qt){super.set(At,Lt,qt),this.expireRejectedPromiseValues&&Lt.catch(()=>vt(this,void 0,void 0,function*(){yield Object(rt.a)(this.rejectedPromiseValueTtl),this.peek(At)===Lt&&this.delete(At)}))}}var Ot=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class _t{constructor(At,Lt,qt){this.authClient=At,this.email=Lt,this.password=qt,this.tokenTtlMs=1*nt.a.hour,this.tokenCache=new Tt({name:"Credentials-tokenCache",max:100,ttl:this.tokenTtlMs-5*nt.a.minute,fastStringify:!0})}getToken(){return Ot(this,void 0,void 0,function*(){let At=this.tokenCache.get(this.email);return At||(At=(()=>Ot(this,void 0,void 0,function*(){const{authentication:Lt}=yield this.authClient.login({email:this.email,password:this.password,tokenExpirationSeconds:this.tokenTtlMs/nt.a.second});if(!Lt)throw new Error("User account not verified.");return Lt.accessToken}))(),this.tokenCache.set(this.email,At)),At})}}var Wt=_(96),bt=_(17),Jt=_(236),Zt=_(41),Vt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class jt extends Zt.a{constructor(At){super(At)}postLanRtcOffer(At){return Vt(this,void 0,void 0,function*(){return yield this.fetch("v1/lan-rtc-offer",{method:"POST",body:At})})}}var zt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};function $t(Jn){return zt(this,void 0,void 0,function*(){return(yield Promise.all(Jn.map(At=>At.catch(Lt=>Lt)))).filter(At=>At instanceof Error)})}function nn(Jn,At){if(Jn===void 0)throw new Error("Value is undefined"+(At?": "+At:""))}function rn(Jn,At){if(Jn===null)throw new Error("Value is null"+(At?": "+At:""))}function Dt(Jn){return nn(Jn),Jn}function wt(Jn,At){const Lt=Jn.reduce((qt,ln)=>[...qt,...ln.urls],[]).filter(qt=>Et(qt,At)).sort(qt=>kt(qt,"udp")?-1:0).shift();if(Lt)return Object.assign(Object.assign({},Dt(Jn.find(qt=>qt.urls.includes(Lt)))),{urls:[Lt]})}function Et(Jn,At){switch(At){case"stun":return/^stuns?:/.test(Jn);case"turn":return/^turns?:/.test(Jn)}}function kt(Jn,At){return Jn.endsWith("transport="+At)}var Pt=_(10);class Kt extends Error{constructor(At,Lt){super(`Deadline expired after ${At}ms + ${Lt}ms`)}}class Ht{static withDeadline(At,Lt){const qt=new Promise((ln,Un)=>{setTimeout(()=>{Un(new Kt(Lt,this.grpcCallDeadlineSlopMs))},Lt+this.grpcCallDeadlineSlopMs)});return Promise.race([At,qt])}}Ht.grpcCallDeadlineSlopMs=500*nt.a.millisecond;var on=_(27);const sn={ordered:!1,maxPacketLifeTime:300*nt.a.millisecond},gn={ordered:!0},Cn={ordered:!0},In={ordered:!1,maxRetransmits:0},Mn={ordered:!1,maxRetransmits:0},rr=Jn=>"received"in Jn&&Jn.received!==void 0,An=Jn=>!("received"in Jn)||Jn.received===void 0,Dn=2*nt.a.second,Hn=10*nt.a.second;function Fr(Jn,At={}){const Lt=Array.from(Jn.values()),qt=Lt.filter(rr),ln=qt.length>0,Un=Math.max(...Lt.map(Fn=>Fn.sent)),hn=Math.max(...qt.map(Fn=>Fn.received));let bn;if(ln){const Fn=Date.now()-Un<=nt.a.millisecond?Lt.length-1:Lt.length,xn=qt.length>Fn?Fn:qt.length,Kn=qt.map(Rr=>Rr.received-Rr.sent),{standardDeviation:Ur,mean:Nr,jitter:Ir}=function(Rr){const vr=Rr.length;if(vr===0)return{mean:NaN,standardDeviation:-1,jitter:NaN};const Zr=Rr.reduce((Lr,_i)=>Lr+_i,0)/vr,Dr=Math.sqrt(Rr.map(Lr=>Math.pow(Lr-Zr,2)).reduce((Lr,_i)=>Lr+_i)/vr);if(vr===1)return{mean:Zr,standardDeviation:Dr,jitter:NaN};let zo=0;for(let Lr=1;LrRr.sent{const[xn,Kn]=Fn;Kn.sent{var Un,hn;return{streamId:ln,sentCount:(Un=Lt.get(ln))!==null&&Un!==void 0?Un:0,receivedCount:(hn=qt.get(ln))!==null&&hn!==void 0?hn:0}}),timestamp:At}}incrementLocalSent(At){const{localSent:Lt}=this.counts,qt=hr(At.header.stream);Lt.set(qt,(Lt.get(qt)||0)+1)}incrementLocalReceived(At){const{localReceived:Lt}=this.counts,qt=hr(At.header.stream),ln=Lt.get(qt)||0;if(ln===0){const{streamName:Un,streamType:hn}=At.header.stream;ct.a.debug("RTC client received first message for stream",{streamName:Un,streamType:hn})}Lt.set(qt,ln+1)}uploadMetrics(){return Gr(this,void 0,void 0,function*(){const{sessionId:At}=this,Lt=yield this.connection.peerConnection.getStats(),qt={};Lt.forEach(Qn=>qt[Qn.id]=Qn),ct.a.debug("rtc-stats",Object.assign(Object.assign({},qt),{sessionId:At}));const{localSent:ln,localReceived:Un,remoteSent:hn,remoteReceived:bn}=this.counts,Vn=[...new Set([...ln.keys(),...Un.keys()])].reduce((Qn,Fn)=>{const xn=ln.get(Fn),Kn=Un.get(Fn),Ur=hn.get(Fn),Nr=bn.get(Fn);return Object.assign(Object.assign({},Qn),{[`local-${Fn}-sent`]:xn,[`local-${Fn}-received`]:Kn,[`remote-${Fn}-sent`]:Ur,[`remote-${Fn}-received`]:Nr})},{sessionId:At});ct.a.debug("rtc-message-report",Object.assign({deviceId:this.connection.getRemoteDeviceId()},Vn))})}}function co(Jn,At,Lt){return{header:{stream:Jn,created:Date.now(),frameId:Lt||""},payload:At}}function Jr(Jn){const At=Jn.localCandidate.candidateType,Lt=Jn.remoteCandidate.candidateType;return At==="host"&&Lt==="host"?"local":At==="relay"||Lt==="relay"?"TURN":"STUN"}function xr(Jn){return new Set(["disconnected","failed","closed"]).has(Jn.iceConnectionState)}function ro(Jn){switch(Jn.header.stream.streamType){case"twist":{const{twist:At}=Jn.payload;if(!At)throw Error("twist not in payload of RTC message with type twist");return{header:Jn.header,payload:{twist:{linear:Object.assign({x:0,y:0,z:0},At.linear),angular:Object.assign({x:0,y:0,z:0},At.angular)}}}}case"pose":{const{pose:At}=Jn.payload;if(!At)throw Error("pose not in payload of RTC message with type pose");return{header:Jn.header,payload:{pose:{translation:Object.assign({x:0,y:0,z:0},At.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},At.rotation)}}}}case"pose-with-covariance":{const{poseWithCovariance:At}=Jn.payload;if(!At)throw Error("poseWithCovariance not in payload of RTC message with type pose-with-covariance");const Lt=new Array(36).fill(0);return At.covariance.forEach((qt,ln)=>{if(ln>=36)throw Error("covariance contains more than 36 elements");Lt[ln]=qt}),{header:Jn.header,payload:{poseWithCovariance:{pose:{translation:Object.assign({x:0,y:0,z:0},At.pose.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},At.pose.rotation)},covariance:Lt}}}}case"point":{const{point:At}=Jn.payload;if(!At)throw Error("point not in payload of RTC message with type point");return{header:Jn.header,payload:{point:Object.assign({x:0,y:0,z:0},At)}}}default:return Jn}}var er=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class sr{get peerConnection(){return rn(this._peerConnection,"RTCPeerConnection is closed!"),this._peerConnection}constructor(At,Lt,qt,ln){this.iceServers=Lt,this.config=qt,this.dataChannelNotifier=ln,this.connectTimeoutMs=20*nt.a.second,this.iceGatheringTimeoutMs=3*nt.a.second,this.pingUpdateTimeoutMs=1*nt.a.second,this.pingV2UpdateTimeoutMs=250*nt.a.millisecond,this.pingV2MetricsGatherTimeoutMs=1*nt.a.second,this.streamsInfoUpdateTimeoutMs=2*nt.a.second,this.reassemblyTimeoutMs=500*nt.a.millisecond,this.reassemblyTableCleanupMs=1*nt.a.second,this.heartbeatTimeoutMs=20*nt.a.millisecond,this._peerConnection=null,this.heartbeatChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.streamLatestTimestamp=new Map,this.reassemblyTable=new Map,this.reassemblyTableLastTimestamp=new Map,this.closeCalled=!1,this.gotOffer=!1,this.hasIceCandidate=!1,this.pingV2Map=new Map,this.sendPingV2=()=>{const{latestTryOnceStreamChannel:hn}=this;if(!hn)return;const bn=new Date().getTime(),Vn=Object(Jt.a)();this.sendSystemMessage(hn,{type:"ping-v2",payload:{timestamp:bn,id:Vn}}),this.pingV2Map.set(Vn,{sent:bn})},this.gatherPingV2Metrics=()=>{const hn=Fr(this.pingV2Map);if(hn){const bn=this.getRemoteDeviceId();this.pingInfo=hn,It.aggregate("rtc-ping-average",hn.average,Object.assign({},bn?{deviceId:bn}:{})),It.aggregate("rtc-ping-loss",hn.loss,Object.assign({},bn?{deviceId:bn}:{})),It.aggregate("rtc-jitter",hn.jitter,Object.assign({},bn?{deviceId:bn}:{}))}},this._peerConnection=At;const{isOffer:Un}=qt.baseConfig;Un?this.initializeChannels(At):At.ondatachannel=hn=>{switch(hn.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=hn.channel;break;case"stream.reliable":this.reliableStreamChannel=hn.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=hn.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=hn.channel;break;case"heartbeat":return void(this.heartbeatChannel=hn.channel);default:return void this.dataChannelNotifier(hn.channel)}this.setupChannel(hn.channel)},this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:hn}=this;hn&&this.sendSystemMessage(hn,{type:"ping"})},this.pingUpdateTimeoutMs),this.pingV2UpdateTimeout=setInterval(this.sendPingV2,this.pingV2UpdateTimeoutMs),this.pingV2MetricsGatherTimeout=setInterval(this.gatherPingV2Metrics,this.pingV2MetricsGatherTimeoutMs),this.streamsInfoUpdateTimeout=setInterval(()=>{const{latestTtlStreamChannel:hn}=this;hn&&this.sendSystemMessage(hn,{type:"streams-info"})},this.streamsInfoUpdateTimeoutMs),this.reassemblyTableCleanupTimeout=setInterval(()=>{const hn=new Date().getTime();this.reassemblyTableLastTimestamp.forEach((bn,Vn,Qn)=>{hn>Vn+this.reassemblyTimeoutMs&&this.reassemblyTable.delete(bn)})},this.reassemblyTableCleanupMs),this.heartbeatTimeout=setInterval(()=>{const{heartbeatChannel:hn}=this;hn&&hn.readyState==="open"&&hn.send(new Uint8Array([1]))},this.heartbeatTimeoutMs)}handleSignal(At){return er(this,void 0,void 0,function*(){const{peerConnection:Lt}=this,{track:qt}=this.config.baseConfig,ln=(()=>{try{return JSON.parse(At.getPayload())}catch{return}})();if(!ln)return void ct.a.error("Received unparseable signal.");ct.a.debug("Handling signal",{description:ln});const{sdp:Un,type:hn}=ln;if(!Un||!hn)return void ct.a.warn("Received non-SDP signal");const{signalingState:bn,connectionState:Vn}=Lt;if(bn!=="stable"||Vn!=="connected")if(Lt.remoteDescription)ct.a.warn("Received SDP after remote description was set: "+Un);else{if(hn==="offer"){if(bn!=="stable")return void ct.a.warn("Received offer SDP when signaling is ongoing.");yield Lt.setRemoteDescription(ln);const Qn=yield Lt.createAnswer();yield Lt.setLocalDescription(Qn);const Fn=At.clone();return qt==null||qt("Answer Received",Fn),Fn.setPayload(JSON.stringify(Qn)),Fn.setReceiverId(At.getSenderId()),Fn.setSenderId(At.getReceiverId()),Fn}if(hn==="answer"){if(bn==="stable")return void ct.a.warn("Received answer SDP when signaling hasn't started.");yield Lt.setRemoteDescription(ln)}}else ct.a.warn("Received SDP when already connected: "+Un)})}send(At,Lt){const qt=this.getChannelFromLabel(Lt.channelLabel);qt?this.sendOnChannel(qt,At):ct.a.warn("Send called with unexpected channel label",{channelLabel:Lt.channelLabel})}controlRemoteStream(At){var Lt;this.sendSystemMessage((rn(Lt=this.reliableStreamChannel),Lt),{type:"stream-control",streamControl:At})}isActive(){return new Set(["new","checking","connected","completed"]).has(this.peerConnection.iceConnectionState)||this.isReady()}isReady(){const{reliableStreamChannel:At,latestTtlStreamChannel:Lt,latestTryOnceStreamChannel:qt,latestReliableStreamChannel:ln}=this;return(At==null?void 0:At.readyState)==="open"&&(Lt==null?void 0:Lt.readyState)==="open"&&(qt==null?void 0:qt.readyState)==="open"&&(ln==null?void 0:ln.readyState)==="open"}close(){var At,Lt,qt,ln,Un,hn,bn;return er(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield(At=this.sessionMetrics)===null||At===void 0?void 0:At.uploadMetrics(),Xn(this.pingUpdateTimeout),Xn(this.pingV2UpdateTimeout),Xn(this.pingV2MetricsGatherTimeout),Xn(this.reassemblyTableCleanupTimeout),Xn(this.streamsInfoUpdateTimeout),Xn(this.heartbeatTimeout),(Lt=this._peerConnection)===null||Lt===void 0||Lt.close(),(qt=this.heartbeatChannel)===null||qt===void 0||qt.close(),(ln=this.latestReliableStreamChannel)===null||ln===void 0||ln.close(),(Un=this.latestTryOnceStreamChannel)===null||Un===void 0||Un.close(),(hn=this.latestTtlStreamChannel)===null||hn===void 0||hn.close(),(bn=this.reliableStreamChannel)===null||bn===void 0||bn.close(),this._peerConnection=null,this.heartbeatChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null)})}getPing(){return this.pingTimeMs}getPingInfo(){return this.pingInfo}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionCreatedTimestamp(){var At;return(At=this.config.remoteConfig)===null||At===void 0?void 0:At.sessionCreatedTimestamp}setSessionCreatedTimestamp(At){this.config.remoteConfig&&(this.config.remoteConfig.sessionCreatedTimestamp=At)}getSessionId(){var At;return(At=this.config.remoteConfig)===null||At===void 0?void 0:At.sessionId}setSessionId(At){this.config.remoteConfig&&(this.config.remoteConfig.sessionId=At,this.sessionMetrics=new Co(At,this))}getRemotePeerId(){return this.config.baseConfig.remotePeerId}getRemoteDeviceId(){var At;return(At=this.config.baseConfig)===null||At===void 0?void 0:At.remoteDeviceId}setRemoteDeviceId(At){this.config.baseConfig.remoteDeviceId=At}getSessionMetricsMessageCounts(){var At;return(At=this.sessionMetrics)===null||At===void 0?void 0:At.counts}getConnectionStatsInfo(){return er(this,void 0,void 0,function*(){const{peerConnection:At}=this;if(!At)return;const Lt=yield At.getStats(null),qt=[];Lt.forEach(Vn=>{qt.push(Vn)});const ln=qt.find(Vn=>Vn.type==="transport");if(!ln)return;const Un=qt.find(Vn=>(Vn.type==="candidate-pair"||Vn.type==="candidatepair")&&Vn.id===ln.selectedCandidatePairId);if(!Un)return;const hn=qt.find(Vn=>Vn.id===Un.localCandidateId),bn=qt.find(Vn=>Vn.id===Un.remoteCandidateId);return hn&&bn&&(hn.address=hn.address||hn.ip,bn.address=bn.address||bn.ip,hn.address!==void 0&&bn.address!==void 0)?{transport:ln,localCandidate:hn,remoteCandidate:bn,candidatePair:Un}:void 0})}initializeChannels(At){this.heartbeatChannel=At.createDataChannel("heartbeat",Mn),this.heartbeatChannel.binaryType="arraybuffer",this.latestTtlStreamChannel=At.createDataChannel("stream.latest-ttl",sn),this.latestTtlStreamChannel.binaryType="arraybuffer",this.reliableStreamChannel=At.createDataChannel("stream.reliable",gn),this.reliableStreamChannel.binaryType="arraybuffer",this.latestReliableStreamChannel=At.createDataChannel("stream.latest-reliable",Cn),this.latestReliableStreamChannel.binaryType="arraybuffer",this.latestTryOnceStreamChannel=At.createDataChannel("stream.latest-try-once",In),this.latestTryOnceStreamChannel.binaryType="arraybuffer",this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}getOffer(){var At,Lt;return er(this,void 0,void 0,function*(){const{gotOffer:qt}=this,{peerConnection:ln,config:Un}=this;if(this.config.baseConfig.isLan)throw new Error('"getOffer" method can only be called with internet connections. LAN connections should call the "getLanOffer" method.');const hn=(At=this.config.remoteConfig)===null||At===void 0?void 0:At.sessionId;if(qt)return void ct.a.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,xr(this.peerConnection))return void ct.a.debug("Failed to generate offer because the peer connection was inactive.");const bn=Un.baseConfig.track;ln.onicecandidate=()=>{this.hasIceCandidate=!0},ln.oniceconnectionstatechange=()=>er(this,void 0,void 0,function*(){const Ur=ln.iceConnectionState;if(Ur==="connected"||Ur==="completed"){const Nr=yield this.getConnectionStatsInfo(),Ir=Nr?Jr(Nr):void 0;ct.a.info("ICE connection state changed to "+Ur,{sessionId:hn,connectionStatsInfo:Nr,iceMode:Ir}),bn==null||bn("ICE connection state change",{iceConnectionState:Ur,sessionId:hn,connectionStatsInfo:Nr,iceMode:Ir})}}),yield ln.setLocalDescription(yield ln.createOffer());const Vn=ln.getConfiguration?ln.getConfiguration().iceTransportPolicy:"all",Qn=new Date().getTime();for(;;){const Ur=new Date().getTime()-Qn;if(Ur>this.connectTimeoutMs)return void ct.a.debug("Failed to generate offer because ICE gathering timed out.");if(Ur>this.iceGatheringTimeoutMs&&this.hasIceCandidate){ct.a.debug("ICE gathering partially completed; proceeding",{iceTransportPolicy:Vn,waitTime:Ur}),bn==null||bn("ICE gathering partially completed",{sessionId:hn,iceTransportPolicy:Vn,waitTime:Ur});break}if(ln.iceGatheringState==="complete"){ct.a.debug("ICE gathering complete",{iceTransportPolicy:Vn,waitTime:Ur}),bn==null||bn("ICE gathering completed",{sessionId:hn,iceTransportPolicy:Vn,waitTime:Ur});break}yield Object(rt.a)(.1*nt.a.second)}const Fn=(Lt=this.iceServers)!==null&&Lt!==void 0?Lt:[];for(const Ur of Fn)"credentialType"in Ur&&(Ur.credentialType=void 0);const xn=JSON.stringify(Fn),Kn=new Pt.Signal;return Kn.setPayload(JSON.stringify(ln.localDescription)),Kn.setSenderId(this.config.baseConfig.localPeerId),Kn.setReceiverId(this.config.baseConfig.remotePeerId),Kn.setIceServers(xn),Kn.setIceTransportPolicy(Vn??"all"),this.config.baseConfig.sessionType!==void 0?Kn.setSessionType(this.config.baseConfig.sessionType):Kn.setSessionType(Pt.SessionType.TELEOP),ct.a.debug("Sending offer signal with description",{description:Kn.getPayload()}),Kn})}getLanOffer(){return er(this,void 0,void 0,function*(){const{peerConnection:At,gotOffer:Lt}=this;if(!this.config.baseConfig.isLan)throw new Error('"getLanOffer" method can only be used with LAN connections. Internet connections should call the "getOffer" method.');if(Lt)return void ct.a.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,xr(this.peerConnection))return void ct.a.debug("Failed to generate offer because the peer connection was inactive.");yield At.setLocalDescription(yield At.createOffer());const qt=new Date().getTime();for(;;){if(new Date().getTime()-qt>this.iceGatheringTimeoutMs)return void ct.a.debug("Failed to generate offer because ICE gathering timed out.");if(At.iceGatheringState==="complete")break;yield Object(rt.a)(.1*nt.a.second)}const ln=At.localDescription;if(ln)return ct.a.debug("Sending LAN offer signal with description",{description:ln}),ln;ct.a.error("Failed to generate LAN offer description")})}handleLanAnswer(At){return er(this,void 0,void 0,function*(){const{peerConnection:Lt}=this;if(!this.config.baseConfig.isLan)throw new Error('"handleLanAnswer" method can only be used with LAN connections. Internet connections should call the "handleSignal" method.');yield Lt.setRemoteDescription(At)})}getChannelFromLabel(At){switch(At){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(At,Lt){var qt;let ln;try{ln=Object(on.encode)(JSON.stringify(Lt))}catch(Un){return void ct.a.warn("Failed to encode RTC message",{error:Un})}try{At.send(ln),(qt=this.sessionMetrics)===null||qt===void 0||qt.incrementLocalSent(Lt)}catch(Un){ct.a.warn("Failed to send message to channel",{error:Un,channel:At.label})}}channelNotRecognized(At){return At!==this.latestTtlStreamChannel&&At!==this.latestReliableStreamChannel&&At!==this.latestTryOnceStreamChannel&&At!==this.reliableStreamChannel}setupChannel(At){At.onmessage=Lt=>{if(this.channelNotRecognized(At))return void ct.a.warn("Received message on unrecognized data channel.");let qt;try{qt=JSON.parse(Object(on.decode)(Lt.data))}catch(ln){return void ct.a.warn("Received unparseable message on RTC stream data channel",{error:ln,channel:At.label})}qt.communicationType==="message-chunk"?this.receiveChannelMessageChunk(At,qt):this.receiveChannelMessage(At,qt)},At.onerror=Lt=>{ct.a.warn("Channel error: "+Lt.error,{error:Lt.error,sessionId:this.getSessionId(),channelLabel:At.label})},At.onopen=()=>{ct.a.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:At.label})},At.onclose=()=>{const Lt={bufferedAmount:At.bufferedAmount,sessionId:this.getSessionId(),channelLabel:At.label};this.closeCalled===!1?ct.a.debug("Unexpected channel closed",Lt):ct.a.debug("Channel closed",Lt)}}receiveChannelMessage(At,Lt){var qt;const{config:ln}=this,{remotePeerId:Un}=this.config.baseConfig;this.lastMessageTimestamp=new Date().getTime(),Lt=ro(Lt),(qt=this.sessionMetrics)===null||qt===void 0||qt.incrementLocalReceived(Lt),!this.handleSystemMessage(At,Lt)&&((At===this.latestTryOnceStreamChannel||At===this.latestTtlStreamChannel||At===this.latestReliableStreamChannel)&&!this.isLatestMessage(Lt)||ln.baseConfig.receive(Un,Lt))}receiveChannelMessageChunk(At,Lt){const qt=this.reassemblyTable.get(Lt.id)||[];if(qt.push(Lt),qt.length===Lt.total){const ln=function(Un){const hn=Un.sort((bn,Vn)=>bn.seqbn.part).reduce((bn,Vn)=>bn+Vn);try{return JSON.parse(hn)}catch{return void ct.a.warn("Could not reassemble RTC message chunks")}}(qt);return ln&&this.receiveChannelMessage(At,ln),void this.reassemblyTable.delete(Lt.id)}this.reassemblyTable.set(Lt.id,qt),this.reassemblyTableLastTimestamp.set(Lt.id,new Date().getTime())}handleSystemMessage(At,Lt){var qt,ln;const{config:Un}=this,{baseConfig:hn}=Un,{remotePeerId:bn,remoteDeviceId:Vn}=hn;switch(Lt.header.stream.streamType){case"ping":return this.sendSystemMessage(At,{type:"pong",timestamp:Dt(Lt.payload.ping)}),!0;case"pong":{const Qn=new Date().getTime()-Dt(Lt.payload.pong);return this.pingTimeMs=Qn,It.aggregate("rtc-ping-time",Qn,Object.assign({},Vn?{deviceId:Vn}:{})),!0}case"ping-v2":return this.sendPingV2(),!0;case"pong-v2":{const Qn=Dt(Lt.payload.pongV2),Fn=this.pingV2Map.get(Qn.id);return(Fn==null?void 0:Fn.sent)!==Qn.timestamp&&ct.a.warn("Pong timestamp doesn't match stored value",{currentEntry:Fn,pong:Qn}),this.pingV2Map.set(Qn.id,{sent:Qn.timestamp,received:new Date().getTime()}),!0}case"streams-info":{const{sessionMetrics:Qn}=this,Fn=(qt=Lt.payload.streamsInfo)===null||qt===void 0?void 0:qt.timestamp;return!!Fn&&(Qn==null||Qn.updateRemoteMessagesCounts(Lt),(ln=hn.onStreamsInfoUpdate)===null||ln===void 0||ln.call(hn,bn,Fn),!0)}case"stream-control":return!0;default:return!1}}sendSystemMessage(At,Lt){var qt;const{localUserId:ln,localPeerId:Un}=this.config.baseConfig;if(At.readyState!=="open")return;const hn={entityId:ln??Un,streamName:"$."+Lt.type,streamType:Lt.type};let bn;switch(Lt.type){case"ping":bn={ping:new Date().getTime()};break;case"pong":bn={pong:Lt.timestamp};break;case"ping-v2":bn={pingV2:Lt.payload};break;case"pong-v2":bn={pongV2:Lt.payload};break;case"stream-control":bn={streamControl:Lt.streamControl};break;case"streams-info":bn={streamsInfo:(qt=this.sessionMetrics)===null||qt===void 0?void 0:qt.getLocalStreamsInfo(new Date().getTime())}}this.sendOnChannel(At,co(hn,bn))}isLatestMessage(At){const Lt=hr(At.header.stream),qt=(this.streamLatestTimestamp.get(Lt)||0)<=At.header.created;return qt&&this.streamLatestTimestamp.set(Lt,At.header.created),qt}}function Xn(Jn){Jn&&clearInterval(Jn)}function gr(){ct.a.debug("forceGarbageCollection() triggered"),queueMicrotask(()=>{let Jn=document.createElement("img");Jn.src=window.URL.createObjectURL(new Blob([new ArrayBuffer(5e7)])),Jn.onerror=function(){window.URL.revokeObjectURL(this.src),Jn=null}})}function Yr(Jn){try{return Jn instanceof Error?`${Jn.name}: ${Jn.message}`:typeof Jn=="object"?JSON.stringify(Jn):String(Jn)}catch{return"Unknown error"}}function Wr(Jn){var At,Lt;return{userId:(At=Jn.getUserId())===null||At===void 0?void 0:At.getValue(),deviceId:(Lt=Jn.getDeviceId())===null||Lt===void 0?void 0:Lt.getValue(),organizationId:Jn.getOrganizationId(),id:Jn.getPeerId(),capabilities:[],capabilitySet:{}}}var Pn=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};const Yn=Jn=>Jn.map(At=>Object.assign(Object.assign(Object.assign({},At),At.username?{username:""}:null),At.credential?{credential:""}:null));class $r{constructor(At){this.config=At,this.grpcCallDeadline=5*nt.a.second,this.refreshIntervalDelayMs=2*nt.a.second,this.iceServersTtl=30*nt.a.minute,this.connections=[],this.localConnections=[],this.isConnectionInitiator=new WeakSet,this.isOutgoingConnection=new Set,this.peerDataChannelListeners=[],this.rtcInstancesConstructed=0,this.statsLoopsExecuted=0;const{refreshIntervalDelayMs:Lt}=this;this.refreshInterval=yt({func:()=>Pn(this,void 0,void 0,function*(){try{yield this.update()}catch(qt){ct.a.warn("RTC refresh failed",{error:qt})}}),delay:Lt,immediate:!0})}send(At,Lt,qt){const ln=this.getActiveConnection(At);ln?ln.isReady()?ln.send(Lt,qt):ct.a.warn("Send called with unready connection."):ct.a.warn("Send called with no connection.")}controlRemoteStream(At,Lt){const qt=this.getActiveConnection(At);qt?qt.isReady()?qt.controlRemoteStream(Lt):ct.a.warn("controlRemoteStream called with unready connection."):ct.a.warn("controlRemoteStream called with no connection.")}getLocalPeer(){return Pn(this,void 0,void 0,function*(){for(;!this.localPeer;)yield Object(rt.a)(.1*nt.a.second);return Wr(this.localPeer)})}connect(At,Lt){var qt,ln,Un;return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode===!0)throw new Error("connect method called in local only mode.");const{track:hn,signalingClient:bn}=this.config,{localPeer:Vn,receiveSignalStream:Qn,iceServers:Fn}=this;if(!Vn||!Qn||!Fn)return void ct.a.warn("Connect called prior to local peer, receiveSignalStream, and ICE servers ready");if(this.getActiveConnection(At))return void ct.a.warn("Connect called for peer with existing connection.");if(this.isOutgoingConnection.has(At))return void ct.a.warn("Connect called for peer with an existing outgoing connection offer.");this.isOutgoingConnection.add(At);const xn=function(Cr,Rr,vr){const{rtcIceTransportPolicies:Zr,rtcIceServerProtocol:Dr,useAllServers:zo}=Rr||{},Lr=Cr.map(_i=>Object.assign(Object.assign({},_i),{urls:_i.urls.filter(Bo=>{const Go=(Zr===void 0||Zr.some($a=>Et(Bo,$a)))&&(Dr===void 0||kt(Bo,Dr));return Go||ct.a.debug("Ignoring ICE server: "+Bo,{organizationId:vr}),Go})})).filter(({urls:_i})=>_i.filter(Bo=>Bo).length>0);return zo?Lr:[wt(Lr,"stun"),wt(Lr,"turn")].filter(_i=>_i!==void 0).map(_i=>Dt(_i))}(Fn,Lt);ct.a.debug("Received ICE servers:",Yn(Fn)),ct.a.debug("Using ICE servers:",Yn(xn));const Kn=new sr(yield this.createRTCPeerConnection(xn),xn,{baseConfig:{isOffer:!0,isLan:!1,receive:(Cr,Rr)=>this.config.receive(Cr,Rr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Cr,Rr)=>{var vr,Zr;return(Zr=(vr=this.config).onStreamsInfoUpdate)===null||Zr===void 0?void 0:Zr.call(vr,Cr,Rr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(qt=Vn.getUserId())===null||qt===void 0?void 0:qt.getValue(),localPeerId:Vn.getPeerId(),remotePeerId:At,sessionType:this.config.sessionType},remoteConfig:{}},Cr=>this.onCustomDataChannel(At,Cr)),Ur=yield Kn.getOffer();if(!Ur)return ct.a.error("Failed to generate offer."),void this.isOutgoingConnection.delete(At);ct.a.debug("Sending offer."),hn==null||hn("Sending offer",Ur);const Nr=new Pt.SendSignalRequest;Nr.setSignal(Ur);const Ir=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(bn.sendSignal(Nr,yield this.getMetadata()),this.grpcCallDeadline)}catch(Cr){ct.a.warn("Error when sending signal",{error:Cr})}}))();if(!this.isOutgoingConnection.has(At))return void ct.a.debug("No offer set after receiving offer signal response.");ct.a.debug("Offer sent.");const jr=(ln=Ir==null?void 0:Ir.getSessionId())===null||ln===void 0?void 0:ln.getValue(),Kr=(Un=Ir==null?void 0:Ir.getSessionCreatedTimestamp())===null||Un===void 0?void 0:Un.getValue();return jr&&Kr?(Kn.setSessionId(jr),Kn.setSessionCreatedTimestamp(Kr),this.isOutgoingConnection.delete(At),this.connections.push(Kn),this.isConnectionInitiator.add(Kn),this.setupHandlers(Kn),jr):(ct.a.warn("No session ID or no session created timestamp on send signal response."),void this.isOutgoingConnection.delete(At))})}connectLan(At){var Lt,qt;return Pn(this,void 0,void 0,function*(){const ln=new jt(At),Un=new sr(yield this.createRTCPeerConnection([]),[],{baseConfig:{isOffer:!0,isLan:!0,receive:(Qn,Fn)=>this.config.receive(Qn,Fn),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Qn,Fn)=>{var xn,Kn;return(Kn=(xn=this.config).onStreamsInfoUpdate)===null||Kn===void 0?void 0:Kn.call(xn,Qn,Fn)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(qt=(Lt=this.localPeer)===null||Lt===void 0?void 0:Lt.getUserId())===null||qt===void 0?void 0:qt.getValue(),localPeerId:"lan_client",remotePeerId:At}},Qn=>this.onCustomDataChannel(At,Qn)),hn=yield Un.getLanOffer();if(!hn)return ct.a.warn("Could not generate LAN offer"),!1;const bn=yield ln.postLanRtcOffer({offer:JSON.stringify(hn)}),Vn=new RTCSessionDescription(JSON.parse(bn.answer));return yield Un.handleLanAnswer(Vn),this.localConnections.push(Un),this.isConnectionInitiator.add(Un),Object(Jt.a)()})}getConnections(){return[...this.connections,...this.localConnections]}createCustomDataChannel(At,Lt,qt,ln,Un){const hn=this.getActiveConnection(At);if(hn&&this.isConnectionInitiator.has(hn)){const Vn=hn.peerConnection.createDataChannel("custom."+Lt,qt);return ln&&(Vn.binaryType="arraybuffer"),Un(At,Vn),()=>{}}const bn=(Vn,Qn)=>{At===Vn&&Qn.label==="custom."+Lt&&Un(At,Qn)};return this.peerDataChannelListeners.push(bn),()=>{this.peerDataChannelListeners=this.peerDataChannelListeners.filter(Vn=>Vn!==bn)}}onCustomDataChannel(At,Lt){this.peerDataChannelListeners.forEach(qt=>qt(At,Lt))}getConnectionStatus(At){if(this.isOutgoingConnection.has(At))return"connecting";const Lt=this.getActiveConnection(At);return Lt?Lt.isReady()?"connected":"connecting":"disconnected"}getConnectionStatsInfo(At){return Pn(this,void 0,void 0,function*(){const Lt=this.getActiveConnection(At);if(Lt)return yield Lt.getConnectionStatsInfo()})}disconnect(At){return Pn(this,void 0,void 0,function*(){const Lt=this.getActiveConnection(At);Lt&&(yield Lt.close(),this.connections=this.connections.filter(qt=>qt!==Lt),this.localConnections=this.localConnections.filter(qt=>qt!==Lt))})}getPeers(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:At}=this.config,Lt=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(At.getPeers(new Pt.GetPeersRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(Un){ct.a.warn("Error when getting peers",{error:Un})}}))();if(!Lt)return[];const qt=Lt.getPeersList();if(!qt)return[];const ln=Un=>{var hn,bn;return(bn=(hn=Un.getPeerCreatedTimestamp())===null||hn===void 0?void 0:hn.getValue())!==null&&bn!==void 0?bn:0};return qt.sort((Un,hn)=>ln(hn)-ln(Un)).map(Un=>Wr(Un))})}getSessions(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:At}=this.config,Lt=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(At.getPeers(new Pt.GetPeersRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(Un){ct.a.warn("Error when getting peers",{error:Un})}}))();if(!Lt)return{};const qt=Lt.getPeersList(),ln={};for(const Un of qt)ln[Un.getPeerId()]=Un.getSessionIdsList();return ln})}getPing(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getPing();ct.a.warn("Attempted to get ping time from inactive peer.")}getPingInfo(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getPingInfo();ct.a.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getLastMessageTimestamp();ct.a.warn("Attempted to get last message time from inactive peer.")}getSessionMetricsMessageCounts(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getSessionMetricsMessageCounts();ct.a.warn("Attempted to get session metrics counts from inactive peer.")}isReady(){if(this.config.lanOnlyMode)return!0;const{localPeer:At,receiveSignalStream:Lt,iceServers:qt}=this;return!!(At&&Lt&&qt)}shutdown(){return Pn(this,void 0,void 0,function*(){yield this.refreshInterval.stop(),this.receiveSignalStream&&this.receiveSignalStream.cancel();const At=this.connections;this.connections=[],yield this.closeConnections(At);const Lt=this.localConnections;this.localConnections=[],yield this.closeConnections(Lt),this.isOutgoingConnection.clear(),this.peerDataChannelListeners=[];const{localPeer:qt}=this;if(!qt||this.config.lanOnlyMode)return;const{signalingClient:ln}=this.config;yield(()=>Pn(this,void 0,void 0,function*(){try{const Un=new Pt.DeletePeerRequest;Un.setPeerId(qt.getPeerId()),yield Ht.withDeadline(ln.deletePeer(Un,yield this.getMetadata()),this.grpcCallDeadline)}catch(Un){return void ct.a.warn("Error deleting local peer",{error:Un})}}))()})}createPeer(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createPeer method cannot be used in local-only mode.");const{signalingClient:At}=this.config,Lt=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(At.createPeer(new Pt.CreatePeerRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(ln){const Un=ln;ct.a.debug("createPeer failed",{error:Un});const hn=Yr(Un);throw new Error("Was not able to create peer: "+hn)}}))(),qt=Lt==null?void 0:Lt.getPeer();if(!qt)throw new Error("Response did not provide peer.");return this.localPeer=qt})}createReceiveSignalStream(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createReceiveSignalStream method cannot be used in local-only mode.");const{signalingClient:At}=this.config,{localPeer:Lt,iceServers:qt}=this;if(!Lt||!qt)return;const{receiveSignalStream:ln}=this;ln&&ln.cancel();const Un=new Pt.ReceiveSignalStreamRequest;Un.setPeerId(Lt.getPeerId());const hn=yield(()=>Pn(this,void 0,void 0,function*(){try{return At.receiveSignalStream(Un,yield this.getMetadata({hasDeadline:!1}))}catch(bn){ct.a.debug("createReceiveSignalStream failed",{error:bn});const Vn=Yr(bn);throw new Error("Unable to create receive signal stream: "+Vn)}}))();if(!hn)throw new Error("Response did not provide stream.");return hn.on("data",bn=>Pn(this,void 0,void 0,function*(){var Vn,Qn,Fn,xn;const Kn=bn.getSignal(),Ur=(Vn=Kn==null?void 0:Kn.getSessionId())===null||Vn===void 0?void 0:Vn.getValue(),Nr=Kn==null?void 0:Kn.getSenderId(),Ir=Kn==null?void 0:Kn.getReceiverId(),jr=(Qn=Kn==null?void 0:Kn.getSessionCreatedTimestamp())===null||Qn===void 0?void 0:Qn.getValue();if(!(Kn&&Ur&&Nr&&Ir&&jr))return void ct.a.warn("Received signal with missing information.");const Kr=this.getActiveConnection(Nr);if(Kr)if(Kr.getSessionId()!==Ur){if(ct.a.debug("Received signal: different session for a peer we're already connected to."),(Kr.getSessionCreatedTimestamp()||0)>jr)return;const Cr=new sr(yield this.createRTCPeerConnection(qt),qt,{baseConfig:{isOffer:!1,isLan:!1,receive:(Rr,vr)=>this.config.receive(Rr,vr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Rr,vr)=>{var Zr,Dr;return(Dr=(Zr=this.config).onStreamsInfoUpdate)===null||Dr===void 0?void 0:Dr.call(Zr,Rr,vr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:Lt.getPeerId(),localUserId:(xn=Lt.getUserId())===null||xn===void 0?void 0:xn.getValue(),remotePeerId:Nr},remoteConfig:{sessionId:Ur,sessionCreatedTimestamp:jr}},Rr=>this.onCustomDataChannel(Nr,Rr));yield Cr.handleSignal(Kn),this.connections.push(Cr)}else ct.a.debug("Received signal: for an existing connection."),yield Kr.handleSignal(Kn);else{ct.a.debug("Received signal: new connection.");const Cr=new sr(yield this.createRTCPeerConnection(qt),qt,{baseConfig:{isOffer:!1,isLan:!1,receive:(Rr,vr)=>this.config.receive(Rr,vr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Rr,vr)=>{var Zr,Dr;return(Dr=(Zr=this.config).onStreamsInfoUpdate)===null||Dr===void 0?void 0:Dr.call(Zr,Rr,vr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:Lt.getPeerId(),localUserId:(Fn=Lt.getUserId())===null||Fn===void 0?void 0:Fn.getValue(),remotePeerId:Nr},remoteConfig:{sessionId:Ur,sessionCreatedTimestamp:jr}},Rr=>this.onCustomDataChannel(Nr,Rr));yield Cr.handleSignal(Kn),this.connections.push(Cr)}})),hn.on("end",()=>{hn.cancel(),this.receiveSignalStream=void 0}),hn.on("error",bn=>{switch(bn.code){case bt.StatusCode.CANCELLED:case bt.StatusCode.UNAVAILABLE:case bt.StatusCode.UNKNOWN:ct.a.debug("Receive signal stream error",{error:bn});break;case bt.StatusCode.UNAUTHENTICATED:ct.a.warn("Receive signal stream error",{error:bn});break;default:ct.a.error("Receive signal stream error",{error:bn})}hn.cancel(),this.receiveSignalStream=void 0}),this.receiveSignalStream=hn})}createRTCPeerConnection(At){var Lt;return Pn(this,void 0,void 0,function*(){const qt=(Lt=this.config.alternateRTCPeerConnection)!==null&&Lt!==void 0?Lt:window.RTCPeerConnection;if(!qt)throw function(){if(typeof navigator>"u")throw new Error("not a browser");const{userAgent:ln}=navigator;return ln.includes("Firefox/")?"Firefox":ln.includes("Edg/")?"Edge":ln.includes("Chrome/")?"Chrome":ln.includes("Safari/")?"Safari":ln.includes("MSIE/")||ln.includes("Trident/")?"IE":"Other"}()!=="Chrome"?new Error("WebRTC is not enabled. Please try again with the latest version of Google Chrome."):new Error("WebRTC is not enabled. Please ensure WebRTC is not disabled by ad blocking software.");this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||gr();try{return new qt({iceServers:At})}catch(ln){throw ct.a.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),ln}})}closeConnections(At){return Pn(this,void 0,void 0,function*(){const Lt=yield $t(At.map(qt=>Pn(this,void 0,void 0,function*(){yield qt.close()})));for(const qt of Lt)ct.a.warn("Request to close session failed",{error:qt})})}getActiveConnection(At){return this.getConnections().find(Lt=>Lt.getRemotePeerId()===At&&Lt.isActive())}update(){var At;return Pn(this,void 0,void 0,function*(){if(this.localConnections=this.localConnections.filter(xn=>xn.isActive()),this.config.lanOnlyMode)return;const{signalingClient:Lt}=this.config;if(!this.localPeer||!this.receiveSignalStream||!this.iceServers){const xn=[];return this.localPeer||xn.push(this.createPeer()),this.iceServers||xn.push(this.updateIceServers()),yield Promise.all(xn),void(this.receiveSignalStream||(yield this.createReceiveSignalStream()))}const[qt,ln]=(Un=this.connections,hn=xn=>xn.isActive(),Un.reduce((xn,Kn,Ur,Nr)=>{const[Ir,jr]=xn;return(hn(Kn,Ur,Nr)?Ir:jr).push(Kn),xn},[[],[]]));var Un,hn;yield this.closeConnections(ln),this.connections=qt,this.gatherConnectionStats().catch(xn=>{ct.a.warn("Error calling gatherConnectionStats",{error:xn})}),this.statsLoopsExecuted++;const{localPeer:bn}=this,Vn=this.connections.filter(xn=>xn.getSessionId).map(xn=>Dt(xn.getSessionId()));bn.setSessionIdsList(Vn);const Qn=new Pt.RefreshPeerRequest;Qn.setPeer(bn);try{yield Ht.withDeadline(Lt.refreshPeer(Qn,yield this.getMetadata()),this.grpcCallDeadline)}catch(xn){xn instanceof bt.RpcError&&xn.code===bt.StatusCode.NOT_FOUND?(ct.a.warn("Peer expired, creating new peer",{peerId:bn.getPeerId()}),yield this.reset()):ct.a.warn("Error calling RefreshPeer",{error:xn})}const Fn=yield this.getPeers();for(const xn of this.connections)xn.setRemoteDeviceId((At=Fn.find(Kn=>Kn.id===xn.getRemotePeerId()))===null||At===void 0?void 0:At.deviceId)})}gatherConnectionStats(){return Pn(this,void 0,void 0,function*(){if(this.statsLoopsExecuted%10!=0||this.connections.length!==1)return;const At=yield this.connections[0].getConnectionStatsInfo(),Lt=At?Jr(At):void 0;Lt?It.setTag("rtc-connection-type",Lt):It.setTag("rtc-connection-type","unknown")})}reset(){return Pn(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.isOutgoingConnection.clear(),yield this.createPeer(),yield this.createReceiveSignalStream()})}updateIceServers(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)return;const{iceServersLastUpdate:At,iceServersTtl:Lt}=this,qt=new Date().getTime();if(!At||qt-At>Lt)try{const ln=(yield Ht.withDeadline(this.config.signalingClient.getIceServers(new Pt.GetIceServersRequest,yield this.getMetadata()),this.grpcCallDeadline)).getIceServers();this.iceServers=JSON.parse(ln),this.iceServersLastUpdate=qt}catch(ln){ct.a.warn("Error in updateIceServers",{error:ln})}})}setupHandlers(At){const{peerConnection:Lt}=At,qt=At.getSessionCreatedTimestamp();Lt.onconnectionstatechange=()=>Pn(this,void 0,void 0,function*(){const ln=Lt.connectionState;if(!qt)return;const Un=At.getRemoteDeviceId();switch(ln){case"connected":It.aggregate("rtc-connect-time",new Date().getTime()-qt,Object.assign({},Un?{deviceId:Un}:{}));break;case"failed":It.increment("rtc-connect-failed",Object.assign({},Un?{deviceId:Un}:{}))}})}getMetadata(At={}){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getMetadata method cannot be called in local-only mode");const{getToken:Lt}=this.config,{grpcCallDeadline:qt}=this,{hasDeadline:ln=!0}=At,Un=ln?{deadline:(Date.now()+qt).toString(10)}:null;try{const hn=yield Lt();return Object.assign({authorization:hn},Un)}catch(hn){throw ct.a.error("getToken() failed",{error:hn}),new Error("Cannot get authorization token")}})}}var Hr=_(12),uo=_(11),Ws=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class ps{constructor(At,Lt){this.sentMessagesCounts=new Map,this.receivedMessagesCounts=new Map,this.sessionId=At,this.connection=Lt}incrementMessageSent(At){const Lt=hr(At.header.stream);this.sentMessagesCounts.set(Lt,(this.sentMessagesCounts.get(Lt)||0)+1)}incrementMessageReceived(At){const Lt=hr(At.header.stream);this.receivedMessagesCounts.set(Lt,(this.receivedMessagesCounts.get(Lt)||0)+1)}uploadMetrics(){return Ws(this,void 0,void 0,function*(){const{sessionId:At}=this,Lt=yield this.connection.peerConnection.getStats(),qt={};Lt.forEach(Un=>qt[Un.id]=Un),ct.a.debug("rtc-stats",Object.assign(Object.assign({},qt),{sessionId:At}));const ln=[...new Set(Array.from(this.sentMessagesCounts.keys()).concat(Array.from(this.receivedMessagesCounts.keys())))].reduce((Un,hn)=>{const bn=this.sentMessagesCounts.get(hn),Vn=this.receivedMessagesCounts.get(hn);return Object.assign(Object.assign({},Un),{[hn+"-sent"]:bn,[hn+"-received"]:Vn})},{sessionId:At});ct.a.debug("rtc-message-report",ln)})}}function Oo(Jn,At){return hr(Jn)===hr(At)}var Uo=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class hs{constructor(At,Lt){this.peerConnection=At,this.config=Lt,this.connectTimeoutMs=10*nt.a.second,this.gatherIceTimeoutMs=5*nt.a.second,this.pingUpdateTimeoutMs=2*nt.a.second,this.streamLatestTimestamp=new Map,this.closeCalled=!1,this.connectCalled=!1,this.sentOffer=!1,this.receivedIceCandidate=!1;const{isOffer:qt}=Lt;qt?this.initializeChannels(At):At.ondatachannel=ln=>{switch(ln.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=ln.channel;break;case"stream.reliable":this.reliableStreamChannel=ln.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=ln.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=ln.channel}this.setupChannel(ln.channel)},this.sessionMetrics=new ps(this.getSessionId(),this)}connect(){return Uo(this,void 0,void 0,function*(){if(this.connectCalled)return;this.connectCalled=!0,this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:ln}=this;ln&&this.sendSystemMessage(ln,{type:"ping"})},this.pingUpdateTimeoutMs),this.connectTimeout=setTimeout(()=>Uo(this,void 0,void 0,function*(){this.isReady()||(ct.a.warn("RTC connect timed out, closing connection"),yield this.close())}),this.connectTimeoutMs);const{peerConnection:At,config:{isOffer:Lt,sessionId:qt}}=this;if(Lt){const ln=yield At.createOffer();yield At.setLocalDescription(ln)}Lt&&(this.gatherIceTimeout=setTimeout(()=>Uo(this,void 0,void 0,function*(){this.sentOffer||(ct.a.warn("ICE gathering timed out"),this.receivedIceCandidate?(ct.a.warn("Attempting to connect with partial ICE candidate pool"),yield this.sendOffer()):yield this.close())}),this.gatherIceTimeoutMs),At.onicecandidate=ln=>Uo(this,void 0,void 0,function*(){ln.candidate?this.receivedIceCandidate=!0:yield this.sendOffer()}),At.onicegatheringstatechange=()=>Uo(this,void 0,void 0,function*(){At.iceGatheringState==="complete"&&(yield this.sendOffer())}),At.onnegotiationneeded=()=>{ct.a.debug("Negotiation needed",{sessionId:qt})})})}handleSignal(At){return Uo(this,void 0,void 0,function*(){const{peerConnection:Lt,config:{sessionId:qt,sendSignal:ln}}=this,{description:Un}=JSON.parse(At.payload);if(ct.a.debug("Handling signal",{sessionId:qt,description:JSON.stringify(Un)}),Un)if(Lt.signalingState!=="stable"||Lt.connectionState!=="connected")if(Lt.remoteDescription)ct.a.warn("Received SDP signal during negotiation when remote description is already set: "+JSON.stringify(At));else if(Un.type==="offer"){yield Lt.setRemoteDescription(Un);const hn=yield Lt.createAnswer();yield Lt.setLocalDescription(hn),yield ln({payload:JSON.stringify({description:hn})})}else Un.type==="answer"&&(yield Lt.setRemoteDescription(Un));else ct.a.warn("Received SDP signal when signaling is stable and connected: "+JSON.stringify(At));else ct.a.warn("Received non-SDP signal: "+JSON.stringify(At))})}send(At,Lt){const qt=this.getChannelFromLabel(Lt.channelLabel);qt?this.sendOnChannel(qt,At):ct.a.warn("Send called with unexpected channel label",{channelLabel:Lt.channelLabel})}controlRemoteStream(At){this.sendSystemMessage(Dt(this.reliableStreamChannel),{type:"stream-control",streamControl:At})}isActive(){return new Set(["new","connecting","connected"]).has(this.peerConnection.connectionState)}isReady(){const{peerConnection:At,latestTtlStreamChannel:Lt,reliableStreamChannel:qt,latestTryOnceStreamChannel:ln}=this;return!!(qt&&Lt&&ln)&&At.connectionState==="connected"&&qt.readyState==="open"&&Lt.readyState==="open"&&ln.readyState==="open"}isClosed(){const{peerConnection:At,reliableStreamChannel:Lt,latestTryOnceStreamChannel:qt,latestTtlStreamChannel:ln}=this;return!(At.connectionState!=="closed"||Lt!==void 0&&Lt.readyState!=="closed"||qt!==void 0&&qt.readyState!=="closed"||ln!==void 0&&ln.readyState!=="closed")}needsClosing(){const{peerConnection:At,latestTtlStreamChannel:Lt,reliableStreamChannel:qt,latestTryOnceStreamChannel:ln}=this;if(this.isClosed())return!1;const Un=new Set(["closing","closed"]),hn=bn=>bn&&Un.has(bn.readyState);return xr(At)||hn(Lt)||hn(qt)||hn(ln)}close(){return Uo(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield this.sessionMetrics.uploadMetrics(),this.pingUpdateTimeout&&clearInterval(this.pingUpdateTimeout),this.connectTimeout&&clearTimeout(this.connectTimeout),this.gatherIceTimeout&&clearTimeout(this.gatherIceTimeout),this.peerConnection.close())})}getPing(){return this.pingTimeMs}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionId(){return this.config.sessionId}getRemotePeer(){return this.config.remotePeer}initializeChannels(At){this.latestTtlStreamChannel=At.createDataChannel("stream.latest-ttl",sn),this.reliableStreamChannel=At.createDataChannel("stream.reliable",gn),this.latestReliableStreamChannel=At.createDataChannel("stream.latest-reliable",Cn),this.latestTryOnceStreamChannel=At.createDataChannel("stream.latest-try-once",In),this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}sendOffer(){return Uo(this,void 0,void 0,function*(){if(this.sentOffer||(this.sentOffer=!0,xr(this.peerConnection)))return;const{peerConnection:At,config:{sendSignal:Lt}}=this,qt=yield At.createOffer();yield At.setLocalDescription(qt);const ln={payload:JSON.stringify({description:qt})};yield Lt(ln)})}getChannelFromLabel(At){switch(At){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(At,Lt){let qt;try{qt=Object(on.encode)(JSON.stringify(Lt))}catch(ln){return void ct.a.warn("Failed to encode RTC message",{error:ln})}try{At.send(qt),this.sessionMetrics.incrementMessageSent(Lt)}catch(ln){ct.a.warn("Failed to send message to channel",{error:ln,channel:At.label})}}channelNotRecognized(At){return At!==this.latestTtlStreamChannel&&At!==this.latestReliableStreamChannel&&At!==this.latestTryOnceStreamChannel&&At!==this.reliableStreamChannel}setupChannel(At){At.onmessage=Lt=>{if(this.channelNotRecognized(At))return void ct.a.warn("Received message on unrecognized data channel.");let qt;try{qt=JSON.parse(Object(on.decode)(Lt.data))}catch(ln){return void ct.a.warn("Received unparseable RTC message",{error:ln,channel:At.label})}if(this.lastMessageTimestamp=new Date().getTime(),qt=ro(qt),this.sessionMetrics.incrementMessageReceived(qt),!this.handleSystemMessage(At,qt)){if(!this.hasCapabilities(qt))return void ct.a.warn("Received RTC message that was not within the capability scope of the connection.");(At===this.latestTryOnceStreamChannel||At===this.latestTtlStreamChannel||At===this.latestReliableStreamChannel)&&!this.isLatestMessage(qt)||this.config.receive(this.config.remotePeer.id,qt)}},At.onerror=Lt=>{ct.a.warn("Channel error: "+Lt.error,{error:Lt.error,sessionId:this.getSessionId(),channelLabel:At.label})},At.onopen=()=>{ct.a.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:At.label})},At.onclose=()=>{const Lt={bufferedAmount:At.bufferedAmount,sessionId:this.getSessionId(),channelLabel:At.label};this.closeCalled===!1?ct.a.debug("Unexpected channel closed",Lt):ct.a.debug("Channel closed",Lt)}}handleSystemMessage(At,Lt){switch(Lt.header.stream.streamType){case"ping":return this.sendSystemMessage(At,{type:"pong",timestamp:Dt(Lt.payload.ping)}),!0;case"pong":{const qt=new Date().getTime()-Dt(Lt.payload.pong);return this.pingTimeMs=qt,It.aggregate("rtc-ping-time",qt),!0}case"stream-control":return!0;default:return!1}}sendSystemMessage(At,Lt){if(At.readyState!=="open")return;const qt={entityId:Dt(this.config.localPeer.deviceId||this.config.localPeer.userId),streamName:"$."+Lt.type,streamType:Lt.type};let ln;switch(Lt.type){case"ping":ln={ping:new Date().getTime()};break;case"pong":ln={pong:Lt.timestamp};break;case"stream-control":ln={streamControl:Lt.streamControl}}this.sendOnChannel(At,co(qt,ln))}hasCapabilities(At){var Lt,qt;const{localPeer:ln,remotePeer:Un}=this.config,hn=(Lt=ln.capabilitySet.streaming)===null||Lt===void 0?void 0:Lt.streams,bn=hn&&hn.some(Fn=>Fn.receive&&Oo(Fn.stream,At.header.stream)),Vn=(qt=Un.capabilitySet.streaming)===null||qt===void 0?void 0:qt.streams,Qn=Vn&&Vn.some(Fn=>Fn.send&&Oo(Fn.stream,At.header.stream));return bn||Qn}isLatestMessage(At){const Lt=hr(At.header.stream),qt=(this.streamLatestTimestamp.get(Lt)||0)<=At.header.created;return qt&&this.streamLatestTimestamp.set(Lt,At.header.created),qt}}var mr=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class Qs{constructor(At){this.config=At,this.connections=[],this.connectingSessions=new Map,this.rtcInstancesConstructed=0,this.updateInterval=yt({func:()=>mr(this,void 0,void 0,function*(){try{yield this.update()}catch(Lt){ct.a.warn("RTC update failed",{error:Lt})}}),delay:250*nt.a.millisecond,immediate:!0}),this.localPeer=this.createPeer()}send(At,Lt,qt){const ln=this.getActiveConnection(At);ln?ln.isReady()?ln.send(Lt,qt):ct.a.warn("Attempted to send with an active connection to that peer which was not yet ready."):ct.a.warn("Attempted to send with no active connection to that peer.")}controlRemoteStream(At,Lt){const qt=this.getActiveConnection(At);qt?qt.isReady()?qt.controlRemoteStream(Lt):ct.a.warn("Attempted to control remote stream with an active connection to that peer which was not yet ready."):ct.a.warn("Attempted to control remote stream with no active connection to that peer.")}connect(At){return mr(this,void 0,void 0,function*(){const Lt=yield this.getLocalPeer();if(this.getActiveConnection(At))return void ct.a.warn("Attempted to connect to peer with an already active connection.");let qt;try{qt=yield this.config.signalingClient.createSession(yield this.config.getToken(),{offerPeerId:Lt.id,answerPeerId:At})}catch(ln){Object(Hr.a)(ln,uo.a,Un=>Un.statusCode===404),ct.a.warn("Attempted to connect to peer that does not exist.")}if(qt)for(this.connectingSessions.set(qt.id,new Date().getTime()),yield this.connectToSession(qt);;)switch(yield Object(rt.a)(.1),this.getConnectionStatus(At)){case"connecting":continue;case"connected":return qt.id;case"disconnected":return}})}getConnectionStatus(At){const Lt=this.getActiveConnection(At);return Lt?Lt.isReady()?"connected":"connecting":"disconnected"}getIceMode(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.iceMode}disconnect(At){return mr(this,void 0,void 0,function*(){const Lt=this.getActiveConnection(At);Lt&&(yield this.closeConnection(Lt))})}getLocalPeer(){return mr(this,void 0,void 0,function*(){return yield this.localPeer})}getPeers(){return mr(this,void 0,void 0,function*(){return yield this.config.signalingClient.getPeers(yield this.config.getToken())})}getPing(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getPing();ct.a.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getLastMessageTimestamp();ct.a.warn("Attempted to get ping time from inactive peer.")}shutdown(){return mr(this,void 0,void 0,function*(){yield this.updateInterval.stop();const At=this.connections;this.connections=[],yield this.closeConnections(At)})}closeConnection(At){return mr(this,void 0,void 0,function*(){this.connectingSessions.delete(At.getSessionId()),yield At.close();try{yield this.config.signalingClient.deleteSession(yield this.config.getToken(),At.getSessionId())}catch(Lt){Object(Hr.a)(Lt,uo.a,qt=>qt.statusCode===404)}})}getSessions(){return mr(this,void 0,void 0,function*(){const At=yield this.getLocalPeer();return(yield this.config.signalingClient.getSessions(yield this.config.getToken())).filter(Lt=>Lt.offer.peer.id===At.id||Lt.answer.peer.id===At.id)})}createPeer(){return mr(this,void 0,void 0,function*(){return yield this.config.signalingClient.createPeer(yield this.config.getToken(),{capabilitySet:this.config.capabilitySet||{}})})}createRTCPeerConnection(At={}){return mr(this,void 0,void 0,function*(){const Lt=this.config.alternateRTCPeerConnection||RTCPeerConnection;this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||gr();try{return new Lt(Object.assign({iceServers:yield this.config.signalingClient.getIceServers(yield this.config.getToken())},At))}catch(qt){throw ct.a.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),qt}})}closeConnections(At){return mr(this,void 0,void 0,function*(){const Lt=yield $t(At.map(qt=>mr(this,void 0,void 0,function*(){yield this.closeConnection(qt)})));for(const qt of Lt)ct.a.warn("Request to close session failed",{error:qt})})}reset(){return mr(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.connectingSessions=new Map,this.localPeer=this.createPeer(),yield this.localPeer})}getActiveConnection(At){return this.connections.find(Lt=>Lt.getRemotePeer().id===At&&Lt.isActive())}update(){return mr(this,void 0,void 0,function*(){const At=yield this.getLocalPeer();try{yield this.config.signalingClient.refreshPeer(yield this.config.getToken(),At.id)}catch(Lt){Object(Hr.a)(Lt,uo.a,qt=>qt.statusCode===404),ct.a.warn("Peer expired, creating new peer",{peerId:At.id}),yield this.reset()}yield this.handleSessions(yield this.getSessions())})}handleSessions(At){return mr(this,void 0,void 0,function*(){yield this.syncConnectionsAndSessions(At);const Lt=At.map(qt=>({session:qt,connection:this.connections.find(ln=>ln.getSessionId()===qt.id)}));yield Promise.all(Lt.map(({session:qt,connection:ln})=>mr(this,void 0,void 0,function*(){return yield this.maintainConnection(qt,ln)})))})}syncConnectionsAndSessions(At){return mr(this,void 0,void 0,function*(){const Lt=new Set(At.map(Un=>Un.id)),qt=Un=>Lt.has(Un.getSessionId())||this.connectingSessions.has(Un.getSessionId());this.connections=this.connections.filter(Un=>qt(Un));const ln=this.connections.filter(Un=>!qt(Un)||Un.needsClosing());yield Promise.all(ln.map(Un=>mr(this,void 0,void 0,function*(){yield this.closeConnection(Un)})))})}maintainConnection(At,Lt){return mr(this,void 0,void 0,function*(){const qt=yield this.getLocalPeer(),ln=At.offer.peer.id===qt.id;if(Lt){if(Lt.isReady())try{yield this.config.signalingClient.refreshSession(yield this.config.getToken(),At.id)}catch(Un){Object(Hr.a)(Un,uo.a,hn=>hn.statusCode===404),ct.a.debug("Refresh session not found",{sessionId:At.id})}else if(Lt.isActive())try{yield this.consumeSignals(Lt)}catch(Un){ct.a.warn("Failed to ingest signals, closing connection",{error:Un}),yield this.closeConnection(Lt)}}else{if(ln)return;yield this.connectToSession(At)}})}connectToSession(At){return mr(this,void 0,void 0,function*(){const Lt=yield this.getLocalPeer(),qt=At.offer.peer.id===Lt.id,ln=yield this.createRTCPeerConnection(),Un=new hs(ln,{localPeer:qt?At.offer.peer:At.answer.peer,remotePeer:qt?At.answer.peer:At.offer.peer,sessionId:At.id,isOffer:qt,sendSignal:hn=>this.sendSignal(At.id,hn),receive:(hn,bn)=>this.config.receive(hn,bn)});if(this.connections.find(hn=>hn.getSessionId()===At.id))return ct.a.warn("connectToSession called on a session that already has a connection.",{sessionId:At.id}),void(yield Un.close());this.setupHandlers(Un),this.connections.push(Un);try{yield Un.connect()}catch(hn){ct.a.warn("Failed to handle negotiation, closing connection",{error:hn}),yield this.closeConnection(Un)}})}setupHandlers(At){const{peerConnection:Lt}=At,qt=At.getSessionId();Lt.onconnectionstatechange=()=>mr(this,void 0,void 0,function*(){const ln=this.connectingSessions.get(qt);if(ln===void 0)return;const Un=Lt.connectionState;switch(xr(Lt)&&this.connectingSessions.delete(qt),Un){case"connected":{this.connectingSessions.delete(qt);const hn=new Date().getTime()-ln;It.aggregate("rtc-connect-time",hn);break}case"failed":It.increment("rtc-connect-failed"),yield this.closeConnection(At)}})}consumeSignals(At){return mr(this,void 0,void 0,function*(){let Lt=[];try{Lt=yield this.config.signalingClient.takeSignals(yield this.config.getToken(),At.getSessionId())}catch(qt){Object(Hr.a)(qt,uo.a,ln=>ln.statusCode===404)}for(const qt of Lt)yield At.handleSignal(qt)})}sendSignal(At,Lt){return mr(this,void 0,void 0,function*(){try{yield this.config.signalingClient.addSignals(yield this.config.getToken(),At,{signals:[Lt]})}catch(qt){Object(Hr.a)(qt,uo.a,ln=>ln.statusCode===404)}})}}},,function(o,s,_){_.r(s),_.d(s,"LogClient",function(){return tt});var j=_(26),$=_(12),_e=_(11),et=function(nt,rt,ot,ut){return new(ot||(ot=Promise))(function(dt,Ut){function st(Bt){try{pt(ut.next(Bt))}catch(Qt){Ut(Qt)}}function ct(Bt){try{pt(ut.throw(Bt))}catch(Qt){Ut(Qt)}}function pt(Bt){var Qt;Bt.done?dt(Bt.value):(Qt=Bt.value,Qt instanceof ot?Qt:new ot(function(gt){gt(Qt)})).then(st,ct)}pt((ut=ut.apply(nt,rt||[])).next())})};class tt extends j.a{log(rt){return et(this,void 0,void 0,function*(){const ot=tt.token;try{yield this.fetch("logs",{token:ot,method:"POST",body:{logs:rt},allowUnsafeRetries:!0})}catch(ut){Object($.a)(ut,_e.a,dt=>dt.statusCode===401&&ot!==void 0),tt.token===ot&&delete tt.token,yield this.log(rt)}})}}},function(o,s,_){var j={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let $;const _e=new Uint8Array(16);function et(){if(!$&&($=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!$))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return $(_e)}const tt=[];for(let rt=0;rt<256;++rt)tt.push((rt+256).toString(16).slice(1));function nt(rt,ot=0){return(tt[rt[ot+0]]+tt[rt[ot+1]]+tt[rt[ot+2]]+tt[rt[ot+3]]+"-"+tt[rt[ot+4]]+tt[rt[ot+5]]+"-"+tt[rt[ot+6]]+tt[rt[ot+7]]+"-"+tt[rt[ot+8]]+tt[rt[ot+9]]+"-"+tt[rt[ot+10]]+tt[rt[ot+11]]+tt[rt[ot+12]]+tt[rt[ot+13]]+tt[rt[ot+14]]+tt[rt[ot+15]]).toLowerCase()}s.a=function(rt,ot,ut){if(j.randomUUID&&!ot&&!rt)return j.randomUUID();const dt=(rt=rt||{}).random||(rt.rng||et)();if(dt[6]=15&dt[6]|64,dt[8]=63&dt[8]|128,ot){ut=ut||0;for(let Ut=0;Ut<16;++Ut)ot[ut+Ut]=dt[Ut];return ot}return nt(dt)}}])})})(dist);var distExports=dist.exports;const SessionTypes={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},SessionTypeConstants={...SessionTypes,Unknown:SessionTypes.UNKNOWN,Teleop:SessionTypes.TELEOP,PortForward:SessionTypes.PORT_FORWARD,Observe:SessionTypes.OBSERVE,Headless:SessionTypes.HEADLESS,unknown:SessionTypes.UNKNOWN,teleop:SessionTypes.TELEOP,portForward:SessionTypes.PORT_FORWARD,observe:SessionTypes.OBSERVE,headless:SessionTypes.HEADLESS},singleton=Symbol("RtcClientPool.instance");var yn;class RtcClientPool{constructor(s){he(this,yn,null),he(this,"createClient"),he(this,"ttlMs"),he(this,"proxyHandler"),he(this,"proxyReceivers",new Map),he(this,"teardownTimeout",null),he(this,"dispatch",($,_e)=>{this.proxyReceivers.forEach(et=>et==null?void 0:et($,_e))});const{createClient:_,ttlMs:j=0}=s;this.createClient=_,this.ttlMs=Math.max(j,0),this.proxyHandler={get:($,_e,et)=>{switch(_e){case"shutdown":return()=>this.releaseInstance(et);default:return Reflect.get($,_e,et)}}}}get isActive(){return this[singleton]!==null}get size(){return this.proxyReceivers.size}get(s){const _=new Proxy(this.allocate(),this.proxyHandler);return this.proxyReceivers.set(_,s??null),_}allocate(){if(this[singleton])return this.teardownTimeout&&(clearTimeout(this.teardownTimeout),this.teardownTimeout=null),this[singleton];const s=this.createClient(this.dispatch);return this[singleton]=s,s}async teardown(){const s=this[singleton];if(!s){console.warn("singleton has already been shutdown!");return}try{await s.shutdown()}finally{this[singleton]=null}}async releaseInstance(s){return this.proxyReceivers.delete(s)?this.proxyReceivers.size!==0?!1:(!this.teardownTimeout&&Number.isFinite(this.ttlMs)&&(this.ttlMs===0?await this.teardown():this.teardownTimeout=setTimeout(()=>{this.teardown().catch(_=>console.error("teardown failed",{err:_})).finally(()=>this.teardownTimeout=null)},this.ttlMs)),!0):(console.warn("this instance has already been released!"),!1)}}yn=singleton;const getToken=async()=>defined$1(Authentication.token,"Realtime when user isn't authorized"),EnumRtcClientPools={[SessionTypes.UNKNOWN]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.UNKNOWN,receive:o})}),[SessionTypes.TELEOP]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.TELEOP,receive:o})}),[SessionTypes.PORT_FORWARD]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.PORT_FORWARD,receive:o})}),[SessionTypes.OBSERVE]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.OBSERVE,receive:o})}),[SessionTypes.HEADLESS]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.HEADLESS,receive:o})})},AppRtcClientPools={...EnumRtcClientPools,unknown:EnumRtcClientPools[SessionTypes.UNKNOWN],teleop:EnumRtcClientPools[SessionTypes.TELEOP],portForward:EnumRtcClientPools[SessionTypes.PORT_FORWARD],observe:EnumRtcClientPools[SessionTypes.OBSERVE],headless:EnumRtcClientPools[SessionTypes.HEADLESS]},defaultRtcClientPool=EnumRtcClientPools[SessionTypes.TELEOP],getRtcClientPool=o=>{const{sessionType:s}=o;return s?AppRtcClientPools[s]:defaultRtcClientPool};async function getPeers(){if(!Authentication.token)throw new Error("Not authenticated");const o=defaultRtcClientPool.get();try{return await o.getPeers()}finally{await o.shutdown()}}async function getRealtimeSessions(){if(!Authentication.token)throw new Error("Not authenticated");const o=defaultRtcClientPool.get();try{return await o.getSessions()}finally{await o.shutdown()}}async function getTelemetry(o,s,_,j,$,_e){let et=o;Array.isArray(o)||(et=[o]);let tt=s;return Array.isArray(s)||(tt=[s]),(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify({deviceIds:et,end:j.toISOString(),names:tt,start:_.toISOString(),tags:$,latestOnly:_e}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function patchDevice(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryDevicesData(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}const isRtcPeer=o=>o!==void 0&&o.capabilities!==void 0&&o.capabilitySet!==void 0;var eventemitter3={exports:{}};(function(o){var s=Object.prototype.hasOwnProperty,_="~";function j(){}Object.create&&(j.prototype=Object.create(null),new j().__proto__||(_=!1));function $(nt,rt,ot){this.fn=nt,this.context=rt,this.once=ot||!1}function _e(nt,rt,ot,ut,dt){if(typeof ot!="function")throw new TypeError("The listener must be a function");var Ut=new $(ot,ut||nt,dt),st=_?_+rt:rt;return nt._events[st]?nt._events[st].fn?nt._events[st]=[nt._events[st],Ut]:nt._events[st].push(Ut):(nt._events[st]=Ut,nt._eventsCount++),nt}function et(nt,rt){--nt._eventsCount===0?nt._events=new j:delete nt._events[rt]}function tt(){this._events=new j,this._eventsCount=0}tt.prototype.eventNames=function(){var nt=[],rt,ot;if(this._eventsCount===0)return nt;for(ot in rt=this._events)s.call(rt,ot)&&nt.push(_?ot.slice(1):ot);return Object.getOwnPropertySymbols?nt.concat(Object.getOwnPropertySymbols(rt)):nt},tt.prototype.listeners=function(nt){var rt=_?_+nt:nt,ot=this._events[rt];if(!ot)return[];if(ot.fn)return[ot.fn];for(var ut=0,dt=ot.length,Ut=new Array(dt);ut{$.payload.jointState&&this.currentListeners.forEach(_e=>{$.payload.jointState&&_e($.payload.jointState)})}),this.device=s,this.config=_}async synchronize(){this.device.addRealtimeListener(this.onRealtimeMessage),this.device.startListeningToRealtimeDataStream(this.config.currentJointStateStream)}async desynchronize(){this.device.removeRealtimeListener(this.onRealtimeMessage),this.device.stopListeningToRealtimeDataStream(this.config.currentJointStateStream)}async addCurrentJointStateListener(s){this.currentListeners.push(s)}}class RequestDataChannel{constructor(s,_,j){he(this,"channel"),he(this,"requestIdToResponseMap",new Map),this.device=s,this.channel_name=_,this.timeout=j}addOpenListener(s){defined$1(this.channel,"channel not initalized").addOpenListener(s)}removeOpenListener(s){defined$1(this.channel,"channel not initalized").removeOpenListener(s)}addCloseListener(s){defined$1(this.channel,"channel not initalized").addCloseListener(s)}removeCloseListener(s){defined$1(this.channel,"channel not initalized").removeCloseListener(s)}addErrorListener(s){defined$1(this.channel,"channel not initalized").addErrorListener(s)}removeErrorListener(s){defined$1(this.channel,"channel not initalized").removeErrorListener(s)}}class BinaryRequestDataChannel extends RequestDataChannel{constructor(){super(...arguments),he(this,"RESPONSE_SUCCESS_BYTE",0),he(this,"decoder",new TextDecoder)}generateBinaryId(){const s=new Uint8Array(16);for(let _=0;_{const _=s.slice(0,16).toString();if(_.length===0)throw new Error("Invalid response");const j=s.slice(16);if(j.length===0)throw new Error("Invalid response");this.requestIdToResponseMap.has(_)&&this.requestIdToResponseMap.set(_,j)})}async request(s){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:_,requestIdToResponseMap:j,timeout:$}=this;await _.waitTilReady();const _e=this.generateBinaryId(),et=_e.toString();j.set(et,!0),_.sendBinary(new Uint8Array([..._e,...s]));const tt=new Date().getTime();for(;new Date().getTime(){const _=JSON.parse(s),{id:j,data:$,error:_e}=_;if(!j)throw new Error("Invalid response");if(!$&&!_e)throw new Error("Invalid response");this.requestIdToResponseMap.has(j)&&this.requestIdToResponseMap.set(j,_)})}async request(s){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:_,requestIdToResponseMap:j,timeout:$}=this;await _.waitTilReady();const _e=this.generateTextId();j.set(_e,!0),_.send(JSON.stringify({id:_e,data:s}));const et=new Date().getTime();for(;new Date().getTime(){this.realtimeListeners.forEach(j=>j(s,_))})}stopConnectionMonitoring(){clearInterval(this.connectionMonitorInterval),this.connectionMonitorInterval=void 0}assertNotCancelled(s){if(s)throw new Error("Cancelled by deadline")}getRealtimeStatus(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getConnectionStatus(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePingInfo(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPingInfo(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePing(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPing(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}addRealtimeListener(s){this.realtimeListeners.push(s)}removeRealtimeListener(s){const _=this.realtimeListeners.indexOf(s);if(_===-1)throw new Error("Could not find realtime listener to remove");this.realtimeListeners.splice(_,1)}async getRealtimeManipulators(){var s;const _=await this.getConfiguration(),j=[];for(const $ of(s=_.teleop.rosStreams)!=null?s:[])$.topicType=="sensor_msgs/JointState"&&j.push(new Manipulator(this,{currentJointStateStream:{name:$.topicName},plannedJointStateStream:$.plannedTopic?{name:$.plannedTopic}:void 0,planValidStream:$.planValidTopic?{name:$.planValidTopic}:void 0,endEffectorStream:$.endEffectorTopic?{name:$.endEffectorTopic}:void 0,endEffectorLinkName:$.endEffectorLinkName,baseReferenceFrame:$.baseReferenceFrame,localFrame:$.localFrame}));return j}async getRealtimeVideoStreams(){var s,_,j,$,_e,et;const tt=await this.getConfiguration(),nt=[];for(const rt of(_=(s=tt.teleop)==null?void 0:s.hardwareStreams)!=null?_:[])rt.rtcStreamType==="h264-video-frame"&&nt.push({name:rt.name});for(const rt of($=(j=tt.teleop)==null?void 0:j.rosStreams)!=null?$:[])rt.topicType=="formant/H264VideoFrame"&&nt.push({name:rt.topicName}),(rt.topicType==="sensor_msgs/Image"||rt.topicType==="sensor_msgs/CompressedImage")&&rt.encodeVideo&&nt.push({name:rt.topicName});for(const rt of(et=(_e=tt.teleop)==null?void 0:_e.customStreams)!=null?et:[])rt.rtcStreamType==="h264-video-frame"&&nt.push({name:rt.name});return nt}createCustomRequestDataChannel(s,_=3e3){return new TextRequestDataChannel(this,s,_)}createCustomBinaryRequestDataChannel(s,_=3e3){return new BinaryRequestDataChannel(this,s,_)}async startListeningToRealtimeVideo(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeVideo(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!1,pipeline:"rtc"})}async startListeningToRealtimeDataStream(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeDataStream(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!1,pipeline:"rtc"})}async enableRealtimeTelemetryPriorityIngestion(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s,enablePriorityUpload:!0,pipeline:"telemetry"})}async disableRealtimeTelemetryPriorityIngestion(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s,enablePriorityUpload:!1,pipeline:"telemetry"})}async changeStreamAudioType(s,_){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer();j.controlRemoteStream(defined$1($).id,{streamName:s,setAudioFormat:_})}async createCustomDataChannel(s,_){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer(),_e=await new Promise(et=>{j.createCustomDataChannel(defined$1($).id,s,{ordered:!0,..._},!1,(tt,nt)=>{const rt=new DataChannel(nt);et(rt)})});return await _e.waitTilReady(),_e}async sendRealtimeMessage(s,_={channelLabel:"stream.reliable"}){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer();j.send(defined$1($).id,s,_)}async getRealtimeAudioStreams(){var s,_,j,$,_e,et;const tt=await this.getConfiguration(),nt=[];for(const rt of(_=(s=tt.teleop)==null?void 0:s.hardwareStreams)!=null?_:[])rt.rtcStreamType==="audio-chunk"&&nt.push({name:rt.name});for(const rt of($=(j=tt.teleop)==null?void 0:j.rosStreams)!=null?$:[])rt.topicType=="audio_common_msgs/AudioData"&&nt.push({name:rt.topicName});for(const rt of(et=(_e=tt.teleop)==null?void 0:_e.customStreams)!=null?et:[])rt.rtcStreamType==="audio-chunk"&&nt.push({name:rt.name});return nt}}class Device extends BaseDevice{constructor(s,_,j,$){super(),this.id=s,this.name=_,this.organizationId=j,this.tags=$}async getLatestTelemetry(){return(await(await fetch(`${FORMANT_API_URL}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async getConfiguration(s=!1){let _=await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}});const j=await _.json();if(!j.state.reportedConfiguration)throw new Error("Device has no configuration, has it ever been turned on?");const $=s?j.desiredConfigurationVersion:j.state.reportedConfiguration.version;return _=await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}/configurations/${$}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),(await _.json()).document}async getAgentVersion(){var s;const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return(s=_==null?void 0:_.state)==null?void 0:s.agentVersion}async getFileUrl(s){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[s]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).fileUrls}async startRealtimeConnection(s={}){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const{sessionType:_,deadlineMs:j=1e4,maxConnectRetries:$=3}=typeof s=="number"?{sessionType:s}:s,_e=getRtcClientPool({sessionType:_}).get(this.handleMessage);let et=!1;const tt=new Promise((rt,ot)=>setTimeout(()=>{et=!0,ot(new Error("Connection timed out: the connection could not be finalized in time, possibly due to network issues or misconfigured settings."))},j)),nt=async()=>{if("isReady"in _e)for(;!_e.isReady();)this.assertNotCancelled(et),await delay$1(100);const rt=await this.getRemoteDevicePeerId(_e);this.assertNotCancelled(et);let ot;for(let dt=0;dt<$&&(ot=await _e.connect(rt),!ot);dt++)delay$1(100),this.assertNotCancelled(et);if(!ot)throw new Error(`Session could not be created: exhausted ${$} retries`);let ut=0;for(;!et&&_e.getConnectionStatus(rt)!=="connected";)await delay$1(100),ut+=1;return this.assertNotCancelled(et),console.debug(`${new Date().toISOString()} :: Connection completed after ${ut} retries`),rt};return Promise.race([nt(),tt]).then(rt=>{this.remoteDevicePeerId=rt,this.initConnectionMonitoring(),this.rtcClient=_e,this.emit("connect")}).catch(rt=>{throw console.debug(`${new Date().toISOString()} :: Connection failed: %o`,rt),this.remoteDevicePeerId=null,_e.shutdown().catch(ot=>{console.error("rtcClient cannot shutdown: %o",ot)}),this.emit("connection_failed",rt),rt})}async getRemoteDevicePeerId(s){const _=(await s.getPeers()).find(j=>j.deviceId===this.id);if(!isRtcPeer(_))throw new Error("Cannot find peer, is the robot offline?");return _.id}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let s=!1;if(this.rtcClient){const _=this.rtcClient.getConnections().find(j=>j.getRemotePeerId()===this.remoteDevicePeerId&&j.isActive());(_===void 0||!_.isReady())&&(console.debug(`${new Date().toISOString()} :: data channel closed`),s=!0)}(!this.rtcClient||!this.remoteDevicePeerId||await this.rtcClient.getConnectionStatsInfo(this.remoteDevicePeerId)===void 0||s)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(_=>{console.error(_)}))},1e3)}async getRemotePeer(){const s=(await defined$1(this.rtcClient,"Realtime connection has not been started").getPeers()).find(_=>_.deviceId===this.id);return defined$1(s,"Could not find remote peer for device "+this.id)}async stopRealtimeConnection(){let s=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.remoteDevicePeerId?(await this.rtcClient.disconnect(this.remoteDevicePeerId),this.remoteDevicePeerId=null):s=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(s)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async isInRealtimeSession(){const s=await getPeers(),_=await getRealtimeSessions(),j=s.find($=>$.deviceId===this.id);return j?_[j.id].length>0:!1}async getAvailableCommands(s=!0){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/command-templates/`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.filter(_=>s?!0:_.enabled)}async sendCommand(s,_,j,$,_e){var et;const tt=(await this.getAvailableCommands(!1)).find(ot=>_e?ot.id===_e:ot.name===s);if(!tt)throw new Error(`Could not find command with name "${s}"`);let nt="";_===void 0?tt.parameterEnabled&&tt.parameterValue&&(nt=tt.parameterValue):nt=_;let rt={value:nt,scrubberTime:(j||new Date).toISOString(),meta:{...tt.parameterMeta,...$}};return await fetch(`${FORMANT_API_URL}/v1/admin/commands`,{method:"POST",body:JSON.stringify({commandTemplateId:tt.id,organizationId:this.organizationId,deviceId:this.id,command:tt.command,parameter:rt,userId:(et=Authentication.currentUser)==null?void 0:et.id}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async getCommand(s){return await fetch(`${FORMANT_API_URL}/v1/admin/commands/${s}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async createCaptureStream(s){const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/capture-sessions`,{method:"POST",body:JSON.stringify({deviceId:this.id,streamName:s,tags:{}}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return new CaptureStream(_)}async getTelemetry(s,_,j,$,_e,et,tt){if(_e!==void 0||et!==void 0)throw new Error("Limit and offset are not supported in this method");return await getTelemetry(this.id,s,_,j,$,tt)}async queryEvents(s){if(s.deviceIds)throw new Error("Cannot filter multiple devices via Device class");return s.deviceIds=[this.id],queryEvents(s)}async getTelemetryStreams(){var s,_;const j=await this.getConfiguration(),$=await fetch(`${FORMANT_API_URL}/v1/queries/metadata/stream-names`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),_e=[],et=[];return(_=(s=j.telemetry)==null?void 0:s.streams)==null||_.forEach(tt=>{tt.disabled!==!0&&_e.push(tt.name),tt.onDemand===!0&&et.push(tt.name)}),console.log(et),(await $.json()).items.filter(tt=>!_e.includes(tt)).map(tt=>({name:tt,onDemand:et.includes(tt)}))}async createInterventionRequest(s,_,j,$){return await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-requests`,{method:"POST",body:JSON.stringify({message:s,interventionType:_,time:new Date().toISOString(),deviceId:this.id,tags:$,data:j}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async addInterventionResponse(s,_,j){return await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-responses`,{method:"POST",body:JSON.stringify({interventionId:s,interventionType:_,data:j}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async getAnnotationCount(s,_){return await getAnnotationCount({...s,deviceIds:[this.id]},_)}async getAnnotationCountByIntervals(s,_,j){return await getAnnotationCountByIntervals({...s,deviceIds:[this.id]},_,j)}async eventsCounter(s,_,j,$,_e){return await eventsCounter(s,_,j,$,{..._e,deviceIds:[this.id]})}async createShareLink(s,_){return s.scope.deviceIds=[this.id],await createShareLink(s,_)}}he(Device,"createDevice",createDevice),he(Device,"patchDevice",patchDevice),he(Device,"getDevicesData",getDevicesData),he(Device,"queryDevicesData",queryDevicesData),he(Device,"disableDevice",disableDevice);class PeerDevice extends BaseDevice{constructor(s){super(),he(this,"id"),he(this,"telemetryStreamActive",!1),he(this,"streamTelemetry",{}),this.peerUrl=s}async getLatestTelemetry(){this.telemetryStreamActive||this.subscribeToTelemetry();const s=this.streamTelemetry;return Object.entries(s).map(([_,j])=>({deviceId:this.id,streamName:_,streamType:"json",currentValue:j,currentValueTime:j.timestamp,tags:{}}))}async getTelemetry(s,_,j,$,_e,et,tt){if(Array.isArray(s))throw new Error("Multiple stream names not supported");if($)throw new Error("Tags not supported");if(tt&&_e===void 0)_e=1;else if(tt&&_e!==void 0)throw new Error("latestOnly and limit cannot be used together");let nt=`${this.peerUrl}/v1/querydatapoints?stream_name=${s}&start=${_.toISOString()}&end=${j.toISOString()}`;_e!=null&&_e>0&&(nt+=`&limit=${_e}`),et!=null&&et>=0&&(nt+=`&offset=${et}`);const rt=await(await fetch(nt)).json(),ot=[];for(const ut of rt.results){const dt=parseInt(ut.timestamp),Ut=ut.tags.data_type;delete ut.tags.data_type,ot.push({deviceId:this.id,name:ut.stream,points:[[dt,this.getPointPayload(Ut,ut)]],tags:ut.tags,type:Ut})}return ot.reverse()}async queryEvents(s){const _=["id","viewed","keyword","message","sort","eventTypes","notificationEnabled","userIds","annotationTemplateIds","disableNullMatches","severities","deviceIds","names","types","tags","notNames"];this.checkKeysAndThrow(s,_);let j=`${this.peerUrl}/v1/queryevents?start=${s.start}&end=${s.end}`;s.count!=null&&s.count>0&&(j+=`&limit=${s.count}`),s.offset!=null&&s.offset>=0&&(j+=`&offset=${s.offset}`);const $=await(await fetch(j)).json(),_e=[];for(const et of $.results){const tt=parseInt(et.timestamp),nt={deviceId:this.id,time:new Date(tt).toISOString(),message:et.message,notificationEnabled:et.notificationEnabled,type:et.type,tags:et.tags};et.id!==""&&(nt.id=et.id),et.type!==""&&(nt.type=et.type),et.streamName!==""&&(nt.streamName=et.streamName),et.streamType!==""&&(nt.streamType=et.streamType),et.severity!==""&&(nt.severity=et.severity.toLowerCase()),et.tags&&(nt.tags=et.tags),et.endTimestamp!=="0"&&(nt.endTime=new Date(parseInt(et.endTimestamp)).toISOString()),_e.push(nt)}return _e.reverse()}checkKeysAndThrow(s,_){const j=_.filter($=>$ in s);if(j.length>0)throw new Error(`Filters not currently supported: ${j.join(", ")}.`)}getPointPayload(s,_){switch(s){case"numeric":return _.numeric.value;case"numeric set":return _.numericSet.numerics;case"text":return _.text.value;case"json":return _.json.value;case"bitset":const j=[],$=[];for(const _e of _.bitset.bits)j.push(_e.key),$.push(_e.value);return{keys:j,values:$};case"location":return _.location;case"health":return _.health;case"battery":return _.battery;default:return{}}}subscribeToTelemetry(){this.telemetryStreamActive=!0;let s=0;const _=new XMLHttpRequest;_.responseType="text",_.addEventListener("error",j=>{this.handleXHRError("error")}),_.addEventListener("abort",j=>{this.handleXHRError("abort")}),_.addEventListener("timeout",j=>{this.handleXHRError("timeout")}),_.addEventListener("readystatechange",j=>{_.readyState===XMLHttpRequest.DONE&&this.handleXHRError("closed")}),_.addEventListener("progress",j=>{const $=j.loaded,_e=$-s;s=$,_.responseText.substr(-_e).split(` -`).forEach(et=>{var tt;if(et.length>0){const nt=JSON.parse(et);if((tt=nt.result)!=null&&tt.datapoint){const rt=nt.result.datapoint,ot=rt.stream;delete rt.stream,this.streamTelemetry[ot]=rt}}})}),_.open("POST",`${this.peerUrl}/v1/telemetry`),_.send()}handleXHRError(s){console.warn(`Telemetry stream ended: ${s}`),this.telemetryStreamActive=!1}async getDeviceId(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.id}async getConfiguration(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.document}async getViews(){return(await(await fetch(`${this.peerUrl}/v1/views`)).json()).views}async startRealtimeConnection(s){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const _=new distExports.RtcClient({lanOnlyMode:!0,receive:this.handleMessage,sessionType:s});for(await _.connectLan(this.peerUrl);_.getConnectionStatus(this.peerUrl)!=="connected";)await delay$1(100);this.rtcClient=_,this.initConnectionMonitoring()}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let s=!1;this.rtcClient&&this.rtcClient.getConnectionStatus(this.peerUrl)!=="connected"&&(console.debug(`${new Date().toISOString()} :: data channel closed`),s=!0),(!this.rtcClient||s)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(_=>{console.error(_)}))},1e3)}async getRemotePeer(){return{id:this.peerUrl,organizationId:"",deviceId:this.id,capabilities:[],capabilitySet:{}}}async stopRealtimeConnection(){let s=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.id?(await this.rtcClient.disconnect(this.id),this.remoteDevicePeerId=null):s=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(s)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async getCommandMetadata(){return(await fetch(`${this.peerUrl}/v1/commands`)).json()}async sendCommand(s,_,j,$){const _e={value:_,scrubberTime:(j||new Date).toISOString(),meta:$};return await fetch(`${this.peerUrl}/v1/enqueue-command`,{method:"POST",body:JSON.stringify({command:s,parameter:_e}),headers:{"Content-Type":"application/json"}})}}async function addDeviceToFleet(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"PATCH",body:JSON.stringify({fleetId:s}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function aggregateTelemetry(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).aggregates}async function deleteFleet(o){if(!Authentication.token)throw new Error("Not authenticated");await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async function getAnalyticStreams(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getAnalyticsModules(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/analytics-modules`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getAnalyticsRows(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/rows`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryDevices(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.map(s=>new Device(s.id,s.name,s.organizationId,s.tags))}async function getCurrentGroup(){if(!Authentication.token)throw new Error("Not authenticated");let o=new URLSearchParams("");typeof window<"u"&&window.location&&(o=new URLSearchParams(window.location.search));const s=o.get("group");if(s===null||s.trim()==="")return;const _=await fetch(`${FORMANT_API_URL}/v1/admin/groups/`+s,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),{tagKey:j,tagValue:$}=await _.json();return await queryDevices({tags:{[j]:[$]},enabled:!0,type:"default"})}async function getDevice(o){if(!Authentication.token)throw new Error("Not authenticated");const s=await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json(),_=s.name;return new Device(o,_,s.organizationId,s.tags)}async function getDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return o.items,o.items.map(s=>new Device(s.id,s.name,defined$1(Authentication.currentOrganization),s.tags))}async function getEvent(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/events/query/id=${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getFileUrl(o){const s=await(await fetch(`${FORMANT_API_URL}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[o]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();if(s.fileUrls.length===0)throw new Error("File not found");return s.fileUrls[0]}async function getFleet(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getFleetDevices(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}/devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getInterventions(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-requests`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getLatestTelemetry(...o){const s=o.flat().filter(_=>!!_);return s.length===0?[]:(await(await fetch(`${FORMANT_API_URL}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:s}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getOnlineDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=(await(await fetch(`${FORMANT_API_URL}/v1/queries/online-devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items;return(await getDevices()).filter(s=>o.includes(s.id))}async function getRealtimeDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=(await(await fetch(`${FORMANT_API_URL}/v1/signaling/peers`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.map(s=>s.deviceId);return(await getDevices()).filter(s=>o.includes(s.id))}async function getStreams(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.filter(o=>o.enabled)}async function getTaskReportRows(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/task-report-rows`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getTaskReportTables(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/task-reports`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function listFleets(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function patchFleet(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchStream(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/streams/${o.id}`,{method:"PATCH",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchView(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/views/${o.id}`,{method:"PATCH",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryAnalytics(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function createFleet(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getAllEventTriggerGroup(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getEventTriggerGroup(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchEventTriggerGroup(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}const Rt=class{static async setDefaultDevice(o){Rt.defaultDeviceId=o}static async getCurrentDevice(){if(!Authentication.token)throw new Error("Not authenticated");if(!Rt.defaultDeviceId)throw new Error("No known default device");const o=(await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.find(j=>j.id===Rt.defaultDeviceId),s=o.name,_=new Device(Rt.defaultDeviceId,s,defined$1(Authentication.currentOrganization),o.tags);return Rt.knownContext.push(new WeakRef(_)),_}static async getPeerDevice(o){const s=new PeerDevice(o);return s.id=await s.getDeviceId(),s}static async getDevice(o){const s=await getDevice(o);return Rt.knownContext.push(new WeakRef(s)),s}};let Fleet=Rt;he(Fleet,"defaultDeviceId"),he(Fleet,"knownContext",[]),he(Fleet,"createFleet",createFleet),he(Fleet,"listFleets",listFleets),he(Fleet,"getFleet",getFleet),he(Fleet,"patchFleet",patchFleet),he(Fleet,"deleteFleet",deleteFleet),he(Fleet,"addDeviceToFleet",addDeviceToFleet),he(Fleet,"getFleetDevices",getFleetDevices),he(Fleet,"aggregateTelemetry",aggregateTelemetry),he(Fleet,"createShareLink",createShareLink),he(Fleet,"eventsCounter",eventsCounter),he(Fleet,"getAnalyticStreams",getAnalyticStreams),he(Fleet,"getAnalyticsModules",getAnalyticsModules),he(Fleet,"getAnalyticsRows",getAnalyticsRows),he(Fleet,"getAnnotationCount",getAnnotationCount),he(Fleet,"getAnnotationCountByIntervals",getAnnotationCountByIntervals),he(Fleet,"getCurrentGroup",getCurrentGroup),he(Fleet,"getDevices",getDevices),he(Fleet,"getEvent",getEvent),he(Fleet,"getFileUrl",getFileUrl),he(Fleet,"getInterventions",getInterventions),he(Fleet,"getLatestTelemetry",getLatestTelemetry),he(Fleet,"getOnlineDevices",getOnlineDevices),he(Fleet,"getPeers",getPeers),he(Fleet,"getRealtimeDevices",getRealtimeDevices),he(Fleet,"getRealtimeSessions",getRealtimeSessions),he(Fleet,"getStreams",getStreams),he(Fleet,"getTaskReportRows",getTaskReportRows),he(Fleet,"getTaskReportTables",getTaskReportTables),he(Fleet,"getTelemetry",getTelemetry),he(Fleet,"getViews",getViews),he(Fleet,"patchStream",patchStream),he(Fleet,"patchView",patchView),he(Fleet,"queryAnalytics",queryAnalytics),he(Fleet,"queryDevices",queryDevices),he(Fleet,"queryEvents",queryEvents),he(Fleet,"queryTelemetry",queryTelemetry),he(Fleet,"getAllEventTriggerGroup",getAllEventTriggerGroup),he(Fleet,"getEventTriggerGroup",getEventTriggerGroup),he(Fleet,"patchEventTriggergroup",patchEventTriggerGroup);async function request(o,s){if(!Authentication.token)throw new Error("Not authenticated");const _=await fetch(`${FORMANT_API_URL}/v1${o}`,{...s,headers:{"Content-Type":"application/json",Authorization:`Bearer ${Authentication.token}`,...s==null?void 0:s.headers}});if(!_.ok)throw new Error(`Error: ${_.statusText}`);return _.status===204||_.headers.get("content-length")==="0"?null:await _.json()}async function fetchTeleopViews(){return(await request("/admin/teleop-views")).items}async function getTeleopView(o){return await request(`/admin/teleop-views/${o}`)}async function createTeleopView(o){return await request("/admin/teleop-views",{method:"POST",body:JSON.stringify(o)})}async function updateTeleopView(o,s){return await request(`/admin/teleop-views/${o}`,{method:"PATCH",body:JSON.stringify(s)})}async function deleteTeleopView(o){await request(`/admin/teleop-views/${o}`,{method:"DELETE"})}class Views{constructor(){}}he(Views,"createTeleopView",createTeleopView),he(Views,"updateTeleopView",updateTeleopView),he(Views,"deleteTeleopView",deleteTeleopView),he(Views,"getTeleopView",getTeleopView),he(Views,"fetchTeleopViews",fetchTeleopViews);try{const o=typeof window<"u"&&window.location?new URLSearchParams(window.location.search):new URLSearchParams(""),s=o.get("device");s&&Fleet.setDefaultDevice(s);const _=o.get("auth");_&&Authentication.loginWithToken(_),o.get("module")&&Authentication.listenForRefresh(),typeof window<"u"&&App$2.listenForConnectionEvents()}catch(o){}var signaling_pb={},googleProtobuf={};(function(exports){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(o,s,_){o instanceof String&&(o=String(o));for(var j=o.length,$=0;$=$}},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(o){return o||function(s,_){return $jscomp.findInternal(this,s,_).v}},"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",function(o){return o||function(s,_){var j=$jscomp.checkStringArgs(this,s,"startsWith");s+="";var $=j.length,_e=s.length;_=Math.max(0,Math.min(_|0,j.length));for(var et=0;et<_e&&_<$;)if(j[_++]!=s[et++])return!1;return et>=_e}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(o){return o||function(s){var _=$jscomp.checkStringArgs(this,null,"repeat");if(0>s||1342177279>>=1)&&(_+=_);return j}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=commonjsGlobal||self,goog.exportPath_=function(o,s,_){o=o.split("."),_=_||goog.global,o[0]in _||typeof _.execScript>"u"||_.execScript("var "+o[0]);for(var j;o.length&&(j=o.shift());)o.length||s===void 0?_=_[j]&&_[j]!==Object.prototype[j]?_[j]:_[j]={}:_[j]=s},goog.define=function(o,s){return s},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(o){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(o)},goog.constructNamespace_=function(o,s){goog.exportPath_(o,s)},goog.getScriptNonce=function(o){return o&&o!=goog.global?goog.getScriptNonce_(o.document):(goog.cspNonce_===null&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(o){return(o=o.querySelector&&o.querySelector("script[nonce]"))&&(o=o.nonce||o.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(o)?o:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(o){if(typeof o!="string"||!o||o.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+o+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=o},goog.module.get=function(o){return goog.module.getInternal_(o)},goog.module.getInternal_=function(o){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var o=goog.global.$jscomp;return o?typeof o.getCurrentModulePath!="function"?!1:!!o.getCurrentModulePath():!1},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(o){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=o;else{var s=goog.global.$jscomp;if(!s||typeof s.getCurrentModulePath!="function")throw Error('Module with namespace "'+o+'" has been loaded incorrectly.');s=s.require(s.getCurrentModulePath()),goog.loadedModules_[o]={exports:s,type:goog.ModuleType.ES6,moduleId:o}}},goog.setTestOnly=function(o){if(goog.DISALLOW_TEST_ONLY_CODE)throw o=o||"",Error("Importing test-only code into non-debug environment"+(o?": "+o:"."))},goog.forwardDeclare=function(o){},goog.getObjectByName=function(o,s){o=o.split("."),s=s||goog.global;for(var _=0;_"u")return"object";return s},goog.isArray=function(o){return goog.typeOf(o)=="array"},goog.isArrayLike=function(o){var s=goog.typeOf(o);return s=="array"||s=="object"&&typeof o.length=="number"},goog.isDateLike=function(o){return goog.isObject(o)&&typeof o.getFullYear=="function"},goog.isFunction=function(o){return goog.typeOf(o)=="function"},goog.isObject=function(o){var s=typeof o;return s=="object"&&o!=null||s=="function"},goog.getUid=function(o){return Object.prototype.hasOwnProperty.call(o,goog.UID_PROPERTY_)&&o[goog.UID_PROPERTY_]||(o[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(o){return!!o[goog.UID_PROPERTY_]},goog.removeUid=function(o){o!==null&&"removeAttribute"in o&&o.removeAttribute(goog.UID_PROPERTY_);try{delete o[goog.UID_PROPERTY_]}catch{}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(o){var s=goog.typeOf(o);if(s=="object"||s=="array"){if(typeof o.clone=="function")return o.clone();s=s=="array"?[]:{};for(var _ in o)s[_]=goog.cloneObject(o[_]);return s}return o},goog.bindNative_=function(o,s,_){return o.call.apply(o.bind,arguments)},goog.bindJs_=function(o,s,_){if(!o)throw Error();if(2_?Math.max(0,o.length+_):_,typeof o=="string")return typeof s!="string"||s.length!=1?-1:o.indexOf(s,_);for(;__&&(_=Math.max(0,o.length+_)),typeof o=="string")return typeof s!="string"||s.length!=1?-1:o.lastIndexOf(s,_);for(;0<=_;_--)if(_ in o&&o[_]===s)return _;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,s,_){goog.asserts.assert(o.length!=null),Array.prototype.forEach.call(o,s,_)}:function(o,s,_){for(var j=o.length,$=typeof o=="string"?o.split(""):o,_e=0;_es?null:typeof o=="string"?o.charAt(s):o[s]},goog.array.findIndex=function(o,s,_){for(var j=o.length,$=typeof o=="string"?o.split(""):o,_e=0;_es?null:typeof o=="string"?o.charAt(s):o[s]},goog.array.findIndexRight=function(o,s,_){var j=o.length,$=typeof o=="string"?o.split(""):o;for(--j;0<=j;j--)if(j in $&&s.call(_,$[j],j,o))return j;return-1},goog.array.contains=function(o,s){return 0<=goog.array.indexOf(o,s)},goog.array.isEmpty=function(o){return o.length==0},goog.array.clear=function(o){if(!Array.isArray(o))for(var s=o.length-1;0<=s;s--)delete o[s];o.length=0},goog.array.insert=function(o,s){goog.array.contains(o,s)||o.push(s)},goog.array.insertAt=function(o,s,_){goog.array.splice(o,_,0,s)},goog.array.insertArrayAt=function(o,s,_){goog.partial(goog.array.splice,o,_,0).apply(null,s)},goog.array.insertBefore=function(o,s,_){var j;arguments.length==2||0>(j=goog.array.indexOf(o,_))?o.push(s):goog.array.insertAt(o,s,j)},goog.array.remove=function(o,s){s=goog.array.indexOf(o,s);var _;return(_=0<=s)&&goog.array.removeAt(o,s),_},goog.array.removeLast=function(o,s){return s=goog.array.lastIndexOf(o,s),0<=s?(goog.array.removeAt(o,s),!0):!1},goog.array.removeAt=function(o,s){return goog.asserts.assert(o.length!=null),Array.prototype.splice.call(o,s,1).length==1},goog.array.removeIf=function(o,s,_){return s=goog.array.findIndex(o,s,_),0<=s?(goog.array.removeAt(o,s),!0):!1},goog.array.removeAllIf=function(o,s,_){var j=0;return goog.array.forEachRight(o,function($,_e){s.call(_,$,_e,o)&&goog.array.removeAt(o,_e)&&j++}),j},goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(o){var s=o.length;if(0=arguments.length?Array.prototype.slice.call(o,s):Array.prototype.slice.call(o,s,_)},goog.array.removeDuplicates=function(o,s,_){s=s||o;var j=function(nt){return goog.isObject(nt)?"o"+goog.getUid(nt):(typeof nt).charAt(0)+nt};_=_||j,j={};for(var $=0,_e=0;_e>>1),rt=_?s.call($,o[nt],nt,o):s(j,o[nt]);0s?1:o_?(goog.array.insertAt(o,s,-(_+1)),!0):!1},goog.array.binaryRemove=function(o,s,_){return s=goog.array.binarySearch(o,s,_),0<=s?goog.array.removeAt(o,s):!1},goog.array.bucket=function(o,s,_){for(var j={},$=0;$_*(_e-$))return[];if(0<_)for(o=$;o<_e;o+=_)j.push(o);else for(o=$;o>_e;o+=_)j.push(o);return j},goog.array.repeat=function(o,s){for(var _=[],j=0;js&&Array.prototype.push.apply(o,o.splice(0,-s))),o},goog.array.moveItem=function(o,s,_){goog.asserts.assert(0<=s&&s>=8),s[_++]=$}return s},goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var s="",_=0;_$?s[_++]=$:(2048>$?s[_++]=$>>6|192:(($&64512)==55296&&j+1>18|240,s[_++]=$>>12&63|128):s[_++]=$>>12|224,s[_++]=$>>6&63|128),s[_++]=$&63|128)}return s},goog.crypt.utf8ByteArrayToString=function(o){for(var s=[],_=0,j=0;_$)s[j++]=String.fromCharCode($);else if(191<$&&224>$){var _e=o[_++];s[j++]=String.fromCharCode(($&31)<<6|_e&63)}else if(239<$&&365>$){_e=o[_++];var et=o[_++],tt=o[_++];$=(($&7)<<18|(_e&63)<<12|(et&63)<<6|tt&63)-65536,s[j++]=String.fromCharCode(55296+($>>10)),s[j++]=String.fromCharCode(56320+($&1023))}else _e=o[_++],et=o[_++],s[j++]=String.fromCharCode(($&15)<<12|(_e&63)<<6|et&63)}return s.join("")},goog.crypt.xorByteArray=function(o,s){goog.asserts.assert(o.length==s.length,"XOR array lengths must match");for(var _=[],j=0;j"}else return o===void 0?"undefined":o===null?"null":typeof o},goog.dom.asserts.getWindow_=function(o){try{var s=o&&o.ownerDocument,_=s&&(s.defaultView||s.parentWindow);if(_=_||goog.global,_.Element&&_.Location)return _}catch{}return null},goog.functions={},goog.functions.constant=function(o){return function(){return o}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(o,s){return o},goog.functions.error=function(o){return function(){throw Error(o)}},goog.functions.fail=function(o){return function(){throw o}},goog.functions.lock=function(o,s){return s=s||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,s))}},goog.functions.nth=function(o){return function(){return arguments[o]}},goog.functions.partialRight=function(o,s){var _=Array.prototype.slice.call(arguments,1);return function(){var j=Array.prototype.slice.call(arguments);return j.push.apply(j,_),o.apply(this,j)}},goog.functions.withReturnValue=function(o,s){return goog.functions.sequence(o,goog.functions.constant(s))},goog.functions.equalTo=function(o,s){return function(_){return s?o==_:o===_}},goog.functions.compose=function(o,s){var _=arguments,j=_.length;return function(){var $;j&&($=_[j-1].apply(this,arguments));for(var _e=j-2;0<=_e;_e--)$=_[_e].call(this,$);return $}},goog.functions.sequence=function(o){var s=arguments,_=s.length;return function(){for(var j,$=0;$<_;$++)j=s[$].apply(this,arguments);return j}},goog.functions.and=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(!s[j].apply(this,arguments))return!1;return!0}},goog.functions.or=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(s[j].apply(this,arguments))return!0;return!1}},goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}},goog.functions.create=function(o,s){var _=function(){};return _.prototype=o.prototype,_=new _,o.apply(_,Array.prototype.slice.call(arguments,1)),_},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(o){var s=!1,_;return function(){return goog.functions.CACHE_RETURN_VALUE?(s||(_=o(),s=!0),_):o()}},goog.functions.once=function(o){var s=o;return function(){if(s){var _=s;s=null,_()}}},goog.functions.debounce=function(o,s,_){var j=0;return function($){goog.global.clearTimeout(j);var _e=arguments;j=goog.global.setTimeout(function(){o.apply(_,_e)},s)}},goog.functions.throttle=function(o,s,_){var j=0,$=!1,_e=[],et=function(){j=0,$&&($=!1,tt())},tt=function(){j=goog.global.setTimeout(et,s),o.apply(_,_e)};return function(nt){_e=arguments,j?$=!0:tt()}},goog.functions.rateLimit=function(o,s,_){var j=0,$=function(){j=0};return function(_e){j||(j=goog.global.setTimeout($,s),o.apply(_,arguments))}},goog.dom.HtmlElement=function(){},goog.dom.TagName=function(o){this.tagName_=o},goog.dom.TagName.prototype.toString=function(){return this.tagName_},goog.dom.TagName.A=new goog.dom.TagName("A"),goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR"),goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM"),goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS"),goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET"),goog.dom.TagName.AREA=new goog.dom.TagName("AREA"),goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"),goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE"),goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO"),goog.dom.TagName.B=new goog.dom.TagName("B"),goog.dom.TagName.BASE=new goog.dom.TagName("BASE"),goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT"),goog.dom.TagName.BDI=new goog.dom.TagName("BDI"),goog.dom.TagName.BDO=new goog.dom.TagName("BDO"),goog.dom.TagName.BIG=new goog.dom.TagName("BIG"),goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE"),goog.dom.TagName.BODY=new goog.dom.TagName("BODY"),goog.dom.TagName.BR=new goog.dom.TagName("BR"),goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON"),goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS"),goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION"),goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER"),goog.dom.TagName.CITE=new goog.dom.TagName("CITE"),goog.dom.TagName.CODE=new goog.dom.TagName("CODE"),goog.dom.TagName.COL=new goog.dom.TagName("COL"),goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"),goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND"),goog.dom.TagName.DATA=new goog.dom.TagName("DATA"),goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST"),goog.dom.TagName.DD=new goog.dom.TagName("DD"),goog.dom.TagName.DEL=new goog.dom.TagName("DEL"),goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS"),goog.dom.TagName.DFN=new goog.dom.TagName("DFN"),goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG"),goog.dom.TagName.DIR=new goog.dom.TagName("DIR"),goog.dom.TagName.DIV=new goog.dom.TagName("DIV"),goog.dom.TagName.DL=new goog.dom.TagName("DL"),goog.dom.TagName.DT=new goog.dom.TagName("DT"),goog.dom.TagName.EM=new goog.dom.TagName("EM"),goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED"),goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET"),goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION"),goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE"),goog.dom.TagName.FONT=new goog.dom.TagName("FONT"),goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER"),goog.dom.TagName.FORM=new goog.dom.TagName("FORM"),goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME"),goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET"),goog.dom.TagName.H1=new goog.dom.TagName("H1"),goog.dom.TagName.H2=new goog.dom.TagName("H2"),goog.dom.TagName.H3=new goog.dom.TagName("H3"),goog.dom.TagName.H4=new goog.dom.TagName("H4"),goog.dom.TagName.H5=new goog.dom.TagName("H5"),goog.dom.TagName.H6=new goog.dom.TagName("H6"),goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD"),goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"),goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP"),goog.dom.TagName.HR=new goog.dom.TagName("HR"),goog.dom.TagName.HTML=new goog.dom.TagName("HTML"),goog.dom.TagName.I=new goog.dom.TagName("I"),goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME"),goog.dom.TagName.IMG=new goog.dom.TagName("IMG"),goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT"),goog.dom.TagName.INS=new goog.dom.TagName("INS"),goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX"),goog.dom.TagName.KBD=new goog.dom.TagName("KBD"),goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN"),goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL"),goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND"),goog.dom.TagName.LI=new goog.dom.TagName("LI"),goog.dom.TagName.LINK=new goog.dom.TagName("LINK"),goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN"),goog.dom.TagName.MAP=new goog.dom.TagName("MAP"),goog.dom.TagName.MARK=new goog.dom.TagName("MARK"),goog.dom.TagName.MATH=new goog.dom.TagName("MATH"),goog.dom.TagName.MENU=new goog.dom.TagName("MENU"),goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM"),goog.dom.TagName.META=new goog.dom.TagName("META"),goog.dom.TagName.METER=new goog.dom.TagName("METER"),goog.dom.TagName.NAV=new goog.dom.TagName("NAV"),goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES"),goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT"),goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT"),goog.dom.TagName.OL=new goog.dom.TagName("OL"),goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP"),goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION"),goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"),goog.dom.TagName.P=new goog.dom.TagName("P"),goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM"),goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE"),goog.dom.TagName.PRE=new goog.dom.TagName("PRE"),goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS"),goog.dom.TagName.Q=new goog.dom.TagName("Q"),goog.dom.TagName.RP=new goog.dom.TagName("RP"),goog.dom.TagName.RT=new goog.dom.TagName("RT"),goog.dom.TagName.RTC=new goog.dom.TagName("RTC"),goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY"),goog.dom.TagName.S=new goog.dom.TagName("S"),goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"),goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT"),goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION"),goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT"),goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL"),goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE"),goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN"),goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE"),goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG"),goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"),goog.dom.TagName.SUB=new goog.dom.TagName("SUB"),goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY"),goog.dom.TagName.SUP=new goog.dom.TagName("SUP"),goog.dom.TagName.SVG=new goog.dom.TagName("SVG"),goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE"),goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY"),goog.dom.TagName.TD=new goog.dom.TagName("TD"),goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE"),goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA"),goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"),goog.dom.TagName.TH=new goog.dom.TagName("TH"),goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD"),goog.dom.TagName.TIME=new goog.dom.TagName("TIME"),goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE"),goog.dom.TagName.TR=new goog.dom.TagName("TR"),goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK"),goog.dom.TagName.TT=new goog.dom.TagName("TT"),goog.dom.TagName.U=new goog.dom.TagName("U"),goog.dom.TagName.UL=new goog.dom.TagName("UL"),goog.dom.TagName.VAR=new goog.dom.TagName("VAR"),goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO"),goog.dom.TagName.WBR=new goog.dom.TagName("WBR"),goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(o){return goog.dom.tags.VOID_TAGS_[o]===!0},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.string={},goog.string.TypedString=function(){},goog.string.Const=function(o,s){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.DEBUG&&(goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"}),goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")},goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0,goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeScript.fromConstant=function(o){return o=goog.string.Const.unwrap(o),o.length===0?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeScript.fromConstantAndArgs=function(o,s){for(var _=[],j=1;jo?goog.i18n.bidi.Dir.RTL:s?null:goog.i18n.bidi.Dir.NEUTRAL:o==null?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\uD801\uD804-\uD839\uD83C-\uDBFF豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\uD802-\uD803\uD83A-\uD83Bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(o,s){return s?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(o,s){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(o,s){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)},goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)},goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(o,s){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(o,s){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(o,s){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(o,s){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(o,s){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(o,s){return s=(s===void 0?goog.i18n.bidi.hasAnyRtl(o):s)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,s+"$&"+s)},goog.i18n.bidi.enforceRtlInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=rtl"):` -`+o+""},goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=ltr"):` -`+o+""},goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(o,s){var _=0,j=0,$=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s).split(goog.i18n.bidi.wordSeparatorRe_),s=0;sgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(o,s){return goog.i18n.bidi.estimateDirection(o,s)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(o,s){o&&(s=goog.i18n.bidi.toDir(s))&&(o.style.textAlign=s==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=s==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(o,s){switch(goog.i18n.bidi.estimateDirection(s)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(o,s){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=o===goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,s){var _=goog.html.TrustedResourceUrl.unwrap(this);_=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(_);var j=_[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(_[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",_[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",j,s))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.format=function(o,s){var _=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(_))throw Error("Invalid TrustedResourceUrl format: "+_);return o=_.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(j,$){if(!Object.prototype.hasOwnProperty.call(s,$))throw Error('Found marker, "'+$+'", in format string, "'+_+'", but no valid label mapping found in args: '+JSON.stringify(s));return j=s[$],j instanceof goog.string.Const?goog.string.Const.unwrap(j):encodeURIComponent(String(j))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(o,s,_,j){return goog.html.TrustedResourceUrl.format(o,s).cloneWithParams(_,j)},goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.TrustedResourceUrl.fromConstants=function(o){for(var s="",_=0;_o.length?"&":"")+encodeURIComponent(j)+"="+encodeURIComponent(String(et)))}}return s},goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.internal={},goog.string.internal.startsWith=function(o,s){return o.lastIndexOf(s,0)==0},goog.string.internal.endsWith=function(o,s){var _=o.length-s.length;return 0<=_&&o.indexOf(s,_)==_},goog.string.internal.caseInsensitiveStartsWith=function(o,s){return goog.string.internal.caseInsensitiveCompare(s,o.substr(0,s.length))==0},goog.string.internal.caseInsensitiveEndsWith=function(o,s){return goog.string.internal.caseInsensitiveCompare(s,o.substr(o.length-s.length,s.length))==0},goog.string.internal.caseInsensitiveEquals=function(o,s){return o.toLowerCase()==s.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(o){return/^[\s\xa0]*$/.test(o)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(o){return o.trim()}:function(o){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(o)[1]},goog.string.internal.caseInsensitiveCompare=function(o,s){return o=String(o).toLowerCase(),s=String(s).toLowerCase(),o":"
")},goog.string.internal.htmlEscape=function(o,s){if(s)o=o.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(o))return o;o.indexOf("&")!=-1&&(o=o.replace(goog.string.internal.AMP_RE_,"&")),o.indexOf("<")!=-1&&(o=o.replace(goog.string.internal.LT_RE_,"<")),o.indexOf(">")!=-1&&(o=o.replace(goog.string.internal.GT_RE_,">")),o.indexOf('"')!=-1&&(o=o.replace(goog.string.internal.QUOT_RE_,""")),o.indexOf("'")!=-1&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),o.indexOf("\0")!=-1&&(o=o.replace(goog.string.internal.NULL_RE_,"�"))}return o},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=//g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(o,s){return goog.string.internal.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.internal.contains=function(o,s){return o.indexOf(s)!=-1},goog.string.internal.caseInsensitiveContains=function(o,s){return goog.string.internal.contains(o.toLowerCase(),s.toLowerCase())},goog.string.internal.compareVersions=function(o,s){var _=0;o=goog.string.internal.trim(String(o)).split("."),s=goog.string.internal.trim(String(s)).split(".");for(var j=Math.max(o.length,s.length),$=0;_==0&&$s?1:0},goog.html.SafeUrl=function(o,s){this.privateDoNotAccessOrElseSafeUrlWrappedValue_=o===goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)},goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SafeUrl.isSafeMimeType(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromMediaSource=function(o){return goog.asserts.assert("MediaSource"in goog.global,"No support for MediaSource"),o=o instanceof MediaSource?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.DATA_URL_PATTERN_=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(o){o=o.replace(/(%0A|%0D)/g,"");var s=o.match(goog.html.DATA_URL_PATTERN_);return s=s&&goog.html.SafeUrl.isSafeMimeType(s[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s?o:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var s=o.indexOf("#");if(0+~[\]()=^$|]+$/.test(_))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(_))throw Error("() and [] in selector must be balanced, got: "+o);return s instanceof goog.html.SafeStyle||(s=goog.html.SafeStyle.create(s)),o=o+"{"+goog.html.SafeStyle.unwrap(s).replace(/",null)},goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.html.SafeHtml.create=function(o,s,_){return goog.html.SafeHtml.verifyTagName(String(o)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(o),s,_)},goog.html.SafeHtml.verifyTagName=function(o){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(o))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Invalid tag name <"+o+">.":"");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Tag name <"+o+"> is not allowed for SafeHtml.":"")},goog.html.SafeHtml.createIframe=function(o,s,_,j){o&&goog.html.TrustedResourceUrl.unwrap(o);var $={};return $.src=o||null,$.srcdoc=s&&goog.html.SafeHtml.unwrap(s),o=goog.html.SafeHtml.combineAttributes($,{sandbox:""},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.createSandboxIframe=function(o,s,_,j){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"The browser does not support sandboxed iframes.":"");var $={};return $.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,$.srcdoc=s||null,$.sandbox="",o=goog.html.SafeHtml.combineAttributes($,{},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(o,s){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},s),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(o,s){for(var _ in s){var j=_.toLowerCase();if(j=="language"||j=="src"||j=="text"||j=="type")throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot set "'+j+'" attribute':"")}for(_="",o=goog.array.concat(o),j=0;j does not allow content."),$+=">"):(j=goog.html.SafeHtml.concat(_),$+=">"+goog.html.SafeHtml.unwrap(j)+"",j=j.getDirection()),(o=s&&s.dir)&&(j=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse($,j)},goog.html.SafeHtml.stringifyAttributes=function(o,s){var _="";if(s)for(var j in s){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(j))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Invalid attribute name "'+j+'".':"");var $=s[j];$!=null&&(_+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,j,$))}return _},goog.html.SafeHtml.combineAttributes=function(o,s,_){var j={},$;for($ in o)goog.asserts.assert($.toLowerCase()==$,"Must be lower case"),j[$]=o[$];for($ in s)goog.asserts.assert($.toLowerCase()==$,"Must be lower case"),j[$]=s[$];if(_)for($ in _){var _e=$.toLowerCase();if(_e in o)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot override "'+_e+'" attribute, got "'+$+'" with value "'+_[$]+'"':"");_e in s&&delete j[_e],j[$]=_[$]}return j},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("
",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,s,_){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(s,_||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(s)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(o,s,_){o.insertAdjacentHTML(s,goog.html.SafeHtml.unwrapTrustedHTML(_))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&typeof document>"u")return!1;var o=document.createElement("div"),s=document.createElement("div");return s.appendChild(document.createElement("div")),o.appendChild(s),goog.DEBUG&&!o.firstChild?!1:(s=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!s.parentElement)}),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,s){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setInnerHtml=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[_])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,s)},goog.dom.safe.setOuterHtml=function(o,s){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setFormElementAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setButtonFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setInputFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setStyle=function(o,s){o.style.cssText=goog.html.SafeStyle.unwrap(s)},goog.dom.safe.documentWrite=function(o,s){o.write(goog.html.SafeHtml.unwrapTrustedHTML(s))},goog.dom.safe.setAnchorHref=function(o,s){goog.dom.asserts.assertIsHTMLAnchorElement(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setImageSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:image\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setAudioSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:audio\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setVideoSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:video\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setEmbedSrc=function(o,s){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setFrameSrc=function(o,s){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrap(s)},goog.dom.safe.setIframeSrc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrap(s)},goog.dom.safe.setIframeSrcdoc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setLinkHrefAndRel=function(o,s,_){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=_,goog.string.internal.caseInsensitiveContains(_,"stylesheet")?(goog.asserts.assert(s instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrap(s)):o.href=s instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(s):s instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(s):goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeAssertUnchanged(s))},goog.dom.safe.setObjectData=function(o,s){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setScriptSrc=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setScriptContent=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setLocationHref=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.assignLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.assign(goog.html.SafeUrl.unwrap(s))},goog.dom.safe.replaceLocation=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.replace(goog.html.SafeUrl.unwrap(s))},goog.dom.safe.openInWindow=function(o,s,_,j,$){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),s=s||goog.global,_=_ instanceof goog.string.Const?goog.string.Const.unwrap(_):_||"",s.open(goog.html.SafeUrl.unwrap(o),_,j,$)},goog.dom.safe.parseFromStringHtml=function(o,s){return goog.dom.safe.parseFromString(o,s,"text/html")},goog.dom.safe.parseFromString=function(o,s,_){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(s),_)},goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var s=goog.global.URL.createObjectURL(o);return o=new goog.global.Image,o.onload=function(){goog.global.URL.revokeObjectURL(s)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),s)),o},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(o,s){for(var _=o.split("%s"),j="",$=Array.prototype.slice.call(arguments,1);$.length&&1<_.length;)j+=_.shift()+$.shift();return j+_.join("%s")},goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(o){return o.length==0},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)},goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)},goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)},goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)},goog.string.isSpace=function(o){return o==" "},goog.string.isUnicodeChar=function(o){return o.length==1&&" "<=o&&"~">=o||"€"<=o&&"�">=o},goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,` -`)},goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(o,s,_){if(o==s)return 0;if(!o)return-1;if(!s)return 1;for(var j=o.toLowerCase().match(_),$=s.toLowerCase().match(_),_e=Math.min(j.length,$.length),et=0;et<_e;et++){_=j[et];var tt=$[et];if(_!=tt)return o=parseInt(_,10),!isNaN(o)&&(s=parseInt(tt,10),!isNaN(s)&&o-s)?o-s:_",""":'"'},j=s?s.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function($,_e){var et=_[$];return et||(_e.charAt(0)=="#"&&(_e=+("0"+_e.substr(1)),isNaN(_e)||(et=String.fromCharCode(_e))),et||(goog.dom.safe.setInnerHtml(j,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),$+" ")),et=j.firstChild.nodeValue.slice(0,-1)),_[$]=et)})},goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(s,_){switch(_){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return _.charAt(0)!="#"||(_=+("0"+_.substr(1)),isNaN(_))?s:String.fromCharCode(_)}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(o,s){return goog.string.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(o,s){for(var _=s.length,j=0;j<_;j++){var $=_==1?s:s.charAt(j);if(o.charAt(0)==$&&o.charAt(o.length-1)==$)return o.substring(1,o.length-1)}return o},goog.string.truncate=function(o,s,_){return _&&(o=goog.string.unescapeEntities(o)),o.length>s&&(o=o.substring(0,s-3)+"..."),_&&(o=goog.string.htmlEscape(o)),o},goog.string.truncateMiddle=function(o,s,_,j){if(_&&(o=goog.string.unescapeEntities(o)),j&&o.length>s){j>s&&(j=s);var $=o.length-j;o=o.substring(0,s-j)+"..."+o.substring($)}else o.length>s&&(j=Math.floor(s/2),$=o.length-j,o=o.substring(0,j+s%2)+"..."+o.substring($));return _&&(o=goog.string.htmlEscape(o)),o},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(o){o=String(o);for(var s=['"'],_=0;_$?j:goog.string.escapeChar(j))}return s.push('"'),s.join("")},goog.string.escapeString=function(o){for(var s=[],_=0;_s)var _=o;else 256>s?(_="\\x",(16>s||256s&&(_+="0")),_+=s.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=_},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(o,s){return o&&s?o.split(s).length-1:0},goog.string.removeAt=function(o,s,_){var j=o;return 0<=s&&s>>0;return s},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(o){var s=Number(o);return s==0&&goog.string.isEmptyOrWhitespace(o)?NaN:s},goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)},goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)},goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(s,_){return _.toUpperCase()})},goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(o,s){return s=typeof s=="string"?goog.string.regExpEscape(s):"\\s",o.replace(new RegExp("(^"+(s?"|["+s+"]+":"")+")([a-z])","g"),function(_,j,$){return j+$.toUpperCase()})},goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()},goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),typeof o=="string"?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN},goog.string.splitLimit=function(o,s,_){o=o.split(s);for(var j=[];0<_&&o.length;)j.push(o.shift()),_--;return o.length&&j.push(o.join(s)),j},goog.string.lastComponent=function(o,s){if(s)typeof s=="string"&&(s=[s]);else return o;for(var _=-1,j=0;j_&&(_=$)}return _==-1?o:o.slice(_+1)},goog.string.editDistance=function(o,s){var _=[],j=[];if(o==s)return 0;if(!o.length||!s.length)return Math.max(o.length,s.length);for(var $=0;$parseFloat(o))?String(s):o},goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(o);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(o);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(o)},goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(o,s){return goog.string.compareVersions(o,s)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE){var o=goog.userAgent.getDocumentMode_();return o||parseInt(goog.userAgent.VERSION,10)||void 0}}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)},goog.crypt.base64.byteToCharMaps_={},goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function",goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function",goog.crypt.base64.encodeByteArray=function(o,s){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),s===void 0&&(s=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),s=goog.crypt.base64.byteToCharMaps_[s];for(var _=[],j=0;j>2;$=($&3)<<4|et>>4,et=(et&15)<<2|nt>>6,nt&=63,tt||(nt=64,_e||(et=64)),_.push(s[rt],s[$],s[et]||"",s[nt]||"")}return _.join("")},goog.crypt.base64.encodeString=function(o,s){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!s?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),s)},goog.crypt.base64.decodeString=function(o,s){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!s)return goog.global.atob(o);var _="";return goog.crypt.base64.decodeStringInternal_(o,function(j){_+=String.fromCharCode(j)}),_},goog.crypt.base64.decodeStringToByteArray=function(o,s){var _=[];return goog.crypt.base64.decodeStringInternal_(o,function(j){_.push(j)}),_},goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var s=o.length,_=3*s/4;_%3?_=Math.floor(_):goog.crypt.base64.isPadding_(o[s-1])&&(_=goog.crypt.base64.isPadding_(o[s-2])?_-2:_-1);var j=new Uint8Array(_),$=0;return goog.crypt.base64.decodeStringInternal_(o,function(_e){j[$++]=_e}),j.subarray(0,$)},goog.crypt.base64.decodeStringInternal_=function(o,s){function _(nt){for(;j>4),et!=64&&(s(_e<<4&240|et>>2),tt!=64&&s(et<<6&192|tt))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),s=["+/=","+/","-_=","-_.","-_"],_=0;5>_;_++){var j=o.concat(s[_].split(""));goog.crypt.base64.byteToCharMaps_[_]=j;for(var $=0;$>>0;o=Math.floor((o-s)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=s,jspb.utils.split64High=o},jspb.utils.splitInt64=function(o){var s=0>o;o=Math.abs(o);var _=o>>>0;o=Math.floor((o-_)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,s&&(o=~o>>>0,_=(~_>>>0)+1,4294967295<_&&(_=0,o++,4294967295o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;s&&(o==0?_==0?_=o=4294967295:(_--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=_},jspb.utils.splitFloat32=function(o){var s=0>o?1:0;if(o=s?-o:o,o===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|2139095040)>>>0;else if(o>>0;else{var _=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-_),o=Math.round(o*jspb.BinaryConstants.TWO_TO_23),16777216<=o&&++_,jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|_+127<<23|o&8388607)>>>0}},jspb.utils.splitFloat64=function(o){var s=0>o?1:0;if(o=s?-o:o,o===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(s<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o>>0,jspb.utils.split64Low=_>>>0}else{_=o;var j=0;if(2<=_)for(;2<=_&&1023>j;)j++,_/=2;else for(;1>_&&-1022>>0,jspb.utils.split64High=(s<<31|j+1023<<20|o)>>>0,jspb.utils.split64Low=_}},jspb.utils.splitHash64=function(o){var s=o.charCodeAt(0),_=o.charCodeAt(1),j=o.charCodeAt(2),$=o.charCodeAt(3),_e=o.charCodeAt(4),et=o.charCodeAt(5),tt=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=s+(_<<8)+(j<<16)+($<<24)>>>0,jspb.utils.split64High=_e+(et<<8)+(tt<<16)+(o<<24)>>>0},jspb.utils.joinUint64=function(o,s){return s*jspb.BinaryConstants.TWO_TO_32+(o>>>0)},jspb.utils.joinInt64=function(o,s){var _=s&2147483648;return _&&(o=~o+1>>>0,s=~s>>>0,o==0&&(s=s+1>>>0)),o=jspb.utils.joinUint64(o,s),_?-o:o},jspb.utils.toZigzag64=function(o,s,_){var j=s>>31;return _(o<<1^j,(s<<1|o>>>31)^j)},jspb.utils.joinZigzag64=function(o,s){return jspb.utils.fromZigzag64(o,s,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(o,s,_){var j=-(o&1);return _((o>>>1|s<<31)^j,s>>>1^j)},jspb.utils.joinFloat32=function(o,s){s=2*(o>>31)+1;var _=o>>>23&255;return o&=8388607,_==255?o?NaN:1/0*s:_==0?s*Math.pow(2,-149)*o:s*Math.pow(2,_-150)*(o+Math.pow(2,23))},jspb.utils.joinFloat64=function(o,s){var _=2*(s>>31)+1,j=s>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(s&1048575)+o,j==2047?o?NaN:1/0*_:j==0?_*Math.pow(2,-1074)*o:_*Math.pow(2,j-1075)*(o+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(o,s){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,s>>>0&255,s>>>8&255,s>>>16&255,s>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(o,s){function _($,_e){return $=$?String($):"",_e?"0000000".slice($.length)+$:$}if(2097151>=s)return""+jspb.utils.joinUint64(o,s);var j=(o>>>24|s<<8)>>>0&16777215;return s=s>>16&65535,o=(o&16777215)+6777216*j+6710656*s,j+=8147497*s,s*=2,1e7<=o&&(j+=Math.floor(o/1e7),o%=1e7),1e7<=j&&(s+=Math.floor(j/1e7),j%=1e7),_(s,0)+_(j,s)+_(o,1)},jspb.utils.joinSignedDecimalString=function(o,s){var _=s&2147483648;return _&&(o=~o+1>>>0,s=~s+(o==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,s),_?"-"+o:o},jspb.utils.hash64ToDecimalString=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinSignedDecimalString(o,_):jspb.utils.joinUnsignedDecimalString(o,_)},jspb.utils.hash64ArrayToDecimalStrings=function(o,s){for(var _=Array(o.length),j=0;jnt&&(et!==1||0>>=8}function _(){for(var et=0;8>et;et++)$[et]=~$[et]&255}jspb.asserts.assert(0o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)},jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(o){var s=Array(18);s[0]="0",s[1]="x";for(var _=0;8>_;_++){var j=o.charCodeAt(7-_);s[2*_+2]=jspb.utils.toHexDigit_(j>>4),s[2*_+3]=jspb.utils.toHexDigit_(j&15)}return s.join("")},jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),jspb.asserts.assert(o.length==18),jspb.asserts.assert(o[0]=="0"),jspb.asserts.assert(o[1]=="x");for(var s="",_=0;8>_;_++){var j=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+2)),$=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+3));s=String.fromCharCode(16*j+$)+s}return s},jspb.utils.hash64ToNumber=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinInt64(o,_):jspb.utils.joinUint64(o,_)},jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(o,s,_){for(var j=0,$=s;$<_;$++)j+=o[$]>>7;return _-s-j},jspb.utils.countVarintFields=function(o,s,_,j){var $=0;if(j=8*j+jspb.BinaryConstants.WireType.VARINT,128>j)for(;s<_&&o[s++]==j;)for($++;;){var _e=o[s++];if(!(_e&128))break}else for(;s<_;){for(_e=j;128<_e;){if(o[s]!=(_e&127|128))return $;s++,_e>>=7}if(o[s++]!=_e)break;for($++;_e=o[s++],(_e&128)!=0;);}return $},jspb.utils.countFixedFields_=function(o,s,_,j,$){var _e=0;if(128>j)for(;s<_&&o[s++]==j;)_e++,s+=$;else for(;s<_;){for(var et=j;128>=7}if(o[s++]!=et)break;_e++,s+=$}return _e},jspb.utils.countFixed32Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(o,s,_,j){var $=0;for(j=8*j+jspb.BinaryConstants.WireType.DELIMITED;s<_;){for(var _e=j;128<_e;){if(o[s++]!=(_e&127|128))return $;_e>>=7}if(o[s++]!=_e)break;$++;for(var et=0,tt=1;_e=o[s++],et+=(_e&127)*tt,tt*=128,(_e&128)!=0;);s+=et}return $},jspb.utils.debugBytesToTextFormat=function(o){var s='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var _=0;_o[_]&&(s+="0"),s+=o[_].toString(16)}return s+'"'},jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()},jspb.utils.stringToByteArray=function(o){for(var s=new Uint8Array(o.length),_=0;_jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(o,s,_){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=s!==void 0?s:0,this.end_=_!==void 0?this.start_+_:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o},jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,jspb.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var s=128,_=0,j=0,$=0;4>$&&128<=s;$++)s=this.bytes_[this.cursor_++],_|=(s&127)<<7*$;if(128<=s&&(s=this.bytes_[this.cursor_++],_|=(s&127)<<28,j|=(s&127)>>4),128<=s)for($=0;5>$&&128<=s;$++)s=this.bytes_[this.cursor_++],j|=(s&127)<<7*$+3;if(128>s)return o(_>>>0,j>>>0);jspb.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var s=this.bytes_,_=this.cursor_;this.cursor_+=8;for(var j=0,$=0,_e=_+7;_e>=_;_e--)j=j<<8|s[_e],$=$<<8|s[_e+4];return o(j,$)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,s=o[this.cursor_+0],_=s&127;return 128>s?(this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+1],_|=(s&127)<<7,128>s?(this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+2],_|=(s&127)<<14,128>s?(this.cursor_+=3,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+3],_|=(s&127)<<21,128>s?(this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+4],_|=(s&15)<<28,128>s?(this.cursor_+=5,jspb.asserts.assert(this.cursor_<=this.end_),_>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&jspb.asserts.assert(!1),jspb.asserts.assert(this.cursor_<=this.end_),_)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=function(){return~~this.readUnsignedVarint32()},jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(o&1)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),o},jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8|_<<16|j<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUint64(o,s)},jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),o<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8|_<<16|j<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinInt64(o,s)},jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinSignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinFloat64(o,s)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(o){var s=this.bytes_,_=this.cursor_;o=_+o;for(var j=[],$="";__e)j.push(_e);else{if(192>_e)continue;if(224>_e){var et=s[_++];j.push((_e&31)<<6|et&63)}else if(240>_e){et=s[_++];var tt=s[_++];j.push((_e&15)<<12|(et&63)<<6|tt&63)}else if(248>_e){et=s[_++],tt=s[_++];var nt=s[_++];_e=(_e&7)<<18|(et&63)<<12|(tt&63)<<6|nt&63,_e-=65536,j.push((_e>>10&1023)+55296,(_e&1023)+56320)}}8192<=j.length&&($+=String.fromCharCode.apply(null,j),j.length=0)}return $+=goog.crypt.byteArrayToString(j),this.cursor_=_,$},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)},jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,jspb.asserts.fail("Invalid byte length!"),new Uint8Array(0);var s=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,jspb.asserts.assert(this.cursor_<=this.end_),s},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,s=this.cursor_,_=o[s+0],j=o[s+1],$=o[s+2],_e=o[s+3],et=o[s+4],tt=o[s+5],nt=o[s+6];return o=o[s+7],this.cursor_+=8,String.fromCharCode(_,j,$,_e,et,tt,nt,o)},jspb.BinaryReader=function(o,s,_){this.decoder_=jspb.BinaryDecoder.alloc(o,s,_),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(o,s,_){if(jspb.BinaryReader.instanceCache_.length){var j=jspb.BinaryReader.instanceCache_.pop();return o&&j.decoder_.setBlock(o,s,_),j}return new jspb.BinaryReader(o,s,_)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},goog.exportProperty(jspb.BinaryReader.prototype,"getFieldNumber",jspb.BinaryReader.prototype.getFieldNumber),jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},goog.exportProperty(jspb.BinaryReader.prototype,"isDelimited",jspb.BinaryReader.prototype.isDelimited),jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},goog.exportProperty(jspb.BinaryReader.prototype,"isEndGroup",jspb.BinaryReader.prototype.isEndGroup),jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(o,s,_){this.decoder_.setBlock(o,s,_),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return jspb.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),s=o>>>3;return o&=7,o!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(jspb.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=s,this.nextWireType_=o,!0)},goog.exportProperty(jspb.BinaryReader.prototype,"nextField",jspb.BinaryReader.prototype.nextField),jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(jspb.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)jspb.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(jspb.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(jspb.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){var o=this.nextField_;do{if(!this.nextField()){jspb.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(jspb.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}while(1)},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:jspb.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(o,s){this.readCallbacks_===null&&(this.readCallbacks_={}),jspb.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=s},jspb.BinaryReader.prototype.runReadCallback=function(o){return jspb.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],jspb.asserts.assert(o),o(this)},jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var s=jspb.BinaryConstants.FieldType;switch(o){case s.DOUBLE:return this.readDouble();case s.FLOAT:return this.readFloat();case s.INT64:return this.readInt64();case s.UINT64:return this.readUint64();case s.INT32:return this.readInt32();case s.FIXED64:return this.readFixed64();case s.FIXED32:return this.readFixed32();case s.BOOL:return this.readBool();case s.STRING:return this.readString();case s.GROUP:jspb.asserts.fail("Group field type not supported in readAny()");case s.MESSAGE:jspb.asserts.fail("Message field type not supported in readAny()");case s.BYTES:return this.readBytes();case s.UINT32:return this.readUint32();case s.ENUM:return this.readEnum();case s.SFIXED32:return this.readSfixed32();case s.SFIXED64:return this.readSfixed64();case s.SINT32:return this.readSint32();case s.SINT64:return this.readSint64();case s.FHASH64:return this.readFixedHash64();case s.VHASH64:return this.readVarintHash64();default:jspb.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(o,s){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var _=this.decoder_.getEnd(),j=this.decoder_.readUnsignedVarint32();j=this.decoder_.getCursor()+j,this.decoder_.setEnd(j),s(o,this),this.decoder_.setCursor(j),this.decoder_.setEnd(_)},goog.exportProperty(jspb.BinaryReader.prototype,"readMessage",jspb.BinaryReader.prototype.readMessage),jspb.BinaryReader.prototype.readGroup=function(o,s,_){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),jspb.asserts.assert(this.nextField_==o),_(s,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(jspb.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},goog.exportProperty(jspb.BinaryReader.prototype,"readGroup",jspb.BinaryReader.prototype.readGroup),jspb.BinaryReader.prototype.getFieldDecoder=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),s=this.decoder_.getCursor(),_=s+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),s,o),this.decoder_.setCursor(_),o},jspb.BinaryReader.prototype.readInt32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readInt32",jspb.BinaryReader.prototype.readInt32),jspb.BinaryReader.prototype.readInt32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readInt64",jspb.BinaryReader.prototype.readInt64),jspb.BinaryReader.prototype.readInt64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readUint32",jspb.BinaryReader.prototype.readUint32),jspb.BinaryReader.prototype.readUint32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readUint64",jspb.BinaryReader.prototype.readUint64),jspb.BinaryReader.prototype.readUint64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readSint32",jspb.BinaryReader.prototype.readSint32),jspb.BinaryReader.prototype.readSint64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readSint64",jspb.BinaryReader.prototype.readSint64),jspb.BinaryReader.prototype.readSint64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readFixed32",jspb.BinaryReader.prototype.readFixed32),jspb.BinaryReader.prototype.readFixed64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readFixed64",jspb.BinaryReader.prototype.readFixed64),jspb.BinaryReader.prototype.readFixed64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},goog.exportProperty(jspb.BinaryReader.prototype,"readSfixed32",jspb.BinaryReader.prototype.readSfixed32),jspb.BinaryReader.prototype.readSfixed32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},goog.exportProperty(jspb.BinaryReader.prototype,"readSfixed64",jspb.BinaryReader.prototype.readSfixed64),jspb.BinaryReader.prototype.readSfixed64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},goog.exportProperty(jspb.BinaryReader.prototype,"readFloat",jspb.BinaryReader.prototype.readFloat),jspb.BinaryReader.prototype.readDouble=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},goog.exportProperty(jspb.BinaryReader.prototype,"readDouble",jspb.BinaryReader.prototype.readDouble),jspb.BinaryReader.prototype.readBool=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readBool",jspb.BinaryReader.prototype.readBool),jspb.BinaryReader.prototype.readEnum=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readEnum",jspb.BinaryReader.prototype.readEnum),jspb.BinaryReader.prototype.readString=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)},goog.exportProperty(jspb.BinaryReader.prototype,"readString",jspb.BinaryReader.prototype.readString),jspb.BinaryReader.prototype.readBytes=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)},goog.exportProperty(jspb.BinaryReader.prototype,"readBytes",jspb.BinaryReader.prototype.readBytes),jspb.BinaryReader.prototype.readVarintHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryReader.prototype.readFixedHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)},jspb.BinaryReader.prototype.readPackedField_=function(o){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var s=this.decoder_.readUnsignedVarint32();s=this.decoder_.getCursor()+s;for(var _=[];this.decoder_.getCursor()>>7|s<<25)>>>0,s>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,s){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(s==Math.floor(s)),jspb.asserts.assert(0<=o&&o>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&os;s++)this.buffer_.push(o&127|128),o>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&o=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_31&&o>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o>>0,j>>>0)})},jspb.BinaryEncoder.prototype.writeUint8=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&oo),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_63&&+o=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(o){jspb.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(o){jspb.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&oj)this.buffer_.push(j);else if(2048>j)this.buffer_.push(j>>6|192),this.buffer_.push(j&63|128);else if(65536>j)if(55296<=j&&56319>=j&&_+1=$&&(j=1024*(j-55296)+$-56320+65536,this.buffer_.push(j>>18|240),this.buffer_.push(j>>12&63|128),this.buffer_.push(j>>6&63|128),this.buffer_.push(j&63|128),_++)}else this.buffer_.push(j>>12|224),this.buffer_.push(j>>6&63|128),this.buffer_.push(j&63|128)}return this.buffer_.length-s},jspb.arith={},jspb.arith.UInt64=function(o,s){this.lo=o,this.hi=s},jspb.arith.UInt64.prototype.cmp=function(o){return this.hi>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)},jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)},jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0},jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(o,s){var _=o&65535;o>>>=16;var j=s&65535,$=s>>>16;for(s=_*j+65536*(_*$&65535)+65536*(o*j&65535),_=o*$+(_*$>>>16)+(o*j>>>16);4294967296<=s;)s-=4294967296,_+=1;return new jspb.arith.UInt64(s>>>0,_>>>0)},jspb.arith.UInt64.prototype.mul=function(o){var s=jspb.arith.UInt64.mul32x32(this.lo,o);return o=jspb.arith.UInt64.mul32x32(this.hi,o),o.hi=o.lo,o.lo=0,s.add(o)},jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var j=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),j=j.leftShift();for(;!j.zero();)0>=o.cmp(_)&&(s=s.add(j),_=_.sub(o)),o=o.rightShift(),j=j.rightShift();return[s,_]},jspb.arith.UInt64.prototype.toString=function(){for(var o="",s=this;!s.zero();){s=s.div(10);var _=s[0];o=s[1].lo+o,s=_}return o==""&&(o="0"),o},jspb.arith.UInt64.fromString=function(o){for(var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(0,0),j=0;jo[j]||"9">>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var o=(this.hi&2147483648)!=0,s=new jspb.arith.UInt64(this.lo,this.hi);return o&&(s=new jspb.arith.UInt64(0,0).sub(s)),(o?"-":"")+s.toString()},jspb.arith.Int64.fromString=function(o){var s=0>>=7,this.totalLength_++;o.push(s),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,s,_){this.appendUint8Array_(o.subarray(s,_))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,s,_){o!=null&&s!=null&&_!=null&&this.writeSerializedMessage(o,s,_)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){jspb.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),s=this.blocks_,_=s.length,j=0,$=0;$<_;$++){var _e=s[$];o.set(_e,j),j+=_e.length}return s=this.encoder_.end(),o.set(s,j),j+=s.length,jspb.asserts.assert(j==o.length),this.blocks_=[o],o},goog.exportProperty(jspb.BinaryWriter.prototype,"getResultBuffer",jspb.BinaryWriter.prototype.getResultBuffer),jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)},jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))},jspb.BinaryWriter.prototype.endSubMessage=function(){jspb.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,s){jspb.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+s)},jspb.BinaryWriter.prototype.writeAny=function(o,s,_){var j=jspb.BinaryConstants.FieldType;switch(o){case j.DOUBLE:this.writeDouble(s,_);break;case j.FLOAT:this.writeFloat(s,_);break;case j.INT64:this.writeInt64(s,_);break;case j.UINT64:this.writeUint64(s,_);break;case j.INT32:this.writeInt32(s,_);break;case j.FIXED64:this.writeFixed64(s,_);break;case j.FIXED32:this.writeFixed32(s,_);break;case j.BOOL:this.writeBool(s,_);break;case j.STRING:this.writeString(s,_);break;case j.GROUP:jspb.asserts.fail("Group field type not supported in writeAny()");break;case j.MESSAGE:jspb.asserts.fail("Message field type not supported in writeAny()");break;case j.BYTES:this.writeBytes(s,_);break;case j.UINT32:this.writeUint32(s,_);break;case j.ENUM:this.writeEnum(s,_);break;case j.SFIXED32:this.writeSfixed32(s,_);break;case j.SFIXED64:this.writeSfixed64(s,_);break;case j.SINT32:this.writeSint32(s,_);break;case j.SINT64:this.writeSint64(s,_);break;case j.FHASH64:this.writeFixedHash64(s,_);break;case j.VHASH64:this.writeVarintHash64(s,_);break;default:jspb.asserts.fail("Invalid field type in writeAny()")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(s))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(s))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(s))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(s))},jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(s))},jspb.BinaryWriter.prototype.writeInt32=function(o,s){s!=null&&(jspb.asserts.assert(s>=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s>>0,_e>>>0)})},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,s){if(s!=null)for(var _=0;_>>0,tt>>>0)});this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(o,s){if(s!=null&&s.length){o=this.beginDelimited_(o);for(var _=0;_s.length?_.length:s.length;for(o.getJsPbMessageId()&&(j[0]=o.getJsPbMessageId(),$=1);$<_e;$++)jspb.Message.compareFields(_[$],s[$])||(j[$]=s[$]);return new o.constructor(j)},goog.exportProperty(jspb.Message,"difference",jspb.Message.difference),jspb.Message.equals=function(o,s){return o==s||!(!o||!s)&&o instanceof s.constructor&&jspb.Message.compareFields(o.toArray(),s.toArray())},goog.exportProperty(jspb.Message,"equals",jspb.Message.equals),jspb.Message.compareExtensions=function(o,s){o=o||{},s=s||{};var _={},j;for(j in o)_[j]=0;for(j in s)_[j]=0;for(j in _)if(!jspb.Message.compareFields(o[j],s[j]))return!1;return!0},goog.exportProperty(jspb.Message,"compareExtensions",jspb.Message.compareExtensions),jspb.Message.compareFields=function(o,s){if(o==s)return!0;if(!goog.isObject(o)||!goog.isObject(s))return typeof o=="number"&&isNaN(o)||typeof s=="number"&&isNaN(s)?String(o)==String(s):!1;if(o.constructor!=s.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=s.length)return!1;for(var _=0;_0&&_e.writeString(1,et)},proto.google.protobuf.StringValue.prototype.getValue=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function($){return s.Message.setProto3StringField(this,1,$)},s.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function($){return proto.google.protobuf.BytesValue.toObject($,this)},proto.google.protobuf.BytesValue.toObject=function($,_e){var et={value:_e.getValue_asB64()};return $&&(et.$jspbMessageInstance=_e),et}),proto.google.protobuf.BytesValue.deserializeBinary=function($){var _e=new s.BinaryReader($),et=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(et,_e)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function($,_e){for(;_e.nextField()&&!_e.isEndGroup();){var et=_e.getFieldNumber();switch(et){case 1:var tt=_e.readBytes();$.setValue(tt);break;default:_e.skipField();break}}return $},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var $=new s.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,$),$.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function($,_e){var et=void 0;et=$.getValue_asU8(),et.length>0&&_e.writeBytes(1,et)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return s.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return s.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function($){return s.Message.setProto3BytesField(this,1,$)},_.object.extend(o,proto.google.protobuf)})(wrappers_pb);(function(o){var s=googleProtobuf,_=s,j=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||typeof j<"u"&&j||typeof self<"u"&&self||(function(){return this}).call(null)||Function("return this")(),$=wrappers_pb;_.object.extend(proto,$),_.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetSessionsRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetSessionsResponse",null,j),_.exportSymbol("proto.v1.signaling.api.Peer",null,j),_.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,j),_.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,j),_.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.RtcSession",null,j),_.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,j),_.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,j),_.exportSymbol("proto.v1.signaling.api.SessionType",null,j),_.exportSymbol("proto.v1.signaling.api.Signal",null,j),proto.v1.signaling.api.Peer=function(_e){s.Message.initialize(this,_e,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.Peer,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.Signal,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.RtcSession=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RtcSession,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RtcSession.displayName="proto.v1.signaling.api.RtcSession"),proto.v1.signaling.api.GetSessionsRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetSessionsRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsRequest.displayName="proto.v1.signaling.api.GetSessionsRequest"),proto.v1.signaling.api.GetSessionsResponse=function(_e){s.Message.initialize(this,_e,0,-1,proto.v1.signaling.api.GetSessionsResponse.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.GetSessionsResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsResponse.displayName="proto.v1.signaling.api.GetSessionsResponse"),proto.v1.signaling.api.GetHealthRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetHealthRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetHealthResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.CreatePeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.CreatePeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.DeletePeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.DeletePeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RefreshPeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RefreshPeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetPeersRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(_e){s.Message.initialize(this,_e,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.GetPeersResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetIceServersRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetIceServersResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.SendSignalRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.SendSignalResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(_e){return proto.v1.signaling.api.Peer.toObject(_e,this)},proto.v1.signaling.api.Peer.toObject=function(_e,et){var tt,nt={peerId:s.Message.getFieldWithDefault(et,1,""),organizationId:s.Message.getFieldWithDefault(et,2,""),userId:(tt=et.getUserId())&&$.StringValue.toObject(_e,tt),deviceId:(tt=et.getDeviceId())&&$.StringValue.toObject(_e,tt),sessionIdsList:(tt=s.Message.getRepeatedField(et,5))==null?void 0:tt,peerCreatedTimestamp:(tt=et.getPeerCreatedTimestamp())&&$.Int64Value.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.Peer.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setPeerId(nt);break;case 2:var nt=et.readString();_e.setOrganizationId(nt);break;case 3:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setUserId(nt);break;case 4:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setDeviceId(nt);break;case 5:var nt=et.readString();_e.addSessionIds(nt);break;case 6:var nt=new $.Int64Value;et.readMessage(nt,$.Int64Value.deserializeBinaryFromReader),_e.setPeerCreatedTimestamp(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeerId(),tt.length>0&&et.writeString(1,tt),tt=_e.getOrganizationId(),tt.length>0&&et.writeString(2,tt),tt=_e.getUserId(),tt!=null&&et.writeMessage(3,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getDeviceId(),tt!=null&&et.writeMessage(4,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getSessionIdsList(),tt.length>0&&et.writeRepeatedString(5,tt),tt=_e.getPeerCreatedTimestamp(),tt!=null&&et.writeMessage(6,tt,$.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(_e){return s.Message.setProto3StringField(this,1,_e)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return s.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(_e){return s.Message.setProto3StringField(this,2,_e)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return s.Message.getWrapperField(this,$.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(_e){return s.Message.setWrapperField(this,3,_e)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return s.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return s.Message.getWrapperField(this,$.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(_e){return s.Message.setWrapperField(this,4,_e)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return s.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return s.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(_e){return s.Message.setField(this,5,_e||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(_e,et){return s.Message.addToRepeatedField(this,5,_e,et)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(_e){return s.Message.setWrapperField(this,6,_e)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return s.Message.getField(this,6)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(_e){return proto.v1.signaling.api.Signal.toObject(_e,this)},proto.v1.signaling.api.Signal.toObject=function(_e,et){var tt,nt={sessionId:(tt=et.getSessionId())&&$.StringValue.toObject(_e,tt),sessionCreatedTimestamp:(tt=et.getSessionCreatedTimestamp())&&$.Int64Value.toObject(_e,tt),senderId:s.Message.getFieldWithDefault(et,3,""),receiverId:s.Message.getFieldWithDefault(et,4,""),payload:s.Message.getFieldWithDefault(et,5,""),iceServers:s.Message.getFieldWithDefault(et,6,""),iceTransportPolicy:s.Message.getFieldWithDefault(et,7,""),sessionType:s.Message.getFieldWithDefault(et,8,0)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.Signal.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setSessionId(nt);break;case 2:var nt=new $.Int64Value;et.readMessage(nt,$.Int64Value.deserializeBinaryFromReader),_e.setSessionCreatedTimestamp(nt);break;case 3:var nt=et.readString();_e.setSenderId(nt);break;case 4:var nt=et.readString();_e.setReceiverId(nt);break;case 5:var nt=et.readString();_e.setPayload(nt);break;case 6:var nt=et.readString();_e.setIceServers(nt);break;case 7:var nt=et.readString();_e.setIceTransportPolicy(nt);break;case 8:var nt=et.readEnum();_e.setSessionType(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionId(),tt!=null&&et.writeMessage(1,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getSessionCreatedTimestamp(),tt!=null&&et.writeMessage(2,tt,$.Int64Value.serializeBinaryToWriter),tt=_e.getSenderId(),tt.length>0&&et.writeString(3,tt),tt=_e.getReceiverId(),tt.length>0&&et.writeString(4,tt),tt=_e.getPayload(),tt.length>0&&et.writeString(5,tt),tt=_e.getIceServers(),tt.length>0&&et.writeString(6,tt),tt=_e.getIceTransportPolicy(),tt.length>0&&et.writeString(7,tt),tt=_e.getSessionType(),tt!==0&&et.writeEnum(8,tt)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return s.Message.getWrapperField(this,$.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(_e){return s.Message.setWrapperField(this,2,_e)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return s.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return s.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(_e){return s.Message.setProto3StringField(this,3,_e)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return s.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(_e){return s.Message.setProto3StringField(this,4,_e)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return s.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(_e){return s.Message.setProto3StringField(this,5,_e)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return s.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(_e){return s.Message.setProto3StringField(this,6,_e)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return s.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(_e){return s.Message.setProto3StringField(this,7,_e)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return s.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(_e){return s.Message.setProto3EnumField(this,8,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RtcSession.prototype.toObject=function(_e){return proto.v1.signaling.api.RtcSession.toObject(_e,this)},proto.v1.signaling.api.RtcSession.toObject=function(_e,et){var tt={sessionId:s.Message.getFieldWithDefault(et,1,""),offerPeerId:s.Message.getFieldWithDefault(et,2,""),answerPeerId:s.Message.getFieldWithDefault(et,3,""),organizationId:s.Message.getFieldWithDefault(et,4,""),sessionType:s.Message.getFieldWithDefault(et,5,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.RtcSession.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.RtcSession;return proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setSessionId(nt);break;case 2:var nt=et.readString();_e.setOfferPeerId(nt);break;case 3:var nt=et.readString();_e.setAnswerPeerId(nt);break;case 4:var nt=et.readString();_e.setOrganizationId(nt);break;case 5:var nt=et.readString();_e.setSessionType(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.RtcSession.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.RtcSession.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.RtcSession.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionId(),tt.length>0&&et.writeString(1,tt),tt=_e.getOfferPeerId(),tt.length>0&&et.writeString(2,tt),tt=_e.getAnswerPeerId(),tt.length>0&&et.writeString(3,tt),tt=_e.getOrganizationId(),tt.length>0&&et.writeString(4,tt),tt=_e.getSessionType(),tt.length>0&&et.writeString(5,tt)},proto.v1.signaling.api.RtcSession.prototype.getSessionId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionId=function(_e){return s.Message.setProto3StringField(this,1,_e)},proto.v1.signaling.api.RtcSession.prototype.getOfferPeerId=function(){return s.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.RtcSession.prototype.setOfferPeerId=function(_e){return s.Message.setProto3StringField(this,2,_e)},proto.v1.signaling.api.RtcSession.prototype.getAnswerPeerId=function(){return s.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.RtcSession.prototype.setAnswerPeerId=function(_e){return s.Message.setProto3StringField(this,3,_e)},proto.v1.signaling.api.RtcSession.prototype.getOrganizationId=function(){return s.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.RtcSession.prototype.setOrganizationId=function(_e){return s.Message.setProto3StringField(this,4,_e)},proto.v1.signaling.api.RtcSession.prototype.getSessionType=function(){return s.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionType=function(_e){return s.Message.setProto3StringField(this,5,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetSessionsRequest.toObject(_e,this)},proto.v1.signaling.api.GetSessionsRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetSessionsRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetSessionsRequest;return proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetSessionsRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter=function(_e,et){},proto.v1.signaling.api.GetSessionsResponse.repeatedFields_=[1],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetSessionsResponse.toObject(_e,this)},proto.v1.signaling.api.GetSessionsResponse.toObject=function(_e,et){var tt={sessionsList:s.Message.toObjectList(et.getSessionsList(),proto.v1.signaling.api.RtcSession.toObject,_e)};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetSessionsResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetSessionsResponse;return proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.RtcSession;et.readMessage(nt,proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader),_e.addSessions(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetSessionsResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionsList(),tt.length>0&&et.writeRepeatedMessage(1,tt,proto.v1.signaling.api.RtcSession.serializeBinaryToWriter)},proto.v1.signaling.api.GetSessionsResponse.prototype.getSessionsList=function(){return s.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.RtcSession,1)},proto.v1.signaling.api.GetSessionsResponse.prototype.setSessionsList=function(_e){return s.Message.setRepeatedWrapperField(this,1,_e)},proto.v1.signaling.api.GetSessionsResponse.prototype.addSessions=function(_e,et){return s.Message.addToRepeatedWrapperField(this,1,_e,proto.v1.signaling.api.RtcSession,et)},proto.v1.signaling.api.GetSessionsResponse.prototype.clearSessionsList=function(){return this.setSessionsList([])},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetHealthRequest.toObject(_e,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetHealthResponse.toObject(_e,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(_e,et){var tt={version:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setVersion(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getVersion(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.CreatePeerRequest.toObject(_e,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.CreatePeerResponse.toObject(_e,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(_e,et){var tt,nt={peer:(tt=et.getPeer())&&proto.v1.signaling.api.Peer.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Peer;et.readMessage(nt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),_e.setPeer(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeer(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.DeletePeerRequest.toObject(_e,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(_e,et){var tt={peerId:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setPeerId(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeerId(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.DeletePeerResponse.toObject(_e,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.RefreshPeerRequest.toObject(_e,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(_e,et){var tt,nt={peer:(tt=et.getPeer())&&proto.v1.signaling.api.Peer.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Peer;et.readMessage(nt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),_e.setPeer(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeer(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.RefreshPeerResponse.toObject(_e,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetPeersRequest.toObject(_e,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(_e,et){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetPeersResponse.toObject(_e,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(_e,et){var tt={peersList:s.Message.toObjectList(et.getPeersList(),proto.v1.signaling.api.Peer.toObject,_e)};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Peer;et.readMessage(nt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),_e.addPeers(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeersList(),tt.length>0&&et.writeRepeatedMessage(1,tt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return s.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(_e){return s.Message.setRepeatedWrapperField(this,1,_e)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(_e,et){return s.Message.addToRepeatedWrapperField(this,1,_e,proto.v1.signaling.api.Peer,et)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetIceServersRequest.toObject(_e,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetIceServersResponse.toObject(_e,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(_e,et){var tt={iceServers:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setIceServers(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getIceServers(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.SendSignalRequest.toObject(_e,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(_e,et){var tt,nt={signal:(tt=et.getSignal())&&proto.v1.signaling.api.Signal.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Signal;et.readMessage(nt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),_e.setSignal(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSignal(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.SendSignalResponse.toObject(_e,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(_e,et){var tt,nt={sessionId:(tt=et.getSessionId())&&$.StringValue.toObject(_e,tt),sessionCreatedTimestamp:(tt=et.getSessionCreatedTimestamp())&&$.Int64Value.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setSessionId(nt);break;case 2:var nt=new $.Int64Value;et.readMessage(nt,$.Int64Value.deserializeBinaryFromReader),_e.setSessionCreatedTimestamp(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionId(),tt!=null&&et.writeMessage(1,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getSessionCreatedTimestamp(),tt!=null&&et.writeMessage(2,tt,$.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return s.Message.getWrapperField(this,$.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(_e){return s.Message.setWrapperField(this,2,_e)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return s.Message.getField(this,2)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(_e,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(_e,et){var tt={peerId:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setPeerId(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeerId(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(_e,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(_e,et){var tt,nt={signal:(tt=et.getSignal())&&proto.v1.signaling.api.Signal.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Signal;et.readMessage(nt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),_e.setSignal(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSignal(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},_.object.extend(o,proto.v1.signaling.api)})(signaling_pb);const encodedJs$2="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9dWktc2RrLXJlYWx0aW1lLXBsYXllci1jb3JlLXdvcmtlci51bWQtNjhhNmUxNmEuanMubWFwCg==";typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$2)],{type:"text/javascript;charset=utf-8"});const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIE8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsImRlZmF1bHQiKT90LmRlZmF1bHQ6dH12YXIgaD1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSx0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9e2NtcDplfSk7dmFyIHM9dHlwZW9mIGUuY3ljbGVzPT0iYm9vbGVhbiI/ZS5jeWNsZXM6ITEsYT1lLmNtcCYmZnVuY3Rpb24odSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbihuLGkpe3ZhciBsPXtrZXk6bix2YWx1ZTpyW25dfSxmPXtrZXk6aSx2YWx1ZTpyW2ldfTtyZXR1cm4gdShsLGYpfX19KGUuY21wKSxjPVtdO3JldHVybiBmdW5jdGlvbiB1KHIpe2lmKHImJnIudG9KU09OJiZ0eXBlb2Ygci50b0pTT049PSJmdW5jdGlvbiImJihyPXIudG9KU09OKCkpLHIhPT12b2lkIDApe2lmKHR5cGVvZiByPT0ibnVtYmVyIilyZXR1cm4gaXNGaW5pdGUocik/IiIrcjoibnVsbCI7aWYodHlwZW9mIHIhPSJvYmplY3QiKXJldHVybiBKU09OLnN0cmluZ2lmeShyKTt2YXIgbixpO2lmKEFycmF5LmlzQXJyYXkocikpe2ZvcihpPSJbIixuPTA7bjxyLmxlbmd0aDtuKyspbiYmKGkrPSIsIiksaSs9dShyW25dKXx8Im51bGwiO3JldHVybiBpKyJdIn1pZihyPT09bnVsbClyZXR1cm4ibnVsbCI7aWYoYy5pbmRleE9mKHIpIT09LTEpe2lmKHMpcmV0dXJuIEpTT04uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9dmFyIGw9Yy5wdXNoKHIpLTEsZj1PYmplY3Qua2V5cyhyKS5zb3J0KGEmJmEocikpO2ZvcihpPSIiLG49MDtuPGYubGVuZ3RoO24rKyl7dmFyIG09ZltuXSxwPXUoclttXSk7cCYmKGkmJihpKz0iLCIpLGkrPUpTT04uc3RyaW5naWZ5KG0pKyI6IitwKX1yZXR1cm4gYy5zcGxpY2UobCwxKSwieyIraSsifSJ9fSh0KX0sdj1PKGgpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIHYodCx7Y3ljbGVzOiEwfSl9ZnVuY3Rpb24gUyh0KXtpZighdC5zdGFjaylyZXR1cm57bWVzc2FnZTpvKHQpfTtjb25zdHtuYW1lOmUsbWVzc2FnZTpzLHN0YWNrOmEsLi4uY309dDtyZXR1cm57bmFtZTplLG1lc3NhZ2U6cyE9PXZvaWQgMD9zOm8odCksc3RhY2s6YSxtZXRhOmMmJk9iamVjdC5rZXlzKGMpLmxlbmd0aD09PTA/dm9pZCAwOmN9fWZ1bmN0aW9uIHkodCl7Y29uc3R7bWVzc2FnZTplLHN0YWNrOnMsbWV0YTphfT1TKHQpO3JldHVybmAke3N8fGV8fCIifSR7YSYmT2JqZWN0LmtleXMoYSkubGVuZ3RoPjA/YCAtLSAke28oYSl9YDoiIn1gfWNvbnN0IGc9c2VsZixiPTFlMzthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixhc3luYyB0PT57dmFyIGU7dHJ5e2NvbnN0IHM9dC5kYXRhO3RyeXtjb25zdCBjPWF3YWl0KGF3YWl0IGZldGNoKHMse21vZGU6ImNvcnMifSkpLnRleHQoKTtnLnBvc3RNZXNzYWdlKHtqc29uOkpTT04ucGFyc2UoYykscHJldmlldzpjLnN1YnN0cmluZygwLGIpLGxlbmd0aDpjLmxlbmd0aCx1cmw6c30pfWNhdGNoKGEpe3Rocm93IG5ldyBFcnJvcihgTG9hZCBmYWlsZWQgJHt5KGEpfWApfX1jYXRjaChzKXtnLnBvc3RNZXNzYWdlKHtlcnJvcjp5KHMpLHVybDooZT10PT1udWxsP3ZvaWQgMDp0LmRhdGEpPT1udWxsP3ZvaWQgMDplLnVybH0pfX0pfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YS1sb2FkZXIud29ya2VyLWE2ZmQ5NzRkLmpzLm1hcAo=",blob$1=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(){let o;try{if(o=blob$1&&(window.URL||window.webkitURL).createObjectURL(blob$1),!o)throw"";return new Worker(o)}catch{return new Worker("data:application/javascript;base64,"+encodedJs$1)}finally{o&&(window.URL||window.webkitURL).revokeObjectURL(o)}}const millisecond$1=1,second$1=1e3,minute$1=60*second$1,hour$1=60*minute$1,day$1=24*hour$1,week$1=7*day$1,month$1=30*day$1,year$1=365*day$1,duration$1={millisecond:millisecond$1,second:second$1,minute:minute$1,hour:hour$1,day:day$1,week:week$1,month:month$1,year:year$1};function delay(o){return new Promise(s=>setTimeout(s,o))}var fastJsonStableStringify=function(o,s){s||(s={}),typeof s=="function"&&(s={cmp:s});var _=typeof s.cycles=="boolean"?s.cycles:!1,j=s.cmp&&function(_e){return function(et){return function(tt,nt){var rt={key:tt,value:et[tt]},ot={key:nt,value:et[nt]};return _e(rt,ot)}}}(s.cmp),$=[];return function _e(et){if(et&&et.toJSON&&typeof et.toJSON=="function"&&(et=et.toJSON()),et!==void 0){if(typeof et=="number")return isFinite(et)?""+et:"null";if(typeof et!="object")return JSON.stringify(et);var tt,nt;if(Array.isArray(et)){for(nt="[",tt=0;tts(o),this))}onabort(){}addEventListener(o,s){o==="abort"&&this._listeners.push(s)}removeEventListener(o,s){o==="abort"&&(this._listeners=this._listeners.filter(_=>_!==s))}},warned=new Set,deprecatedOption=(o,s)=>{const _=`LRU_CACHE_OPTION_${o}`;shouldWarn(_)&&warn(_,`${o} option`,`options.${s}`,LRUCache)},deprecatedMethod=(o,s)=>{const _=`LRU_CACHE_METHOD_${o}`;if(shouldWarn(_)){const{prototype:j}=LRUCache,{get:$}=Object.getOwnPropertyDescriptor(j,o);warn(_,`${o} method`,`cache.${s}()`,$)}},deprecatedProperty=(o,s)=>{const _=`LRU_CACHE_PROPERTY_${o}`;if(shouldWarn(_)){const{prototype:j}=LRUCache,{get:$}=Object.getOwnPropertyDescriptor(j,o);warn(_,`${o} property`,`cache.${s}`,$)}},emitWarning=(...o)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...o):console.error(...o)},shouldWarn=o=>!warned.has(o),warn=(o,s,_,j)=>{warned.add(o);const $=`The ${s} is deprecated. Please use ${_} instead.`;emitWarning($,"DeprecationWarning",o,j)},isPosInt=o=>o&&o===Math.floor(o)&&o>0&&isFinite(o),getUintArray=o=>isPosInt(o)?o<=Math.pow(2,8)?Uint8Array:o<=Math.pow(2,16)?Uint16Array:o<=Math.pow(2,32)?Uint32Array:o<=Number.MAX_SAFE_INTEGER?ZeroArray:null:null;class ZeroArray extends Array{constructor(s){super(s),this.fill(0)}}class Stack{constructor(s){if(s===0)return[];const _=getUintArray(s);this.heap=new _(s),this.length=0}push(s){this.heap[this.length++]=s}pop(){return this.heap[--this.length]}}class LRUCache{constructor(s={}){const{max:_=0,ttl:j,ttlResolution:$=1,ttlAutopurge:_e,updateAgeOnGet:et,updateAgeOnHas:tt,allowStale:nt,dispose:rt,disposeAfter:ot,noDisposeOnSet:ut,noUpdateTTL:dt,maxSize:Ut=0,maxEntrySize:st=0,sizeCalculation:ct,fetchMethod:pt,fetchContext:Bt,noDeleteOnFetchRejection:Qt,noDeleteOnStaleGet:gt,allowStaleOnFetchRejection:ft,allowStaleOnFetchAbort:Ft,ignoreFetchAbort:yt}=s,{length:Ct,maxAge:xt,stale:ht}=s instanceof LRUCache?{}:s;if(_!==0&&!isPosInt(_))throw new TypeError("max option must be a nonnegative integer");const mt=_?getUintArray(_):Array;if(!mt)throw new Error("invalid max value: "+_);if(this.max=_,this.maxSize=Ut,this.maxEntrySize=st||this.maxSize,this.sizeCalculation=ct||Ct,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=pt||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=Bt,!this.fetchMethod&&Bt!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(_).fill(null),this.valList=new Array(_).fill(null),this.next=new mt(_),this.prev=new mt(_),this.head=0,this.tail=0,this.free=new Stack(_),this.initialFill=1,this.size=0,typeof rt=="function"&&(this.dispose=rt),typeof ot=="function"?(this.disposeAfter=ot,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!ut,this.noUpdateTTL=!!dt,this.noDeleteOnFetchRejection=!!Qt,this.allowStaleOnFetchRejection=!!ft,this.allowStaleOnFetchAbort=!!Ft,this.ignoreFetchAbort=!!yt,this.maxEntrySize!==0){if(this.maxSize!==0&&!isPosInt(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!isPosInt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!nt||!!ht,this.noDeleteOnStaleGet=!!gt,this.updateAgeOnGet=!!et,this.updateAgeOnHas=!!tt,this.ttlResolution=isPosInt($)||$===0?$:1,this.ttlAutopurge=!!_e,this.ttl=j||xt||0,this.ttl){if(!isPosInt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const It="LRU_CACHE_UNBOUNDED";shouldWarn(It)&&(warned.add(It),emitWarning("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",It,LRUCache))}ht&&deprecatedOption("stale","allowStale"),xt&&deprecatedOption("maxAge","ttl"),Ct&&deprecatedOption("length","sizeCalculation")}getRemainingTTL(s){return this.has(s,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new ZeroArray(this.max),this.starts=new ZeroArray(this.max),this.setItemTTL=(j,$,_e=perf.now())=>{if(this.starts[j]=$!==0?_e:0,this.ttls[j]=$,$!==0&&this.ttlAutopurge){const et=setTimeout(()=>{this.isStale(j)&&this.delete(this.keyList[j])},$+1);et.unref&&et.unref()}},this.updateItemAge=j=>{this.starts[j]=this.ttls[j]!==0?perf.now():0},this.statusTTL=(j,$)=>{j&&(j.ttl=this.ttls[$],j.start=this.starts[$],j.now=s||_(),j.remainingTTL=j.now+j.ttl-j.start)};let s=0;const _=()=>{const j=perf.now();if(this.ttlResolution>0){s=j;const $=setTimeout(()=>s=0,this.ttlResolution);$.unref&&$.unref()}return j};this.getRemainingTTL=j=>{const $=this.keyMap.get(j);return $===void 0?0:this.ttls[$]===0||this.starts[$]===0?1/0:this.starts[$]+this.ttls[$]-(s||_())},this.isStale=j=>this.ttls[j]!==0&&this.starts[j]!==0&&(s||_())-this.starts[j]>this.ttls[j]}updateItemAge(s){}statusTTL(s,_){}setItemTTL(s,_,j){}isStale(s){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new ZeroArray(this.max),this.removeItemSize=s=>{this.calculatedSize-=this.sizes[s],this.sizes[s]=0},this.requireSize=(s,_,j,$)=>{if(this.isBackgroundFetch(_))return 0;if(!isPosInt(j))if($){if(typeof $!="function")throw new TypeError("sizeCalculation must be a function");if(j=$(_,s),!isPosInt(j))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return j},this.addItemSize=(s,_,j)=>{if(this.sizes[s]=_,this.maxSize){const $=this.maxSize-this.sizes[s];for(;this.calculatedSize>$;)this.evict(!0)}this.calculatedSize+=this.sizes[s],j&&(j.entrySize=_,j.totalCalculatedSize=this.calculatedSize)}}removeItemSize(s){}addItemSize(s,_){}requireSize(s,_,j,$){if(j||$)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:s=this.allowStale}={}){if(this.size)for(let _=this.tail;!(!this.isValidIndex(_)||((s||!this.isStale(_))&&(yield _),_===this.head));)_=this.prev[_]}*rindexes({allowStale:s=this.allowStale}={}){if(this.size)for(let _=this.head;!(!this.isValidIndex(_)||((s||!this.isStale(_))&&(yield _),_===this.tail));)_=this.next[_]}isValidIndex(s){return s!==void 0&&this.keyMap.get(this.keyList[s])===s}*entries(){for(const s of this.indexes())this.valList[s]!==void 0&&this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield[this.keyList[s],this.valList[s]])}*rentries(){for(const s of this.rindexes())this.valList[s]!==void 0&&this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield[this.keyList[s],this.valList[s]])}*keys(){for(const s of this.indexes())this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.keyList[s])}*rkeys(){for(const s of this.rindexes())this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.keyList[s])}*values(){for(const s of this.indexes())this.valList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.valList[s])}*rvalues(){for(const s of this.rindexes())this.valList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.valList[s])}[Symbol.iterator](){return this.entries()}find(s,_){for(const j of this.indexes()){const $=this.valList[j],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;if(_e!==void 0&&s(_e,this.keyList[j],this))return this.get(this.keyList[j],_)}}forEach(s,_=this){for(const j of this.indexes()){const $=this.valList[j],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;_e!==void 0&&s.call(_,_e,this.keyList[j],this)}}rforEach(s,_=this){for(const j of this.rindexes()){const $=this.valList[j],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;_e!==void 0&&s.call(_,_e,this.keyList[j],this)}}get prune(){return deprecatedMethod("prune","purgeStale"),this.purgeStale}purgeStale(){let s=!1;for(const _ of this.rindexes({allowStale:!0}))this.isStale(_)&&(this.delete(this.keyList[_]),s=!0);return s}dump(){const s=[];for(const _ of this.indexes({allowStale:!0})){const j=this.keyList[_],$=this.valList[_],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;if(_e===void 0)continue;const et={value:_e};if(this.ttls){et.ttl=this.ttls[_];const tt=perf.now()-this.starts[_];et.start=Math.floor(Date.now()-tt)}this.sizes&&(et.size=this.sizes[_]),s.unshift([j,et])}return s}load(s){this.clear();for(const[_,j]of s){if(j.start){const $=Date.now()-j.start;j.start=perf.now()-$}this.set(_,j.value,j)}}dispose(s,_,j){}set(s,_,{ttl:j=this.ttl,start:$,noDisposeOnSet:_e=this.noDisposeOnSet,size:et=0,sizeCalculation:tt=this.sizeCalculation,noUpdateTTL:nt=this.noUpdateTTL,status:rt}={}){if(et=this.requireSize(s,_,et,tt),this.maxEntrySize&&et>this.maxEntrySize)return rt&&(rt.set="miss",rt.maxEntrySizeExceeded=!0),this.delete(s),this;let ot=this.size===0?void 0:this.keyMap.get(s);if(ot===void 0)ot=this.newIndex(),this.keyList[ot]=s,this.valList[ot]=_,this.keyMap.set(s,ot),this.next[this.tail]=ot,this.prev[ot]=this.tail,this.tail=ot,this.size++,this.addItemSize(ot,et,rt),rt&&(rt.set="add"),nt=!1;else{this.moveToTail(ot);const ut=this.valList[ot];if(_!==ut){if(this.isBackgroundFetch(ut)?ut.__abortController.abort(new Error("replaced")):_e||(this.dispose(ut,s,"set"),this.disposeAfter&&this.disposed.push([ut,s,"set"])),this.removeItemSize(ot),this.valList[ot]=_,this.addItemSize(ot,et,rt),rt){rt.set="replace";const dt=ut&&this.isBackgroundFetch(ut)?ut.__staleWhileFetching:ut;dt!==void 0&&(rt.oldValue=dt)}}else rt&&(rt.set="update")}if(j!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),nt||this.setItemTTL(ot,j,$),this.statusTTL(rt,ot),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const s=this.valList[this.head];return this.evict(!0),s}}evict(s){const _=this.head,j=this.keyList[_],$=this.valList[_];return this.isBackgroundFetch($)?$.__abortController.abort(new Error("evicted")):(this.dispose($,j,"evict"),this.disposeAfter&&this.disposed.push([$,j,"evict"])),this.removeItemSize(_),s&&(this.keyList[_]=null,this.valList[_]=null,this.free.push(_)),this.head=this.next[_],this.keyMap.delete(j),this.size--,_}has(s,{updateAgeOnHas:_=this.updateAgeOnHas,status:j}={}){const $=this.keyMap.get(s);if($!==void 0)if(this.isStale($))j&&(j.has="stale",this.statusTTL(j,$));else return _&&this.updateItemAge($),j&&(j.has="hit"),this.statusTTL(j,$),!0;else j&&(j.has="miss");return!1}peek(s,{allowStale:_=this.allowStale}={}){const j=this.keyMap.get(s);if(j!==void 0&&(_||!this.isStale(j))){const $=this.valList[j];return this.isBackgroundFetch($)?$.__staleWhileFetching:$}}backgroundFetch(s,_,j,$){const _e=_===void 0?void 0:this.valList[_];if(this.isBackgroundFetch(_e))return _e;const et=new AC;j.signal&&j.signal.addEventListener("abort",()=>et.abort(j.signal.reason));const tt={signal:et.signal,options:j,context:$},nt=(Ut,st=!1)=>{const{aborted:ct}=et.signal,pt=j.ignoreFetchAbort&&Ut!==void 0;return j.status&&(ct&&!st?(j.status.fetchAborted=!0,j.status.fetchError=et.signal.reason,pt&&(j.status.fetchAbortIgnored=!0)):j.status.fetchResolved=!0),ct&&!pt&&!st?ot(et.signal.reason):(this.valList[_]===dt&&(Ut===void 0?dt.__staleWhileFetching?this.valList[_]=dt.__staleWhileFetching:this.delete(s):(j.status&&(j.status.fetchUpdated=!0),this.set(s,Ut,tt.options))),Ut)},rt=Ut=>(j.status&&(j.status.fetchRejected=!0,j.status.fetchError=Ut),ot(Ut)),ot=Ut=>{const{aborted:st}=et.signal,ct=st&&j.allowStaleOnFetchAbort,pt=ct||j.allowStaleOnFetchRejection,Bt=pt||j.noDeleteOnFetchRejection;if(this.valList[_]===dt&&(!Bt||dt.__staleWhileFetching===void 0?this.delete(s):ct||(this.valList[_]=dt.__staleWhileFetching)),pt)return j.status&&dt.__staleWhileFetching!==void 0&&(j.status.returnedStale=!0),dt.__staleWhileFetching;if(dt.__returned===dt)throw Ut},ut=(Ut,st)=>{this.fetchMethod(s,_e,tt).then(ct=>Ut(ct),st),et.signal.addEventListener("abort",()=>{(!j.ignoreFetchAbort||j.allowStaleOnFetchAbort)&&(Ut(),j.allowStaleOnFetchAbort&&(Ut=ct=>nt(ct,!0)))})};j.status&&(j.status.fetchDispatched=!0);const dt=new Promise(ut).then(nt,rt);return dt.__abortController=et,dt.__staleWhileFetching=_e,dt.__returned=null,_===void 0?(this.set(s,dt,{...tt.options,status:void 0}),_=this.keyMap.get(s)):this.valList[_]=dt,dt}isBackgroundFetch(s){return s&&typeof s=="object"&&typeof s.then=="function"&&Object.prototype.hasOwnProperty.call(s,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(s,"__returned")&&(s.__returned===s||s.__returned===null)}async fetch(s,{allowStale:_=this.allowStale,updateAgeOnGet:j=this.updateAgeOnGet,noDeleteOnStaleGet:$=this.noDeleteOnStaleGet,ttl:_e=this.ttl,noDisposeOnSet:et=this.noDisposeOnSet,size:tt=0,sizeCalculation:nt=this.sizeCalculation,noUpdateTTL:rt=this.noUpdateTTL,noDeleteOnFetchRejection:ot=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:ut=this.allowStaleOnFetchRejection,ignoreFetchAbort:dt=this.ignoreFetchAbort,allowStaleOnFetchAbort:Ut=this.allowStaleOnFetchAbort,fetchContext:st=this.fetchContext,forceRefresh:ct=!1,status:pt,signal:Bt}={}){if(!this.fetchMethod)return pt&&(pt.fetch="get"),this.get(s,{allowStale:_,updateAgeOnGet:j,noDeleteOnStaleGet:$,status:pt});const Qt={allowStale:_,updateAgeOnGet:j,noDeleteOnStaleGet:$,ttl:_e,noDisposeOnSet:et,size:tt,sizeCalculation:nt,noUpdateTTL:rt,noDeleteOnFetchRejection:ot,allowStaleOnFetchRejection:ut,allowStaleOnFetchAbort:Ut,ignoreFetchAbort:dt,status:pt,signal:Bt};let gt=this.keyMap.get(s);if(gt===void 0){pt&&(pt.fetch="miss");const ft=this.backgroundFetch(s,gt,Qt,st);return ft.__returned=ft}else{const ft=this.valList[gt];if(this.isBackgroundFetch(ft)){const ht=_&&ft.__staleWhileFetching!==void 0;return pt&&(pt.fetch="inflight",ht&&(pt.returnedStale=!0)),ht?ft.__staleWhileFetching:ft.__returned=ft}const Ft=this.isStale(gt);if(!ct&&!Ft)return pt&&(pt.fetch="hit"),this.moveToTail(gt),j&&this.updateItemAge(gt),this.statusTTL(pt,gt),ft;const yt=this.backgroundFetch(s,gt,Qt,st),Ct=yt.__staleWhileFetching!==void 0,xt=Ct&&_;return pt&&(pt.fetch=Ct&&Ft?"stale":"refresh",xt&&Ft&&(pt.returnedStale=!0)),xt?yt.__staleWhileFetching:yt.__returned=yt}}get(s,{allowStale:_=this.allowStale,updateAgeOnGet:j=this.updateAgeOnGet,noDeleteOnStaleGet:$=this.noDeleteOnStaleGet,status:_e}={}){const et=this.keyMap.get(s);if(et!==void 0){const tt=this.valList[et],nt=this.isBackgroundFetch(tt);return this.statusTTL(_e,et),this.isStale(et)?(_e&&(_e.get="stale"),nt?(_e&&(_e.returnedStale=_&&tt.__staleWhileFetching!==void 0),_?tt.__staleWhileFetching:void 0):($||this.delete(s),_e&&(_e.returnedStale=_),_?tt:void 0)):(_e&&(_e.get="hit"),nt?tt.__staleWhileFetching:(this.moveToTail(et),j&&this.updateItemAge(et),tt))}else _e&&(_e.get="miss")}connect(s,_){this.prev[_]=s,this.next[s]=_}moveToTail(s){s!==this.tail&&(s===this.head?this.head=this.next[s]:this.connect(this.prev[s],this.next[s]),this.connect(this.tail,s),this.tail=s)}get del(){return deprecatedMethod("del","delete"),this.delete}delete(s){let _=!1;if(this.size!==0){const j=this.keyMap.get(s);if(j!==void 0)if(_=!0,this.size===1)this.clear();else{this.removeItemSize(j);const $=this.valList[j];this.isBackgroundFetch($)?$.__abortController.abort(new Error("deleted")):(this.dispose($,s,"delete"),this.disposeAfter&&this.disposed.push([$,s,"delete"])),this.keyMap.delete(s),this.keyList[j]=null,this.valList[j]=null,j===this.tail?this.tail=this.prev[j]:j===this.head?this.head=this.next[j]:(this.next[this.prev[j]]=this.next[j],this.prev[this.next[j]]=this.prev[j]),this.size--,this.free.push(j)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return _}clear(){for(const s of this.rindexes({allowStale:!0})){const _=this.valList[s];if(this.isBackgroundFetch(_))_.__abortController.abort(new Error("deleted"));else{const j=this.keyList[s];this.dispose(_,j,"delete"),this.disposeAfter&&this.disposed.push([_,j,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return deprecatedMethod("reset","clear"),this.clear}get length(){return deprecatedProperty("length","size"),this.size}static get AbortController(){return AC}static get AbortSignal(){return AS}}const BaseLruCache=LRUCache;class LruCache{constructor(s){he(this,"cache"),he(this,"stringify"),this.cache=new BaseLruCache({...s.dispose||s.disposeAfter?{ttlAutopurge:!0}:{},...s,dispose:(..._)=>{var j;(j=s.dispose)==null||j.call(s,..._)},disposeAfter:(..._)=>{var j;(j=s.disposeAfter)==null||j.call(s,..._)}}),this.stringify=s.fastStringify?JSON.stringify:stringify}set(s,_,j){const $=this.stringify(s);if(!this.cache.set($,_,{ttl:j})){const _e=this.cache.sizeCalculation?this.cache.sizeCalculation(_,$):"unknown";throw Error(`Value too large (${_e} > ${this.cache.max})`)}}get(s){const _=this.stringify(s);return this.cache.get(_)}delete(s){this.cache.delete(this.stringify(s))}peek(s){return this.cache.peek(this.stringify(s))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(s){this.cache.forEach(s)}purgeStale(){return this.cache.purgeStale()}}class PromiseLruCache extends LruCache{constructor(s){if(super(s),he(this,"expireRejectedPromiseValues"),he(this,"rejectedPromiseValueTtl"),this.expireRejectedPromiseValues=s.expireRejectedPromiseValues!==void 0?s.expireRejectedPromiseValues:!0,this.rejectedPromiseValueTtl=s.rejectedPromiseValueTtl!==void 0?s.rejectedPromiseValueTtl:duration$1.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(s,_,j){super.set(s,_,j),this.expireRejectedPromiseValues&&_.catch(async()=>{await delay(this.rejectedPromiseValueTtl),this.peek(s)===_&&this.delete(s)})}}const range=(o,s)=>s<=o?[]:new Array(s-o).fill(0).map((_,j)=>j+o),workerCount=4,qe=class{constructor(){he(this,"workers"),he(this,"cache",new PromiseLruCache({name:"DataLoader-cache",max:5e3})),he(this,"nextWorkerIndex",-1),he(this,"resolveMap",{}),he(this,"rejectMap",{})}static get(){return qe.references++,qe.instance||(qe.instance=new qe),qe.instance}static release(o){var s;if(qe.instance!==o){console.error("Releasing an unallocated/unowned loader!");return}qe.references--,!(qe.references>0)&&((s=qe.instance.workers)==null||s.forEach(_=>_.terminate()),qe.instance.workers=void 0,qe.instance.cache.clear(),qe.instance=null,qe.references=0)}load(o){const s=this.cache.get(o);if(s)return s;const _=this.nextWorker(),j=new Promise(($,_e)=>{this.resolveMap[o]=$,this.rejectMap[o]=_e});return this.cache.set(o,j),_.postMessage(o),j}nextWorker(){return this.workers||(this.workers=range(0,workerCount).map(o=>{const s=new WorkerWrapper$1;return s.onmessage=({data:_})=>{const{url:j}=_;if(!j)return;const $=this.rejectMap[j],_e=this.resolveMap[j];if(delete this.rejectMap[j],delete this.resolveMap[j],!(!$||!_e)){if(_.error){const et=new Error(`Worker failure: ${_.error}`);et.cause=_.error,$(et);return}_e({json:_.json,preview:_.preview,length:_.length})}},s})),this.nextWorkerIndex=(this.nextWorkerIndex+1)%workerCount,this.workers[this.nextWorkerIndex]}};let DataLoader=qe;he(DataLoader,"references",0),he(DataLoader,"instance",null);new URLSearchParams(window.location.search).get("debug");const encodedJs$3="dmFyIFI9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBHPShNLGIseCk9PmIgaW4gTT9SKE0sYix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6eH0pOk1bYl09eDt2YXIgST0oTSxiLHgpPT4oRyhNLHR5cGVvZiBiIT0ic3ltYm9sIj9iKyIiOmIseCkseCk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IFM9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07ZnVuY3Rpb24gcShvKXt9Y2xhc3MgX3tjb25zdHJ1Y3Rvcih7Y2FwYWNpdHk6dCx0aW1lb3V0Om59PXt9KXtJKHRoaXMsImVudHJpZXMiLG5ldyBNYXApO0kodGhpcywibWV0YWRhdGEiLG5ldyBNYXApO0kodGhpcywiY2FwYWNpdHkiKTtJKHRoaXMsInRpbWVvdXQiKTt0aGlzLmNhcGFjaXR5PXR8fDFlNCx0aGlzLnRpbWVvdXQ9bnx8Uy5taW51dGV9Z2V0KHQsbil7Y29uc3QgZT10aGlzLmtleVRvQ2FjaGVLZXkodCksYz10aGlzLmVudHJpZXMuZ2V0KGUpLGk9dGhpcy5tZXRhZGF0YS5nZXQoZSk7cmV0dXJuKGM9PT12b2lkIDB8fGkmJihpPT1udWxsP3ZvaWQgMDppLmV4cGlyYXRpb24uZ2V0VGltZSgpKTxEYXRlLm5vdygpKSYmIShpIT1udWxsJiZpLmdlbmVyYXRpbmcpJiZuJiZ0aGlzLmdlbmVyYXRlKHQsbigpKSxjPT09dm9pZCAwJiZpJiZpLmxhc3RWYWx1ZSE9PXZvaWQgMD9pLmxhc3RWYWx1ZTpjfXNldCh0LG4pe2NvbnN0IGU9dGhpcy5rZXlUb0NhY2hlS2V5KHQpO3RoaXMubWV0YWRhdGEuc2V0KGUse2dlbmVyYXRpbmc6ITEsZXhwaXJhdGlvbjpuZXcgRGF0ZShEYXRlLm5vdygpK3RoaXMudGltZW91dCksbGFzdFZhbHVlOm59KSx0aGlzLmVudHJpZXMuc2V0KGUsbiksdGhpcy5tZXRhZGF0YS5zaXplPnRoaXMuY2FwYWNpdHkmJnRoaXMuZGVsZXRlT2xkZXN0RW50cnkoKX1jbGVhcigpe3RoaXMuZW50cmllcy5jbGVhcigpLFsuLi50aGlzLm1ldGFkYXRhLnZhbHVlcygpXS5mb3JFYWNoKHQ9PnQuZ2VuZXJhdGluZz0hMSl9Y2xlYXJLZXkodCl7dGhpcy5tZXRhZGF0YS5kZWxldGUodCksdGhpcy5lbnRyaWVzLmRlbGV0ZSh0KX1rZXlUb0NhY2hlS2V5KHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1kZWxldGVPbGRlc3RFbnRyeSgpe2lmKHRoaXMubWV0YWRhdGEuc2l6ZTwxKXJldHVybjtjb25zdFt0XT1bLi4udGhpcy5tZXRhZGF0YS5lbnRyaWVzKCldLnJlZHVjZSgoW24sZV0sW2MsaV0pPT5pLmV4cGlyYXRpb24uZ2V0VGltZSgpPGUuZXhwaXJhdGlvbi5nZXRUaW1lKCk/W2MsaV06W24sZV0pO3RoaXMuY2xlYXJLZXkodCl9Z2VuZXJhdGUodCxuKXtjb25zdCBlPXRoaXMua2V5VG9DYWNoZUtleSh0KSxjPXRoaXMubWV0YWRhdGEuZ2V0KGUpfHx7fTt0aGlzLm1ldGFkYXRhLnNldChlLHsuLi5jLGdlbmVyYXRpbmc6ITAsZXhwaXJhdGlvbjpuZXcgRGF0ZShEYXRlLm5vdygpK3RoaXMudGltZW91dCl9KSxzZXRUaW1lb3V0KCgpPT57bi50aGVuKGk9Pntjb25zdCByPXRoaXMubWV0YWRhdGEuZ2V0KGUpOyEociE9bnVsbCYmci5nZW5lcmF0aW5nKXx8dGhpcy5zZXQodCxpKX0pfSwwKX19LyoqCiAqIExaRiBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIG1vZHVsZS4gUG9ydGVkIGZyb20gdGhlIEMKICogaW1wbGVtZW50YXRpb24gb2YgbGlibHpmLCBzcGVjZmljYWxseSBsemZfYy5jIGFuZCBsemZfZC5jCiAqIEBsaWNlbnNlIEJTRC0yLUNsYXVzZQogKi9mdW5jdGlvbiBLKG8pe3ZhciB0PW5ldyBVaW50OEFycmF5KG8pLG49W10sZT0wLGM9MDtkb3t2YXIgaT10W2UrK107aWYoaTwxPDw1KXtpZihpKyssZStpPnQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnB1dCIpO2Zvcig7aS0tOyluW2MrK109dFtlKytdfWVsc2V7dmFyIHI9aT4+NSxmPWMtKChpJjMxKTw8OCktMTtpZihlPj10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQiKTtpZihyPT03JiYocis9dFtlKytdLGU+PXQubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQiKTtpZihmLT10W2UrK10sZjwwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnB1dCIpO3IrPTI7ZG8gbltjKytdPW5bZisrXTt3aGlsZSgtLXIpfX13aGlsZShlPHQubGVuZ3RoKTtpZih0eXBlb2YgQnVmZmVyIT0idW5kZWZpbmVkIilyZXR1cm4gbmV3IEJ1ZmZlcihuKTt2YXIgdT1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7cmV0dXJuIHUuc2V0KG4pLHV9ZnVuY3Rpb24gTyhvKXt2YXIgdD0xNixuPTE8PHQsZT0xPDwxMyxjPSgxPDw4KSsoMTw8MyksaT0xPDw1O2Z1bmN0aW9uIHIodixUKXtyZXR1cm4gdltUXTw8OHx2W1QrMV19ZnVuY3Rpb24gZih2LFQsUCl7cmV0dXJuIHY8PDh8VFtQKzJdfWZ1bmN0aW9uIHUodil7cmV0dXJuIHYqNTA2ODMyODI5Pj4zMi10LTgmbi0xfWZvcih2YXIgcz1uZXcgVWludDhBcnJheShvKSxhPVtdLGQ9bmV3IFVpbnQzMkFycmF5KG4pLHk9cy5sZW5ndGgsaD0wLGc9cihzLGgpLHA9MSxsPTA7aDx5LTI7KXtnPWYoZyxvLGgpO3ZhciB6PXUoZyksbT1kW3pdO2Rbel09aDt2YXIgRTtpZihtPGgmJihFPWgtbS0xKTxlJiZtPjAmJnNbbSsyXT09c1toKzJdJiZzW20rMV09PXNbaCsxXSYmc1ttXT09c1toXSl7dmFyIHc9MixGPXktaC13O0Y9Rj5jP2M6RixhW3AtbC0xXT1sLTEmMjU1LGw9PTAmJihwLT0xKTtkbyB3Kys7d2hpbGUodzxGJiZzW20rd109PXNbaCt3XSk7aWYody09MixoKyssdzw3P2FbcCsrXT0oRT4+OCkrKHc8PDUpJjI1NTooYVtwKytdPShFPj44KSsoNzw8NSkmMjU1LGFbcCsrXT13LTcmMjU1KSxhW3ArK109RSYyNTUsbD0wLHArKyxoKz13KzEsaD49eS0yKWJyZWFrOy0taCwtLWgsZz1yKHMsaCksZz1mKGcscyxoKSxkW3UoZyldPWgrKyxnPWYoZyxzLGgpLGRbdShnKV09aCsrfWVsc2UgbCsrLGFbcCsrXT1zW2grK10sbD09aSYmKGFbcC1sLTFdPWwtMSYyNTUsbD0wLHArKyl9Zm9yKDtoPHk7KWwrKyxhW3ArK109c1toKytdLGw9PWkmJihhW3AtbC0xXT1sLTEmMjU1LGw9MCxwKyspO2lmKGwhPTAmJihhW3AtbC0xXT1sLTEmMjU1KSx0eXBlb2YgQnVmZmVyIT0idW5kZWZpbmVkIilyZXR1cm4gbmV3IEJ1ZmZlcihhKTt2YXIgVT1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7cmV0dXJuIFUuc2V0KGEpLFV9dmFyIEI9e2RlY29tcHJlc3M6Syxjb21wcmVzczpPfTtjb25zdCBDPShvLHQpPT50PD1vP1tdOm5ldyBBcnJheSh0LW8pLmZpbGwoMCkubWFwKChuLGUpPT5lK28pLEE9ITA7ZnVuY3Rpb24gSChvKXtjb25zdCB0PWF0b2Iobyksbj10Lmxlbmd0aCxlPW5ldyBVaW50OEFycmF5KG4pO2ZvcihsZXQgYz0wO2M8bjtjKz0xKWVbY109dC5jaGFyQ29kZUF0KGMpO3JldHVybiBlLmJ1ZmZlcn1mdW5jdGlvbiBMKG8pe2NvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkobyk7bGV0IG49IiIsZT0wO2Zvcig7ZTx0Lmxlbmd0aCYmbi5zZWFyY2goL1tcclxuXURBVEFccyhcUyopXHMvaSk9PT0tMTtlKz0xKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUodFtlXSk7cmV0dXJue2JvZHk6by5zbGljZShlKSxoZWFkZXI6bi5yZXBsYWNlKC8jLiovZ2ksIiIpfX1mdW5jdGlvbiBWKG8pe2NvbnN0IG49bmV3IFVpbnQzMkFycmF5KG8sMCwyKVswXTtyZXR1cm4gbj09PTA/bmV3IEFycmF5QnVmZmVyKDApOkIuZGVjb21wcmVzcyhuZXcgVWludDhBcnJheShvLDgsbikpLmJ1ZmZlcn1mdW5jdGlvbiBrKG8pe2NvbnN0e2hlYWRlcjp0LGJvZHk6bn09TChvKSxlPS9WRVJTSU9OICguKikvaS5leGVjKHQpO2lmKGU9PT1udWxsKXRocm93IG5ldyBFcnJvcihgTWlzc2luZyB2ZXJzaW9uLiBIZWFkZXIgJHt0fWApO2NvbnN0IGM9ZVsxXSxpPS9GSUVMRFMgKC4qKS9pLmV4ZWModCk7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIGZpZWxkcyIpO2NvbnN0IHI9aVsxXS5zcGxpdCgiICIpLGY9L1NJWkUgKC4qKS9pLmV4ZWModCk7aWYoIWYpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHNpemUiKTtjb25zdCB1PWZbMV0uc3BsaXQoIiAiKS5tYXAodj0+cGFyc2VJbnQodiwxMCkpLHM9L1RZUEUgKC4qKS9pLmV4ZWModCk7aWYoIXMpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHR5cGUiKTtjb25zdCBhPXNbMV0uc3BsaXQoIiAiKSxkPS9DT1VOVCAoLiopL2kuZXhlYyh0KTtsZXQgeTtkJiYoeT1kWzFdLnNwbGl0KCIgIikubWFwKHY9PnBhcnNlSW50KHYsMTApKSk7Y29uc3QgaD15fHxyLm1hcCh2PT4xKSxnPS9XSURUSCAoLiopL2kuZXhlYyh0KTtpZighZyl0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgd2lkdGgiKTtjb25zdCBwPXBhcnNlSW50KGdbMV0sMTApLGw9L0hFSUdIVCAoLiopL2kuZXhlYyh0KTtpZighbCl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgaGVpZ2h0Iik7Y29uc3Qgej1wYXJzZUludChsWzFdLDEwKSxtPS9QT0lOVFMgKC4qKS9pLmV4ZWModCk7bGV0IEU7bSYmKEU9cGFyc2VJbnQobVsxXSwxMCkpO2NvbnN0IHc9RXx8cCp6LEY9L0RBVEEgKC4qKS9pLmV4ZWModCk7aWYoIUYpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIGRhdGEiKTtjb25zdCBVPUZbMV07cmV0dXJue2JvZHk6bixoZWFkZXI6e2NvdW50OmgsZGF0YTpVLGZpZWxkczpyLGhlaWdodDp6LHBvaW50czp3LHNpemU6dSx0eXBlOmEsdmVyc2lvbjpjLHdpZHRoOnB9fX1mdW5jdGlvbiBOKG8pe2NvbnN0IHQ9e307cmV0dXJuIG8uZmllbGRzLnJlZHVjZSgoe29mZnNldHM6bixzaXplOmV9LGMsaSk9PntsZXQgcj1lO3JldHVybiBjPT09IngiJiYobi54PXIpLGM9PT0ieSImJihuLnk9ciksYz09PSJ6IiYmKG4uej1yKSxjPT09InJnYiImJihuLnJnYj1yKSxjPT09InJnYmEiJiYobi5yZ2JhPXIpLGM9PT0iaW50ZW5zaXR5IiYmKG4uaW50ZW5zaXR5PXIpLG8uZGF0YT09PSJhc2NpaSI/cis9MTpvLmRhdGE9PT0iYmluYXJ5Ij9yKz1vLnNpemVbaV0qby5jb3VudFtpXTpvLmRhdGE9PT0iYmluYXJ5X2NvbXByZXNzZWQiJiYocis9by5zaXplW2ldKm8uY291bnRbaV0qby5wb2ludHMpLHtvZmZzZXRzOm4sc2l6ZTpyfX0se29mZnNldHM6dCxzaXplOjB9KX1mdW5jdGlvbiBEKG8pe2NvbnN0e2hlYWRlcjp0LGJvZHk6bn09ayhvKSx7b2Zmc2V0czplLHNpemU6Y309Tih0KTtsZXQgaTtlLnghPT12b2lkIDAmJmUueSE9PXZvaWQgMCYmZS56IT09dm9pZCAwJiYoaT1uZXcgRmxvYXQzMkFycmF5KHQucG9pbnRzKjMpKTtsZXQgcjsoZS5yZ2IhPT12b2lkIDB8fGUucmdiYSE9PXZvaWQgMCkmJihyPW5ldyBGbG9hdDMyQXJyYXkodC5wb2ludHMqNCkpO2xldCBmO2lmKGUuaW50ZW5zaXR5IT09dm9pZCAwJiYoZj1uZXcgRmxvYXQzMkFycmF5KHQucG9pbnRzKSksdC5kYXRhPT09ImFzY2lpIilTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLm5ldyBVaW50OEFycmF5KG4pKS5zcGxpdChgCmApLmZvckVhY2goKGEsZCk9Pntjb25zdCB5PWEuc3BsaXQoIiAiKTtpZihpIT09dm9pZCAwJiYoaVtkKjMrMF09cGFyc2VGbG9hdCh5W2UueHx8MF0pLGlbZCozKzFdPXBhcnNlRmxvYXQoeVtlLnl8fDBdKSxpW2QqMysyXT1wYXJzZUZsb2F0KHlbZS56fHwwXSkpLHIhPT12b2lkIDApe2NvbnN0IGg9bmV3IEludDMyQXJyYXkoW3BhcnNlSW50KHlbZS5yZ2J8fGUucmdiYXx8MF0sMTApXSksZz1uZXcgRGF0YVZpZXcoaC5idWZmZXIsMCk7cltkKjMrMF09Zy5nZXRVaW50OCgyKS8yNTUscltkKjMrMV09Zy5nZXRVaW50OCgxKS8yNTUscltkKjMrMl09Zy5nZXRVaW50OCgwKS8yNTV9ZiE9PXZvaWQgMCYmKGZbZF09cGFyc2VGbG9hdCh5W2UuaW50ZW5zaXR5fHwwXSkpfSk7ZWxzZSBpZih0LmRhdGE9PT0iYmluYXJ5Iil7Y29uc3QgdT1uZXcgRGF0YVZpZXcobik7QygwLHQucG9pbnRzKS5mb3JFYWNoKHM9Pntjb25zdCBhPWMqcztpZihpIT09dm9pZCAwJiYoaVtzKjMrMF09dS5nZXRGbG9hdDMyKGErKGUueHx8MCksQSksaVtzKjMrMV09dS5nZXRGbG9hdDMyKGErKGUueXx8MCksQSksaVtzKjMrMl09dS5nZXRGbG9hdDMyKGErKGUuenx8MCksQSkpLHIhPT12b2lkIDApe2NvbnN0IGQ9YSsoZS5yZ2J8fGUucmdiYXx8MCk7ZCsyPD11LmJ5dGVMZW5ndGgmJihyW3MqNCswXT11LmdldFVpbnQ4KGQrMikvMjU1LHJbcyo0KzFdPXUuZ2V0VWludDgoZCsxKS8yNTUscltzKjQrMl09dS5nZXRVaW50OChkKzApLzI1NSxyW3MqNCszXT0xKX1mIT09dm9pZCAwJiYoZltzXT11LmdldEZsb2F0MzIoYSsoZS5pbnRlbnNpdHl8fDApLEEpKX0pfWVsc2UgaWYodC5kYXRhPT09ImJpbmFyeV9jb21wcmVzc2VkIil7Y29uc3QgdT1WKG4pLHM9bmV3IERhdGFWaWV3KHUpO0MoMCx0LnBvaW50cykuZm9yRWFjaChhPT57aWYoaSE9PXZvaWQgMCYmKGlbYSozKzBdPXMuZ2V0RmxvYXQzMigoZS54fHwwKSthKjQsQSksaVthKjMrMV09cy5nZXRGbG9hdDMyKChlLnl8fDApK2EqNCxBKSxpW2EqMysyXT1zLmdldEZsb2F0MzIoKGUuenx8MCkrYSo0LEEpKSxyIT09dm9pZCAwKXtjb25zdCBkPShlLnJnYnx8ZS5yZ2JhfHwwKSthKjQ7ZCsyPD1zLmJ5dGVMZW5ndGgmJihyW2EqNCswXT1zLmdldFVpbnQ4KGQrMikvMjU1LHJbYSo0KzFdPXMuZ2V0VWludDgoZCsxKS8yNTUsclthKjQrMl09cy5nZXRVaW50OChkKzApLzI1NSxyW2EqNCszXT0xKX1mIT09dm9pZCAwJiYoZlthXT1zLmdldEZsb2F0MzIoKGUuaW50ZW5zaXR5fHwwKSthKjQsQSkpfSl9cmV0dXJue2NvbG9yczpyLGhlYWRlcjp0LGludGVuc2l0eTpmLHBvc2l0aW9uczppfX1mdW5jdGlvbiBYKG8pe3JldHVybiBEKEgobykpfWNvbnN0IFo9bmV3IF8oe2NhcGFjaXR5OjFlMyx0aW1lb3V0OjEqUy5taW51dGV9KTtvbm1lc3NhZ2U9YXN5bmMgbz0+e2NvbnN0e3VybDp0LGlkOm4scG9pbnRDbG91ZDplfT1vLmRhdGE7aWYodCl7Y29uc3QgYz1aLmdldCh0LGFzeW5jKCk9PkQoYXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyJ9KS50aGVuKHI9PnIuYXJyYXlCdWZmZXIoKSkpKTtjJiZwb3N0TWVzc2FnZSh7dXJsOnQscGNkOmN9KX1pZihuJiZlKXtjb25zdCBjPVgoZSk7cG9zdE1lc3NhZ2Uoe2lkOm4scGNkOmN9KX19fSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGNkTG9hZGVyV29ya2VyLWVhYWMwYjMxLmpzLm1hcAo=";typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$3)],{type:"text/javascript;charset=utf-8"});distExports.RtcClient;distExports.RtcClientV1;distExports.RtcSignalingClient;distExports.createRtcStreamMessage;var lodash={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */lodash.exports;(function(o,s){(function(){var _,j="4.17.21",$=200,_e="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",et="Expected a function",tt="Invalid `variable` option passed into `_.template`",nt="__lodash_hash_undefined__",rt=500,ot="__lodash_placeholder__",ut=1,dt=2,Ut=4,st=1,ct=2,pt=1,Bt=2,Qt=4,gt=8,ft=16,Ft=32,yt=64,Ct=128,xt=256,ht=512,mt=30,It="...",vt=800,Tt=16,Ot=1,_t=2,Wt=3,bt=1/0,Jt=9007199254740991,Zt=17976931348623157e292,Vt=0/0,jt=4294967295,zt=jt-1,$t=jt>>>1,nn=[["ary",Ct],["bind",pt],["bindKey",Bt],["curry",gt],["curryRight",ft],["flip",ht],["partial",Ft],["partialRight",yt],["rearg",xt]],rn="[object Arguments]",Dt="[object Array]",wt="[object AsyncFunction]",Et="[object Boolean]",kt="[object Date]",Pt="[object DOMException]",Kt="[object Error]",Ht="[object Function]",on="[object GeneratorFunction]",sn="[object Map]",gn="[object Number]",Cn="[object Null]",In="[object Object]",Mn="[object Promise]",rr="[object Proxy]",An="[object RegExp]",Dn="[object Set]",Hn="[object String]",Fr="[object Symbol]",hr="[object Undefined]",Gr="[object WeakMap]",Co="[object WeakSet]",co="[object ArrayBuffer]",Jr="[object DataView]",xr="[object Float32Array]",ro="[object Float64Array]",er="[object Int8Array]",sr="[object Int16Array]",Xn="[object Int32Array]",gr="[object Uint8Array]",Yr="[object Uint8ClampedArray]",Wr="[object Uint16Array]",Pn="[object Uint32Array]",Yn=/\b__p \+= '';/g,$r=/\b(__p \+=) '' \+/g,Hr=/(__e\(.*?\)|\b__t\)) \+\n'';/g,uo=/&(?:amp|lt|gt|quot|#39);/g,Ws=/[&<>"']/g,ps=RegExp(uo.source),Oo=RegExp(Ws.source),Uo=/<%-([\s\S]+?)%>/g,hs=/<%([\s\S]+?)%>/g,mr=/<%=([\s\S]+?)%>/g,Qs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jn=/^\w*$/,At=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Lt=/[\\^$.*+?()[\]{}|]/g,qt=RegExp(Lt.source),ln=/^\s+/,Un=/\s/,hn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,bn=/\{\n\/\* \[wrapped with (.+)\] \*/,Vn=/,? & /,Qn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Fn=/[()=,{}\[\]\/\s]/,xn=/\\(\\)?/g,Kn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ur=/\w*$/,Nr=/^[-+]0x[0-9a-f]+$/i,Ir=/^0b[01]+$/i,jr=/^\[object .+?Constructor\]$/,Kr=/^0o[0-7]+$/i,Cr=/^(?:0|[1-9]\d*)$/,Rr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,vr=/($^)/,Zr=/['\n\r\u2028\u2029\\]/g,Dr="\\ud800-\\udfff",zo="\\u0300-\\u036f",Lr="\\ufe20-\\ufe2f",_i="\\u20d0-\\u20ff",Bo=zo+Lr+_i,Go="\\u2700-\\u27bf",$a="a-z\\xdf-\\xf6\\xf8-\\xff",Fo="\\xac\\xb1\\xd7\\xf7",Dl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ml="\\u2000-\\u206f",Al=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ys="A-Z\\xc0-\\xd6\\xd8-\\xde",Hs="\\ufe0e\\ufe0f",ks=Fo+Dl+Ml+Al,es="['’]",Yo="["+Dr+"]",Xs="["+ks+"]",fs="["+Bo+"]",bo="\\d+",xo="["+Go+"]",Io="["+$a+"]",Bs="[^"+Dr+ks+bo+Go+$a+Ys+"]",Rs="\\ud83c[\\udffb-\\udfff]",ts="(?:"+fs+"|"+Rs+")",Ol="[^"+Dr+"]",ns="(?:\\ud83c[\\udde6-\\uddff]){2}",_s="[\\ud800-\\udbff][\\udc00-\\udfff]",rs="["+Ys+"]",xl="\\u200d",Il="(?:"+Io+"|"+Bs+")",Ll="(?:"+rs+"|"+Bs+")",Ks="(?:"+es+"(?:d|ll|m|re|s|t|ve))?",qs="(?:"+es+"(?:D|LL|M|RE|S|T|VE))?",Cs=ts+"?",$s="["+Hs+"]?",Ho="(?:"+xl+"(?:"+[Ol,ns,_s].join("|")+")"+$s+Cs+")*",Pl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",wo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ul=$s+Cs+Ho,Ss="(?:"+[xo,ns,_s].join("|")+")"+Ul,ku="(?:"+[Ol+fs+"?",fs,ns,_s,Yo].join("|")+")",zl=RegExp(es,"g"),_u=RegExp(fs,"g"),go=RegExp(Rs+"(?="+Rs+")|"+ku+Ul,"g"),ms=RegExp([rs+"?"+Io+"+"+Ks+"(?="+[Xs,rs,"$"].join("|")+")",Ll+"+"+qs+"(?="+[Xs,rs+Il,"$"].join("|")+")",rs+"?"+Il+"+"+Ks,rs+"+"+qs,wo,Pl,bo,Ss].join("|"),"g"),is=RegExp("["+xl+Dr+Bo+Hs+"]"),io=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Gl=-1,Vr={};Vr[xr]=Vr[ro]=Vr[er]=Vr[sr]=Vr[Xn]=Vr[gr]=Vr[Yr]=Vr[Wr]=Vr[Pn]=!0,Vr[rn]=Vr[Dt]=Vr[co]=Vr[Et]=Vr[Jr]=Vr[kt]=Vr[Kt]=Vr[Ht]=Vr[sn]=Vr[gn]=Vr[In]=Vr[An]=Vr[Dn]=Vr[Hn]=Vr[Gr]=!1;var Nt={};Nt[rn]=Nt[Dt]=Nt[co]=Nt[Jr]=Nt[Et]=Nt[kt]=Nt[xr]=Nt[ro]=Nt[er]=Nt[sr]=Nt[Xn]=Nt[sn]=Nt[gn]=Nt[In]=Nt[An]=Nt[Dn]=Nt[Hn]=Nt[Fr]=Nt[gr]=Nt[Yr]=Nt[Wr]=Nt[Pn]=!0,Nt[Kt]=Nt[Ht]=Nt[Gr]=!1;var Gt={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},an={"&":"&","<":"<",">":">",'"':""","'":"'"},cn={"&":"&","<":"<",">":">",""":'"',"'":"'"},mn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tn=parseFloat,fn=parseInt,vn=typeof commonjsGlobal$1=="object"&&commonjsGlobal$1&&commonjsGlobal$1.Object===Object&&commonjsGlobal$1,kn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=vn||kn||Function("return this")(),zn=s&&!s.nodeType&&s,ir=zn&&!0&&o&&!o.nodeType&&o,Qr=ir&&ir.exports===zn,yr=Qr&&vn.process,cr=function(){try{var pn=ir&&ir.require&&ir.require("util").types;return pn||yr&&yr.binding&&yr.binding("util")}catch{}}(),qn=cr&&cr.isArrayBuffer,Mr=cr&&cr.isDate,oo=cr&&cr.isMap,DU=cr&&cr.isRegExp,MU=cr&&cr.isSet,AU=cr&&cr.isTypedArray;function Ro(pn,Nn,En){switch(En.length){case 0:return pn.call(Nn);case 1:return pn.call(Nn,En[0]);case 2:return pn.call(Nn,En[0],En[1]);case 3:return pn.call(Nn,En[0],En[1],En[2])}return pn.apply(Nn,En)}function Mp(pn,Nn,En,Ln){for(var or=-1,Sr=pn==null?0:pn.length;++or-1}function Cu(pn,Nn,En){for(var Ln=-1,or=pn==null?0:pn.length;++Ln-1;);return En}function GU(pn,Nn){for(var En=pn.length;En--&&ws(Nn,pn[En],0)>-1;);return En}function Gp(pn,Nn){for(var En=pn.length,Ln=0;En--;)pn[En]===Nn&&++Ln;return Ln}var Yp=Mu(Gt),Hp=Mu(an);function Xp(pn){return"\\"+mn[pn]}function Kp(pn,Nn){return pn==null?_:pn[Nn]}function Zs(pn){return is.test(pn)}function qp(pn){return io.test(pn)}function $p(pn){for(var Nn,En=[];!(Nn=pn.next()).done;)En.push(Nn.value);return En}function Iu(pn){var Nn=-1,En=Array(pn.size);return pn.forEach(function(Ln,or){En[++Nn]=[or,Ln]}),En}function YU(pn,Nn){return function(En){return pn(Nn(En))}}function ls(pn,Nn){for(var En=-1,Ln=pn.length,or=0,Sr=[];++En-1}function AQ(it,lt){var St=this.__data__,Mt=cu(St,it);return Mt<0?(++this.size,St.push([it,lt])):St[Mt][1]=lt,this}Xo.prototype.clear=wQ,Xo.prototype.delete=ZQ,Xo.prototype.get=DQ,Xo.prototype.has=MQ,Xo.prototype.set=AQ;function Ko(it){var lt=-1,St=it==null?0:it.length;for(this.clear();++lt=lt?it:lt)),it}function No(it,lt,St,Mt,Yt,tn){var dn,un=lt&ut,Rn=lt&dt,Wn=lt&Ut;if(St&&(dn=Yt?St(it,Mt,Yt,tn):St(it)),dn!==_)return dn;if(!_r(it))return it;var _n=ar(it);if(_n){if(dn=IB(it),!un)return po(it,dn)}else{var wn=no(it),jn=wn==Ht||wn==on;if(gs(it))return NF(it,un);if(wn==In||wn==rn||jn&&!Yt){if(dn=Rn||jn?{}:HF(it),!un)return Rn?WB(it,eB(dn,it)):NB(it,aF(dn,it))}else{if(!Nt[wn])return Yt?it:{};dn=jB(it,wn,un)}}tn||(tn=new Do);var Gn=tn.get(it);if(Gn)return Gn;tn.set(it,dn),yp(it)?it.forEach(function(nr){dn.add(No(nr,lt,St,nr,it,tn))}):Sp(it)&&it.forEach(function(nr,pr){dn.set(pr,No(nr,lt,St,pr,it,tn))});var tr=Wn?Rn?gU:FU:Rn?Qo:Xr,dr=_n?_:tr(it);return To(dr||it,function(nr,pr){dr&&(pr=nr,nr=it[pr]),Vl(dn,pr,No(nr,lt,St,pr,it,tn))}),dn}function tB(it){var lt=Xr(it);return function(St){return sF(St,it,lt)}}function sF(it,lt,St){var Mt=St.length;if(it==null)return!Mt;for(it=Tr(it);Mt--;){var Yt=St[Mt],tn=lt[Yt],dn=it[Yt];if(dn===_&&!(Yt in it)||!tn(dn))return!1}return!0}function lF(it,lt,St){if(typeof it!="function")throw new vo(et);return wl(function(){it.apply(_,St)},lt)}function Tl(it,lt,St,Mt){var Yt=-1,tn=Yl,dn=!0,un=it.length,Rn=[],Wn=lt.length;if(!un)return Rn;St&&(lt=kr(lt,So(St))),Mt?(tn=Cu,dn=!1):lt.length>=$&&(tn=Ql,dn=!1,lt=new Vs(lt));e:for(;++YtYt?0:Yt+St),Mt=Mt===_||Mt>Yt?Yt:lr(Mt),Mt<0&&(Mt+=Yt),Mt=St>Mt?0:Vp(Mt);St0&&St(un)?lt>1?qr(un,lt-1,St,Mt,Yt):ss(Yt,un):Mt||(Yt[Yt.length]=un)}return Yt}var Hu=ZF(),uF=ZF(!0);function jo(it,lt){return it&&Hu(it,lt,Xr)}function Xu(it,lt){return it&&uF(it,lt,Xr)}function Uu(it,lt){return as(lt,function(St){return ba(it[St])})}function Ts(it,lt){lt=Us(lt,it);for(var St=0,Mt=lt.length;it!=null&&Stlt}function iB(it,lt){return it!=null&&br.call(it,lt)}function oB(it,lt){return it!=null&< in Tr(it)}function aB(it,lt,St){return it>=eo(lt,St)&&it=120&&_n.length>=120)?new Vs(dn&&_n):_}_n=it[0];var wn=-1,jn=un[0];e:for(;++wn-1;)un!==it&&ru.call(un,Rn,1),ru.call(it,Rn,1);return it}function mF(it,lt){for(var St=it?lt.length:0,Mt=St-1;St--;){var Yt=lt[St];if(St==Mt||Yt!==tn){var tn=Yt;ga(Yt)?ru.call(it,Yt,1):aU(it,Yt)}}return it}function rU(it,lt){return it+au(nF()*(lt-it+1))}function BB(it,lt,St,Mt){for(var Yt=-1,tn=zr(ou((lt-it)/(St||1)),0),dn=En(tn);tn--;)dn[Mt?tn:++Yt]=it,it+=St;return dn}function iU(it,lt){var St="";if(!it||lt<1||lt>Jt)return St;do lt%2&&(St+=it),lt=au(lt/2),lt&&(it+=it);while(lt);return St}function ur(it,lt){return SU(qF(it,lt,fo),it+"")}function RB(it){return oF(Gs(it))}function SB(it,lt){var St=Gs(it);return yu(St,bs(lt,0,St.length))}function Wl(it,lt,St,Mt){if(!_r(it))return it;lt=Us(lt,it);for(var Yt=-1,tn=lt.length,dn=tn-1,un=it;un!=null&&++YtYt?0:Yt+lt),St=St>Yt?Yt:St,St<0&&(St+=Yt),Yt=lt>St?0:St-lt>>>0,lt>>>=0;for(var tn=En(Yt);++Mt>>1,dn=it[tn];dn!==null&&!yo(dn)&&(St?dn<=lt:dn=$){var Wn=lt?null:wB(it);if(Wn)return Xl(Wn);dn=!1,Yt=Ql,Rn=new Vs}else Rn=lt?[]:un;e:for(;++Mt=Mt?it:Wo(it,lt,St)}var JF=FQ||function(it){return Zn.clearTimeout(it)};function NF(it,lt){if(lt)return it.slice();var St=it.length,Mt=KU?KU(St):new it.constructor(St);return it.copy(Mt),Mt}function cU(it){var lt=new it.constructor(it.byteLength);return new tu(lt).set(new tu(it)),lt}function bB(it,lt){var St=lt?cU(it.buffer):it.buffer;return new it.constructor(St,it.byteOffset,it.byteLength)}function TB(it){var lt=new it.constructor(it.source,Ur.exec(it));return lt.lastIndex=it.lastIndex,lt}function vB(it){return El?Tr(El.call(it)):{}}function WF(it,lt){var St=lt?cU(it.buffer):it.buffer;return new it.constructor(St,it.byteOffset,it.length)}function kF(it,lt){if(it!==lt){var St=it!==_,Mt=it===null,Yt=it===it,tn=yo(it),dn=lt!==_,un=lt===null,Rn=lt===lt,Wn=yo(lt);if(!un&&!Wn&&!tn&&it>lt||tn&&dn&&Rn&&!un&&!Wn||Mt&&dn&&Rn||!St&&Rn||!Yt)return 1;if(!Mt&&!tn&&!Wn&&it=un)return Rn;var Wn=St[Mt];return Rn*(Wn=="desc"?-1:1)}}return it.index-lt.index}function _F(it,lt,St,Mt){for(var Yt=-1,tn=it.length,dn=St.length,un=-1,Rn=lt.length,Wn=zr(tn-dn,0),_n=En(Rn+Wn),wn=!Mt;++un1?St[Yt-1]:_,dn=Yt>2?St[2]:_;for(tn=it.length>3&&typeof tn=="function"?(Yt--,tn):_,dn&&so(St[0],St[1],dn)&&(tn=Yt<3?_:tn,Yt=1),lt=Tr(lt);++Mt-1?Yt[tn?lt[dn]:dn]:_}}function AF(it){return na(function(lt){var St=lt.length,Mt=St,Yt=Jo.prototype.thru;for(it&<.reverse();Mt--;){var tn=lt[Mt];if(typeof tn!="function")throw new vo(et);if(Yt&&!dn&&Su(tn)=="wrapper")var dn=new Jo([],!0)}for(Mt=dn?Mt:St;++Mt1&&Br.reverse(),_n&&Rnun))return!1;var Wn=tn.get(it),_n=tn.get(lt);if(Wn&&_n)return Wn==lt&&_n==it;var wn=-1,jn=!0,Gn=St&ct?new Vs:_;for(tn.set(it,lt),tn.set(lt,it);++wn1?"& ":"")+lt[Mt],lt=lt.join(St>2?", ":" "),it.replace(hn,`{ -/* [wrapped with `+lt+`] */ -`)}function PB(it){return ar(it)||Ns(it)||!!(eF&&it&&it[eF])}function ga(it,lt){var St=typeof it;return lt=lt??Jt,!!lt&&(St=="number"||St!="symbol"&&Cr.test(it))&&it>-1&&it%1==0&&it0){if(++lt>=vt)return arguments[0]}else lt=0;return it.apply(_,arguments)}}function yu(it,lt){var St=-1,Mt=it.length,Yt=Mt-1;for(lt=lt===_?Mt:lt;++St1?it[lt-1]:_;return St=typeof St=="function"?(it.pop(),St):_,dp(it,St)});function cp(it){var lt=en(it);return lt.__chain__=!0,lt}function n0(it,lt){return lt(it),it}function Eu(it,lt){return lt(it)}var r0=na(function(it){var lt=it.length,St=lt?it[0]:0,Mt=this.__wrapped__,Yt=function(tn){return Yu(tn,it)};return lt>1||this.__actions__.length||!(Mt instanceof fr)||!ga(St)?this.thru(Yt):(Mt=Mt.slice(St,+St+(lt?1:0)),Mt.__actions__.push({func:Eu,args:[Yt],thisArg:_}),new Jo(Mt,this.__chain__).thru(function(tn){return lt&&!tn.length&&tn.push(_),tn}))});function o0(){return cp(this)}function a0(){return new Jo(this.value(),this.__chain__)}function l0(){this.__values__===_&&(this.__values__=Ep(this.value()));var it=this.__index__>=this.__values__.length,lt=it?_:this.__values__[this.__index__++];return{done:it,value:lt}}function u0(){return this}function U0(it){for(var lt,St=this;St instanceof du;){var Mt=rp(St);Mt.__index__=0,Mt.__values__=_,lt?Yt.__wrapped__=Mt:lt=Mt;var Yt=Mt;St=St.__wrapped__}return Yt.__wrapped__=it,lt}function F0(){var it=this.__wrapped__;if(it instanceof fr){var lt=it;return this.__actions__.length&&(lt=new fr(this)),lt=lt.reverse(),lt.__actions__.push({func:Eu,args:[mU],thisArg:_}),new Jo(lt,this.__chain__)}return this.thru(mU)}function g0(){return TF(this.__wrapped__,this.__actions__)}var p0=hu(function(it,lt,St){br.call(it,St)?++it[St]:qo(it,St,1)});function h0(it,lt,St){var Mt=ar(it)?OU:nB;return St&&so(it,lt,St)&&(lt=_),Mt(it,$n(lt,3))}function Q0(it,lt){var St=ar(it)?as:cF;return St(it,$n(lt,3))}var f0=MF(ip),B0=MF(op);function S0(it,lt){return qr(Vu(it,lt),1)}function m0(it,lt){return qr(Vu(it,lt),bt)}function y0(it,lt,St){return St=St===_?1:lr(St),qr(Vu(it,lt),St)}function up(it,lt){var St=ar(it)?To:cs;return St(it,$n(lt,3))}function Up(it,lt){var St=ar(it)?Ap:dF;return St(it,$n(lt,3))}var E0=hu(function(it,lt,St){br.call(it,St)?it[St].push(lt):qo(it,St,[lt])});function V0(it,lt,St,Mt){it=ho(it)?it:Gs(it),St=St&&!Mt?lr(St):0;var Yt=it.length;return St<0&&(St=zr(Yt+St,0)),Nu(it)?St<=Yt&&it.indexOf(lt,St)>-1:!!Yt&&ws(it,lt,St)>-1}var b0=ur(function(it,lt,St){var Mt=-1,Yt=typeof lt=="function",tn=ho(it)?En(it.length):[];return cs(it,function(dn){tn[++Mt]=Yt?Ro(lt,dn,St):Jl(dn,lt,St)}),tn}),T0=hu(function(it,lt,St){qo(it,St,lt)});function Vu(it,lt){var St=ar(it)?kr:hF;return St(it,$n(lt,3))}function v0(it,lt,St,Mt){return it==null?[]:(ar(lt)||(lt=lt==null?[]:[lt]),St=Mt?_:St,ar(St)||(St=St==null?[]:[St]),RF(it,lt,St))}var N0=hu(function(it,lt,St){it[St?0:1].push(lt)},function(){return[[],[]]});function W0(it,lt,St){var Mt=ar(it)?wu:LU,Yt=arguments.length<3;return Mt(it,$n(lt,4),St,Yt,cs)}function k0(it,lt,St){var Mt=ar(it)?Op:LU,Yt=arguments.length<3;return Mt(it,$n(lt,4),St,Yt,dF)}function _0(it,lt){var St=ar(it)?as:cF;return St(it,vu($n(lt,3)))}function C0(it){var lt=ar(it)?oF:RB;return lt(it)}function w0(it,lt,St){(St?so(it,lt,St):lt===_)?lt=1:lt=lr(lt);var Mt=ar(it)?qQ:SB;return Mt(it,lt)}function Z0(it){var lt=ar(it)?$Q:yB;return lt(it)}function M0(it){if(it==null)return 0;if(ho(it))return Nu(it)?Ds(it):it.length;var lt=no(it);return lt==sn||lt==Dn?it.size:eU(it).length}function A0(it,lt,St){var Mt=ar(it)?Zu:EB;return St&&so(it,lt,St)&&(lt=_),Mt(it,$n(lt,3))}var x0=ur(function(it,lt){if(it==null)return[];var St=lt.length;return St>1&&so(it,lt[0],lt[1])?lt=[]:St>2&&so(lt[0],lt[1],lt[2])&&(lt=[lt[0]]),RF(it,qr(lt,1),[])}),bu=gQ||function(){return Zn.Date.now()};function I0(it,lt){if(typeof lt!="function")throw new vo(et);return it=lr(it),function(){if(--it<1)return lt.apply(this,arguments)}}function Fp(it,lt,St){return lt=St?_:lt,lt=it&<==null?it.length:lt,$o(it,Ct,_,_,_,_,lt)}function gp(it,lt){var St;if(typeof lt!="function")throw new vo(et);return it=lr(it),function(){return--it>0&&(St=lt.apply(this,arguments)),it<=1&&(lt=_),St}}var EU=ur(function(it,lt,St){var Mt=pt;if(St.length){var Yt=ls(St,Ps(EU));Mt|=Ft}return $o(it,Mt,lt,St,Yt)}),pp=ur(function(it,lt,St){var Mt=pt|Bt;if(St.length){var Yt=ls(St,Ps(pp));Mt|=Ft}return $o(lt,Mt,it,St,Yt)});function hp(it,lt,St){lt=St?_:lt;var Mt=$o(it,gt,_,_,_,_,_,lt);return Mt.placeholder=hp.placeholder,Mt}function Qp(it,lt,St){lt=St?_:lt;var Mt=$o(it,ft,_,_,_,_,_,lt);return Mt.placeholder=Qp.placeholder,Mt}function fp(it,lt,St){var Mt,Yt,tn,dn,un,Rn,Wn=0,_n=!1,wn=!1,jn=!0;if(typeof it!="function")throw new vo(et);lt=_o(lt)||0,_r(St)&&(_n=!!St.leading,wn="maxWait"in St,tn=wn?zr(_o(St.maxWait)||0,lt):tn,jn="trailing"in St?!!St.trailing:jn);function Gn(Or){var Ao=Mt,xa=Yt;return Mt=Yt=_,Wn=Or,dn=it.apply(xa,Ao),dn}function tr(Or){return Wn=Or,un=wl(pr,lt),_n?Gn(Or):dn}function dr(Or){var Ao=Or-Rn,xa=Or-Wn,Dp=lt-Ao;return wn?eo(Dp,tn-xa):Dp}function nr(Or){var Ao=Or-Rn,xa=Or-Wn;return Rn===_||Ao>=lt||Ao<0||wn&&xa>=tn}function pr(){var Or=bu();if(nr(Or))return Br(Or);un=wl(pr,dr(Or))}function Br(Or){return un=_,jn&&Mt?Gn(Or):(Mt=Yt=_,dn)}function Eo(){un!==_&&JF(un),Wn=0,Mt=Rn=Yt=un=_}function lo(){return un===_?dn:Br(bu())}function Vo(){var Or=bu(),Ao=nr(Or);if(Mt=arguments,Yt=this,Rn=Or,Ao){if(un===_)return tr(Rn);if(wn)return JF(un),un=wl(pr,lt),Gn(Rn)}return un===_&&(un=wl(pr,lt)),dn}return Vo.cancel=Eo,Vo.flush=lo,Vo}var j0=ur(function(it,lt){return lF(it,1,lt)}),L0=ur(function(it,lt,St){return lF(it,_o(lt)||0,St)});function z0(it){return $o(it,ht)}function Tu(it,lt){if(typeof it!="function"||lt!=null&&typeof lt!="function")throw new vo(et);var St=function(){var Mt=arguments,Yt=lt?lt.apply(this,Mt):Mt[0],tn=St.cache;if(tn.has(Yt))return tn.get(Yt);var dn=it.apply(this,Mt);return St.cache=tn.set(Yt,dn)||tn,dn};return St.cache=new(Tu.Cache||Ko),St}Tu.Cache=Ko;function vu(it){if(typeof it!="function")throw new vo(et);return function(){var lt=arguments;switch(lt.length){case 0:return!it.call(this);case 1:return!it.call(this,lt[0]);case 2:return!it.call(this,lt[0],lt[1]);case 3:return!it.call(this,lt[0],lt[1],lt[2])}return!it.apply(this,lt)}}function Y0(it){return gp(2,it)}var H0=VB(function(it,lt){lt=lt.length==1&&ar(lt[0])?kr(lt[0],So($n())):kr(qr(lt,1),So($n()));var St=lt.length;return ur(function(Mt){for(var Yt=-1,tn=eo(Mt.length,St);++Yt=lt}),Ns=FF(function(){return arguments}())?FF:function(it){return wr(it)&&br.call(it,"callee")&&!$U.call(it,"callee")},ar=En.isArray,US=qn?So(qn):lB;function ho(it){return it!=null&&Ju(it.length)&&!ba(it)}function Ar(it){return wr(it)&&ho(it)}function FS(it){return it===!0||it===!1||wr(it)&&ao(it)==Et}var gs=hQ||ZU,gS=Mr?So(Mr):dB;function pS(it){return wr(it)&&it.nodeType===1&&!Zl(it)}function hS(it){if(it==null)return!0;if(ho(it)&&(ar(it)||typeof it=="string"||typeof it.splice=="function"||gs(it)||zs(it)||Ns(it)))return!it.length;var lt=no(it);if(lt==sn||lt==Dn)return!it.size;if(Cl(it))return!eU(it).length;for(var St in it)if(br.call(it,St))return!1;return!0}function QS(it,lt){return Nl(it,lt)}function fS(it,lt,St){St=typeof St=="function"?St:_;var Mt=St?St(it,lt):_;return Mt===_?Nl(it,lt,_,St):!!Mt}function bU(it){if(!wr(it))return!1;var lt=ao(it);return lt==Kt||lt==Pt||typeof it.message=="string"&&typeof it.name=="string"&&!Zl(it)}function BS(it){return typeof it=="number"&&tF(it)}function ba(it){if(!_r(it))return!1;var lt=ao(it);return lt==Ht||lt==on||lt==wt||lt==rr}function Rp(it){return typeof it=="number"&&it==lr(it)}function Ju(it){return typeof it=="number"&&it>-1&&it%1==0&&it<=Jt}function _r(it){var lt=typeof it;return it!=null&&(lt=="object"||lt=="function")}function wr(it){return it!=null&&typeof it=="object"}var Sp=oo?So(oo):uB;function RS(it,lt){return it===lt||$u(it,lt,hU(lt))}function SS(it,lt,St){return St=typeof St=="function"?St:_,$u(it,lt,hU(lt),St)}function mS(it){return mp(it)&&it!=+it}function yS(it){if(YB(it))throw new or(_e);return gF(it)}function ES(it){return it===null}function VS(it){return it==null}function mp(it){return typeof it=="number"||wr(it)&&ao(it)==gn}function Zl(it){if(!wr(it)||ao(it)!=In)return!1;var lt=nu(it);if(lt===null)return!0;var St=br.call(lt,"constructor")&<.constructor;return typeof St=="function"&&St instanceof St&&_d.call(St)==cQ}var TU=DU?So(DU):UB;function bS(it){return Rp(it)&&it>=-Jt&&it<=Jt}var yp=MU?So(MU):FB;function Nu(it){return typeof it=="string"||!ar(it)&&wr(it)&&ao(it)==Hn}function yo(it){return typeof it=="symbol"||wr(it)&&ao(it)==Fr}var zs=AU?So(AU):gB;function TS(it){return it===_}function vS(it){return wr(it)&&no(it)==Gr}function JS(it){return wr(it)&&ao(it)==Co}var NS=Ru(tU),WS=Ru(function(it,lt){return it<=lt});function Ep(it){if(!it)return[];if(ho(it))return Nu(it)?Zo(it):po(it);if(Bl&&it[Bl])return $p(it[Bl]());var lt=no(it),St=lt==sn?Iu:lt==Dn?Xl:Gs;return St(it)}function _a(it){if(!it)return it===0?it:0;if(it=_o(it),it===bt||it===-bt){var lt=it<0?-1:1;return lt*Zt}return it===it?it:0}function lr(it){var lt=_a(it),St=lt%1;return lt===lt?St?lt-St:lt:0}function Vp(it){return it?bs(lr(it),0,jt):0}function _o(it){if(typeof it=="number")return it;if(yo(it))return Vt;if(_r(it)){var lt=typeof it.valueOf=="function"?it.valueOf():it;it=_r(lt)?lt+"":lt}if(typeof it!="string")return it===0?it:+it;it=PU(it);var St=Ir.test(it);return St||Kr.test(it)?fn(it.slice(2),St?2:8):Nr.test(it)?Vt:+it}function bp(it){return Lo(it,Qo(it))}function kS(it){return it?bs(lr(it),-Jt,Jt):it===0?it:0}function Er(it){return it==null?"":mo(it)}var _S=js(function(it,lt){if(Cl(lt)||ho(lt)){Lo(lt,Xr(lt),it);return}for(var St in lt)br.call(lt,St)&&Vl(it,St,lt[St])}),Tp=js(function(it,lt){Lo(lt,Qo(lt),it)}),Wu=js(function(it,lt,St,Mt){Lo(lt,Qo(lt),it,Mt)}),CS=js(function(it,lt,St,Mt){Lo(lt,Xr(lt),it,Mt)}),wS=na(Yu);function ZS(it,lt){var St=Is(it);return lt==null?St:aF(St,lt)}var DS=ur(function(it,lt){it=Tr(it);var St=-1,Mt=lt.length,Yt=Mt>2?lt[2]:_;for(Yt&&so(lt[0],lt[1],Yt)&&(Mt=1);++St1),tn}),Lo(it,gU(it),St),Mt&&(St=No(St,ut|dt|Ut,ZB));for(var Yt=lt.length;Yt--;)aU(St,lt[Yt]);return St});function rm(it,lt){return Jp(it,vu($n(lt)))}var im=na(function(it,lt){return it==null?{}:QB(it,lt)});function Jp(it,lt){if(it==null)return{};var St=kr(gU(it),function(Mt){return[Mt]});return lt=$n(lt),SF(it,St,function(Mt,Yt){return lt(Mt,Yt[0])})}function om(it,lt,St){lt=Us(lt,it);var Mt=-1,Yt=lt.length;for(Yt||(Yt=1,it=_);++Mtlt){var Mt=it;it=lt,lt=Mt}if(St||it%1||lt%1){var Yt=nF();return eo(it+Yt*(lt-it+Tn("1e-"+((Yt+"").length-1))),lt)}return rU(it,lt)}var hm=Ls(function(it,lt,St){return lt=lt.toLowerCase(),it+(St?kp(lt):lt)});function kp(it){return NU(Er(it).toLowerCase())}function _p(it){return it=Er(it),it&&it.replace(Rr,Yp).replace(_u,"")}function Qm(it,lt,St){it=Er(it),lt=mo(lt);var Mt=it.length;St=St===_?Mt:bs(lr(St),0,Mt);var Yt=St;return St-=lt.length,St>=0&&it.slice(St,Yt)==lt}function fm(it){return it=Er(it),it&&Oo.test(it)?it.replace(Ws,Hp):it}function Bm(it){return it=Er(it),it&&qt.test(it)?it.replace(Lt,"\\$&"):it}var Rm=Ls(function(it,lt,St){return it+(St?"-":"")+lt.toLowerCase()}),Sm=Ls(function(it,lt,St){return it+(St?" ":"")+lt.toLowerCase()}),mm=DF("toLowerCase");function ym(it,lt,St){it=Er(it),lt=lr(lt);var Mt=lt?Ds(it):0;if(!lt||Mt>=lt)return it;var Yt=(lt-Mt)/2;return Bu(au(Yt),St)+it+Bu(ou(Yt),St)}function Em(it,lt,St){it=Er(it),lt=lr(lt);var Mt=lt?Ds(it):0;return lt&&Mt>>0,St?(it=Er(it),it&&(typeof lt=="string"||lt!=null&&!TU(lt))&&(lt=mo(lt),!lt&&Zs(it))?Fs(Zo(it),0,St):it.split(lt,St)):[]}var Wm=Ls(function(it,lt,St){return it+(St?" ":"")+NU(lt)});function km(it,lt,St){return it=Er(it),St=St==null?0:bs(lr(St),0,it.length),lt=mo(lt),it.slice(St,St+lt.length)==lt}function _m(it,lt,St){var Mt=en.templateSettings;St&&so(it,lt,St)&&(lt=_),it=Er(it),lt=Wu({},lt,Mt,LF);var Yt=Wu({},lt.imports,Mt.imports,LF),tn=Xr(Yt),dn=xu(Yt,tn),un,Rn,Wn=0,_n=lt.interpolate||vr,wn="__p += '",jn=ju((lt.escape||vr).source+"|"+_n.source+"|"+(_n===mr?Kn:vr).source+"|"+(lt.evaluate||vr).source+"|$","g"),Gn="//# sourceURL="+(br.call(lt,"sourceURL")?(lt.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Gl+"]")+` -`;it.replace(jn,function(nr,pr,Br,Eo,lo,Vo){return Br||(Br=Eo),wn+=it.slice(Wn,Vo).replace(Zr,Xp),pr&&(un=!0,wn+=`' + -__e(`+pr+`) + -'`),lo&&(Rn=!0,wn+=`'; -`+lo+`; -__p += '`),Br&&(wn+=`' + -((__t = (`+Br+`)) == null ? '' : __t) + -'`),Wn=Vo+nr.length,nr}),wn+=`'; -`;var tr=br.call(lt,"variable")&<.variable;if(!tr)wn=`with (obj) { -`+wn+` -} -`;else if(Fn.test(tr))throw new or(tt);wn=(Rn?wn.replace(Yn,""):wn).replace($r,"$1").replace(Hr,"$1;"),wn="function("+(tr||"obj")+`) { -`+(tr?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(un?", __e = _.escape":"")+(Rn?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+wn+`return __p -}`;var dr=wp(function(){return Sr(tn,Gn+"return "+wn).apply(_,dn)});if(dr.source=wn,bU(dr))throw dr;return dr}function Cm(it){return Er(it).toLowerCase()}function wm(it){return Er(it).toUpperCase()}function Zm(it,lt,St){if(it=Er(it),it&&(St||lt===_))return PU(it);if(!it||!(lt=mo(lt)))return it;var Mt=Zo(it),Yt=Zo(lt),tn=zU(Mt,Yt),dn=GU(Mt,Yt)+1;return Fs(Mt,tn,dn).join("")}function Dm(it,lt,St){if(it=Er(it),it&&(St||lt===_))return it.slice(0,HU(it)+1);if(!it||!(lt=mo(lt)))return it;var Mt=Zo(it),Yt=GU(Mt,Zo(lt))+1;return Fs(Mt,0,Yt).join("")}function Mm(it,lt,St){if(it=Er(it),it&&(St||lt===_))return it.replace(ln,"");if(!it||!(lt=mo(lt)))return it;var Mt=Zo(it),Yt=zU(Mt,Zo(lt));return Fs(Mt,Yt).join("")}function Am(it,lt){var St=mt,Mt=It;if(_r(lt)){var Yt="separator"in lt?lt.separator:Yt;St="length"in lt?lr(lt.length):St,Mt="omission"in lt?mo(lt.omission):Mt}it=Er(it);var tn=it.length;if(Zs(it)){var dn=Zo(it);tn=dn.length}if(St>=tn)return it;var un=St-Ds(Mt);if(un<1)return Mt;var Rn=dn?Fs(dn,0,un).join(""):it.slice(0,un);if(Yt===_)return Rn+Mt;if(dn&&(un+=Rn.length-un),TU(Yt)){if(it.slice(un).search(Yt)){var Wn,_n=Rn;for(Yt.global||(Yt=ju(Yt.source,Er(Ur.exec(Yt))+"g")),Yt.lastIndex=0;Wn=Yt.exec(_n);)var wn=Wn.index;Rn=Rn.slice(0,wn===_?un:wn)}}else if(it.indexOf(mo(Yt),un)!=un){var jn=Rn.lastIndexOf(Yt);jn>-1&&(Rn=Rn.slice(0,jn))}return Rn+Mt}function Om(it){return it=Er(it),it&&ps.test(it)?it.replace(uo,nQ):it}var xm=Ls(function(it,lt,St){return it+(St?" ":"")+lt.toUpperCase()}),NU=DF("toUpperCase");function Cp(it,lt,St){return it=Er(it),lt=St?_:lt,lt===_?qp(it)?oQ(it):jp(it):it.match(lt)||[]}var wp=ur(function(it,lt){try{return Ro(it,_,lt)}catch(St){return bU(St)?St:new or(St)}}),Im=na(function(it,lt){return To(lt,function(St){St=Po(St),qo(it,St,EU(it[St],it))}),it});function jm(it){var lt=it==null?0:it.length,St=$n();return it=lt?kr(it,function(Mt){if(typeof Mt[1]!="function")throw new vo(et);return[St(Mt[0]),Mt[1]]}):[],ur(function(Mt){for(var Yt=-1;++YtJt)return[];var St=jt,Mt=eo(it,jt);lt=$n(lt),it-=jt;for(var Yt=Ou(Mt,lt);++St0||lt<0)?new fr(St):(it<0?St=St.takeRight(-it):it&&(St=St.drop(it)),lt!==_&&(lt=lr(lt),St=lt<0?St.dropRight(-lt):St.take(lt-it)),St)},fr.prototype.takeRightWhile=function(it){return this.reverse().takeWhile(it).reverse()},fr.prototype.toArray=function(){return this.take(jt)},jo(fr.prototype,function(it,lt){var St=/^(?:filter|find|map|reject)|While$/.test(lt),Mt=/^(?:head|last)$/.test(lt),Yt=en[Mt?"take"+(lt=="last"?"Right":""):lt],tn=Mt||/^find/.test(lt);Yt&&(en.prototype[lt]=function(){var dn=this.__wrapped__,un=Mt?[1]:arguments,Rn=dn instanceof fr,Wn=un[0],_n=Rn||ar(dn),wn=function(pr){var Br=Yt.apply(en,ss([pr],un));return Mt&&jn?Br[0]:Br};_n&&St&&typeof Wn=="function"&&Wn.length!=1&&(Rn=_n=!1);var jn=this.__chain__,Gn=!!this.__actions__.length,tr=tn&&!jn,dr=Rn&&!Gn;if(!tn&&_n){dn=dr?dn:new fr(this);var nr=it.apply(dn,un);return nr.__actions__.push({func:Eu,args:[wn],thisArg:_}),new Jo(nr,jn)}return tr&&dr?it.apply(this,un):(nr=this.thru(wn),tr?Mt?nr.value()[0]:nr.value():nr)})}),To(["pop","push","shift","sort","splice","unshift"],function(it){var lt=Kl[it],St=/^(?:push|sort|unshift)$/.test(it)?"tap":"thru",Mt=/^(?:pop|shift)$/.test(it);en.prototype[it]=function(){var Yt=arguments;if(Mt&&!this.__chain__){var tn=this.value();return lt.apply(ar(tn)?tn:[],Yt)}return this[St](function(dn){return lt.apply(ar(dn)?dn:[],Yt)})}}),jo(fr.prototype,function(it,lt){var St=en[lt];if(St){var Mt=St.name+"";br.call(xs,Mt)||(xs[Mt]=[]),xs[Mt].push({name:lt,func:St})}}),xs[Qu(_,Bt).name]=[{name:"wrapper",func:_}],fr.prototype.clone=TQ,fr.prototype.reverse=vQ,fr.prototype.value=JQ,en.prototype.at=r0,en.prototype.chain=o0,en.prototype.commit=a0,en.prototype.next=l0,en.prototype.plant=U0,en.prototype.reverse=F0,en.prototype.toJSON=en.prototype.valueOf=en.prototype.value=g0,en.prototype.first=en.prototype.head,Bl&&(en.prototype[Bl]=u0),en},Ms=aQ();ir?((ir.exports=Ms)._=Ms,zn._=Ms):Zn._=Ms}).call(commonjsGlobal$1)})(lodash,lodash.exports);lodash.exports;var lib={},uaParser_min={exports:{}};(function(o,s){(function(_,j){var $="1.0.41",_e="",et="?",tt="function",nt="undefined",rt="object",ot="string",ut="major",dt="model",Ut="name",st="type",ct="vendor",pt="version",Bt="architecture",Qt="console",gt="mobile",ft="tablet",Ft="smarttv",yt="wearable",Ct="embedded",xt=500,ht="Amazon",mt="Apple",It="ASUS",vt="BlackBerry",Tt="Browser",Ot="Chrome",_t="Edge",Wt="Firefox",bt="Google",Jt="Honor",Zt="Huawei",Vt="Lenovo",jt="LG",zt="Microsoft",$t="Motorola",nn="Nvidia",rn="OnePlus",Dt="Opera",wt="OPPO",Et="Samsung",kt="Sharp",Pt="Sony",Kt="Xiaomi",Ht="Zebra",on="Facebook",sn="Chromium OS",gn="Mac OS",Cn=" Browser",In=function(er,sr){var Xn={};for(var gr in er)sr[gr]&&sr[gr].length%2===0?Xn[gr]=sr[gr].concat(er[gr]):Xn[gr]=er[gr];return Xn},Mn=function(er){for(var sr={},Xn=0;Xn0?Pn.length===2?typeof Pn[1]==tt?this[Pn[0]]=Pn[1].call(this,$r):this[Pn[0]]=Pn[1]:Pn.length===3?typeof Pn[1]===tt&&!(Pn[1].exec&&Pn[1].test)?this[Pn[0]]=$r?Pn[1].call(this,$r,Pn[2]):j:this[Pn[0]]=$r?$r.replace(Pn[1],Pn[2]):j:Pn.length===4&&(this[Pn[0]]=$r?Pn[3].call(this,$r.replace(Pn[1],Pn[2])):j):this[Pn]=$r||j;Xn+=2}},hr=function(er,sr){for(var Xn in sr)if(typeof sr[Xn]===rt&&sr[Xn].length>0){for(var gr=0;gr2&&(Yn[dt]="iPad",Yn[st]=ft),Yn},this.getEngine=function(){var Yn={};return Yn[Ut]=j,Yn[pt]=j,Fr.call(Yn,gr,Wr.engine),Yn},this.getOS=function(){var Yn={};return Yn[Ut]=j,Yn[pt]=j,Fr.call(Yn,gr,Wr.os),Pn&&!Yn[Ut]&&Yr&&Yr.platform&&Yr.platform!="Unknown"&&(Yn[Ut]=Yr.platform.replace(/chrome os/i,sn).replace(/macos/i,gn)),Yn},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return gr},this.setUA=function(Yn){return gr=typeof Yn===ot&&Yn.length>xt?Hn(Yn,xt):Yn,this},this.setUA(gr),this};Jr.VERSION=$,Jr.BROWSER=Mn([Ut,pt,ut]),Jr.CPU=Mn([Bt]),Jr.DEVICE=Mn([dt,ct,st,Qt,gt,Ft,ft,yt,Ct]),Jr.ENGINE=Jr.OS=Mn([Ut,pt]),o.exports&&(s=o.exports=Jr),s.UAParser=Jr;var xr=typeof _!==nt&&(_.jQuery||_.Zepto);if(xr&&!xr.ua){var ro=new Jr;xr.ua=ro.getResult(),xr.ua.get=function(){return ro.getUA()},xr.ua.set=function(er){ro.setUA(er);var sr=ro.getResult();for(var Xn in sr)xr.ua[Xn]=sr[Xn]}}})(typeof window=="object"?window:commonjsGlobal$1)})(uaParser_min,uaParser_min.exports);var uaParser_minExports=uaParser_min.exports;Object.defineProperty(lib,"__esModule",{value:!0});function _interopDefault(o){return o&&typeof o=="object"&&"default"in o?o.default:o}var React=reactExports,React__default=_interopDefault(React),UAParser=uaParser_minExports,ClientUAInstance=new UAParser,browser=ClientUAInstance.getBrowser(),cpu=ClientUAInstance.getCPU(),device=ClientUAInstance.getDevice(),engine=ClientUAInstance.getEngine(),os=ClientUAInstance.getOS(),ua=ClientUAInstance.getUA(),setUa=function o(s){return ClientUAInstance.setUA(s)},parseUserAgent=function o(s){if(!s){console.error("No userAgent string was provided");return}var _=new UAParser(s);return{UA:_,browser:_.getBrowser(),cpu:_.getCPU(),device:_.getDevice(),engine:_.getEngine(),os:_.getOS(),ua:_.getUA(),setUserAgent:function($){return _.setUA($)}}},UAHelper=Object.freeze({ClientUAInstance,browser,cpu,device,engine,os,ua,setUa,parseUserAgent});function ownKeys(o,s){var _=Object.keys(o);if(Object.getOwnPropertySymbols){var j=Object.getOwnPropertySymbols(o);s&&(j=j.filter(function($){return Object.getOwnPropertyDescriptor(o,$).enumerable})),_.push.apply(_,j)}return _}function _objectSpread2(o){for(var s=1;s=0)&&(_[$]=o[$]);return _}function _objectWithoutProperties(o,s){if(o==null)return{};var _=_objectWithoutPropertiesLoose(o,s),j,$;if(Object.getOwnPropertySymbols){var _e=Object.getOwnPropertySymbols(o);for($=0;$<_e.length;$++)j=_e[$],!(s.indexOf(j)>=0)&&Object.prototype.propertyIsEnumerable.call(o,j)&&(_[j]=o[j])}return _}function _assertThisInitialized(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _possibleConstructorReturn(o,s){if(s&&(typeof s=="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(o)}function _slicedToArray(o,s){return _arrayWithHoles(o)||_iterableToArrayLimit(o,s)||_unsupportedIterableToArray(o,s)||_nonIterableRest()}function _arrayWithHoles(o){if(Array.isArray(o))return o}function _iterableToArrayLimit(o,s){var _=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(_!=null){var j=[],$=!0,_e=!1,et,tt;try{for(_=_.call(o);!($=(et=_.next()).done)&&(j.push(et.value),!(s&&j.length===s));$=!0);}catch(nt){_e=!0,tt=nt}finally{try{!$&&_.return!=null&&_.return()}finally{if(_e)throw tt}}return j}}function _unsupportedIterableToArray(o,s){if(o){if(typeof o=="string")return _arrayLikeToArray(o,s);var _=Object.prototype.toString.call(o).slice(8,-1);if(_==="Object"&&o.constructor&&(_=o.constructor.name),_==="Map"||_==="Set")return Array.from(o);if(_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_))return _arrayLikeToArray(o,s)}}function _arrayLikeToArray(o,s){(s==null||s>o.length)&&(s=o.length);for(var _=0,j=new Array(s);_1&&arguments[1]!==void 0?arguments[1]:"none";return s||_},getNavigatorInstance=function o(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},isIOS13Check=function o(s){var _=getNavigatorInstance();return _&&_.platform&&(_.platform.indexOf(s)!==-1||_.platform==="MacIntel"&&_.maxTouchPoints>1&&!window.MSStream)},browserPayload=function o(s,_,j,$,_e){return{isBrowser:s,browserMajorVersion:setDefaults(_.major),browserFullVersion:setDefaults(_.version),browserName:setDefaults(_.name),engineName:setDefaults(j.name),engineVersion:setDefaults(j.version),osName:setDefaults($.name),osVersion:setDefaults($.version),userAgent:setDefaults(_e)}},mobilePayload=function o(s,_,j,$){return _objectSpread2({},s,{vendor:setDefaults(_.vendor),model:setDefaults(_.model),os:setDefaults(j.name),osVersion:setDefaults(j.version),ua:setDefaults($)})},smartTvPayload=function o(s,_,j,$){return{isSmartTV:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},consolePayload=function o(s,_,j,$){return{isConsole:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},wearablePayload=function o(s,_,j,$){return{isWearable:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},embeddedPayload=function o(s,_,j,$,_e){return{isEmbedded:s,vendor:setDefaults(_.vendor),model:setDefaults(_.model),engineName:setDefaults(j.name),engineVersion:setDefaults(j.version),osName:setDefaults($.name),osVersion:setDefaults($.version),userAgent:setDefaults(_e)}};function deviceDetect(o){var s=o?parseUserAgent(o):UAHelper,_=s.device,j=s.browser,$=s.engine,_e=s.os,et=s.ua,tt=checkDeviceType(_.type),nt=tt.isBrowser,rt=tt.isMobile,ot=tt.isTablet,ut=tt.isSmartTV,dt=tt.isConsole,Ut=tt.isWearable,st=tt.isEmbedded;if(nt)return browserPayload(nt,j,$,_e,et);if(ut)return smartTvPayload(ut,$,_e,et);if(dt)return consolePayload(dt,$,_e,et);if(rt||ot)return mobilePayload(tt,_,_e,et);if(Ut)return wearablePayload(Ut,$,_e,et);if(st)return embeddedPayload(st,_,$,_e,et)}var isMobileType=function o(s){var _=s.type;return _===DeviceTypes.Mobile},isTabletType=function o(s){var _=s.type;return _===DeviceTypes.Tablet},isMobileAndTabletType=function o(s){var _=s.type;return _===DeviceTypes.Mobile||_===DeviceTypes.Tablet},isSmartTVType=function o(s){var _=s.type;return _===DeviceTypes.SmartTv},isBrowserType=function o(s){var _=s.type;return _===DeviceTypes.Browser},isWearableType=function o(s){var _=s.type;return _===DeviceTypes.Wearable},isConsoleType=function o(s){var _=s.type;return _===DeviceTypes.Console},isEmbeddedType=function o(s){var _=s.type;return _===DeviceTypes.Embedded},getMobileVendor=function o(s){var _=s.vendor;return setDefaults(_)},getMobileModel=function o(s){var _=s.model;return setDefaults(_)},getDeviceType=function o(s){var _=s.type;return setDefaults(_,"browser")},isAndroidType=function o(s){var _=s.name;return _===OsTypes.Android},isWindowsType=function o(s){var _=s.name;return _===OsTypes.Windows},isMacOsType=function o(s){var _=s.name;return _===OsTypes.MAC_OS},isWinPhoneType=function o(s){var _=s.name;return _===OsTypes.WindowsPhone},isIOSType=function o(s){var _=s.name;return _===OsTypes.IOS},getOsVersion=function o(s){var _=s.version;return setDefaults(_)},getOsName=function o(s){var _=s.name;return setDefaults(_)},isChromeType=function o(s){var _=s.name;return _===BrowserTypes.Chrome},isFirefoxType=function o(s){var _=s.name;return _===BrowserTypes.Firefox},isChromiumType=function o(s){var _=s.name;return _===BrowserTypes.Chromium},isEdgeType=function o(s){var _=s.name;return _===BrowserTypes.Edge},isYandexType=function o(s){var _=s.name;return _===BrowserTypes.Yandex},isSafariType=function o(s){var _=s.name;return _===BrowserTypes.Safari||_===BrowserTypes.MobileSafari},isMobileSafariType=function o(s){var _=s.name;return _===BrowserTypes.MobileSafari},isOperaType=function o(s){var _=s.name;return _===BrowserTypes.Opera},isIEType=function o(s){var _=s.name;return _===BrowserTypes.InternetExplorer||_===BrowserTypes.Ie},isMIUIType=function o(s){var _=s.name;return _===BrowserTypes.MIUI},isSamsungBrowserType=function o(s){var _=s.name;return _===BrowserTypes.SamsungBrowser},getBrowserFullVersion=function o(s){var _=s.version;return setDefaults(_)},getBrowserVersion=function o(s){var _=s.major;return setDefaults(_)},getBrowserName=function o(s){var _=s.name;return setDefaults(_)},getEngineName=function o(s){var _=s.name;return setDefaults(_)},getEngineVersion=function o(s){var _=s.version;return setDefaults(_)},isElectronType=function o(){var s=getNavigatorInstance(),_=s&&s.userAgent&&s.userAgent.toLowerCase();return typeof _=="string"?/electron/.test(_):!1},isEdgeChromiumType=function o(s){return typeof s=="string"&&s.indexOf("Edg/")!==-1},getIOS13=function o(){var s=getNavigatorInstance();return s&&(/iPad|iPhone|iPod/.test(s.platform)||s.platform==="MacIntel"&&s.maxTouchPoints>1)&&!window.MSStream},getIPad13=function o(){return isIOS13Check("iPad")},getIphone13=function o(){return isIOS13Check("iPhone")},getIPod13=function o(){return isIOS13Check("iPod")},getUseragent=function o(s){return setDefaults(s)};function buildSelectorsObject(o){var s=o||UAHelper,_=s.device,j=s.browser,$=s.os,_e=s.engine,et=s.ua;return{isSmartTV:isSmartTVType(_),isConsole:isConsoleType(_),isWearable:isWearableType(_),isEmbedded:isEmbeddedType(_),isMobileSafari:isMobileSafariType(j)||getIPad13(),isChromium:isChromiumType(j),isMobile:isMobileAndTabletType(_)||getIPad13(),isMobileOnly:isMobileType(_),isTablet:isTabletType(_)||getIPad13(),isBrowser:isBrowserType(_),isDesktop:isBrowserType(_),isAndroid:isAndroidType($),isWinPhone:isWinPhoneType($),isIOS:isIOSType($)||getIPad13(),isChrome:isChromeType(j),isFirefox:isFirefoxType(j),isSafari:isSafariType(j),isOpera:isOperaType(j),isIE:isIEType(j),osVersion:getOsVersion($),osName:getOsName($),fullBrowserVersion:getBrowserFullVersion(j),browserVersion:getBrowserVersion(j),browserName:getBrowserName(j),mobileVendor:getMobileVendor(_),mobileModel:getMobileModel(_),engineName:getEngineName(_e),engineVersion:getEngineVersion(_e),getUA:getUseragent(et),isEdge:isEdgeType(j)||isEdgeChromiumType(et),isYandex:isYandexType(j),deviceType:getDeviceType(_),isIOS13:getIOS13(),isIPad13:getIPad13(),isIPhone13:getIphone13(),isIPod13:getIPod13(),isElectron:isElectronType(),isEdgeChromium:isEdgeChromiumType(et),isLegacyEdge:isEdgeType(j)&&!isEdgeChromiumType(et),isWindows:isWindowsType($),isMacOs:isMacOsType($),isMIUI:isMIUIType(j),isSamsungBrowser:isSamsungBrowserType(j)}}var isSmartTV=isSmartTVType(device),isConsole=isConsoleType(device),isWearable=isWearableType(device),isEmbedded=isEmbeddedType(device),isMobileSafari=isMobileSafariType(browser)||getIPad13(),isChromium=isChromiumType(browser),isMobile=isMobileAndTabletType(device)||getIPad13(),isMobileOnly=isMobileType(device),isTablet=isTabletType(device)||getIPad13(),isBrowser=isBrowserType(device),isDesktop=isBrowserType(device),isAndroid=isAndroidType(os),isWinPhone=isWinPhoneType(os),isIOS=isIOSType(os)||getIPad13(),isChrome=isChromeType(browser),isFirefox=isFirefoxType(browser),isSafari=isSafariType(browser),isOpera=isOperaType(browser),isIE=isIEType(browser),osVersion=getOsVersion(os),osName=getOsName(os),fullBrowserVersion=getBrowserFullVersion(browser),browserVersion=getBrowserVersion(browser),browserName=getBrowserName(browser),mobileVendor=getMobileVendor(device),mobileModel=getMobileModel(device),engineName=getEngineName(engine),engineVersion=getEngineVersion(engine),getUA=getUseragent(ua),isEdge=isEdgeType(browser)||isEdgeChromiumType(ua),isYandex=isYandexType(browser),deviceType=getDeviceType(device),isIOS13=getIOS13(),isIPad13=getIPad13(),isIPhone13=getIphone13(),isIPod13=getIPod13(),isElectron=isElectronType(),isEdgeChromium=isEdgeChromiumType(ua),isLegacyEdge=isEdgeType(browser)&&!isEdgeChromiumType(ua),isWindows=isWindowsType(os),isMacOs=isMacOsType(os),isMIUI=isMIUIType(browser),isSamsungBrowser=isSamsungBrowserType(browser),getSelectorsByUserAgent=function o(s){if(!s||typeof s!="string"){console.error("No valid user agent string was provided");return}var _=parseUserAgent(s),j=_.device,$=_.browser,_e=_.os,et=_.engine,tt=_.ua;return buildSelectorsObject({device:j,browser:$,os:_e,engine:et,ua:tt})},AndroidView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isAndroid?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},BrowserView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isBrowser?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},IEView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isIE?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},IOSView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isIOS?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},MobileView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isMobile?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},TabletView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isTablet?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},WinPhoneView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isWinPhone?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},MobileOnlyView=function o(s){var _=s.renderWithFragment,j=s.children;s.viewClassName,s.style;var $=_objectWithoutProperties(s,["renderWithFragment","children","viewClassName","style"]);return isMobileOnly?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},SmartTVView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isSmartTV?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},ConsoleView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isConsole?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},WearableView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isWearable?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},CustomView=function o(s){var _=s.renderWithFragment,j=s.children;s.viewClassName,s.style;var $=s.condition,_e=_objectWithoutProperties(s,["renderWithFragment","children","viewClassName","style","condition"]);return $?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",_e,j):null};function withOrientationChange(o){return function(s){_inherits(_,s);function _(j){var $;return _classCallCheck(this,_),$=_possibleConstructorReturn(this,_getPrototypeOf(_).call(this,j)),$.isEventListenerAdded=!1,$.handleOrientationChange=$.handleOrientationChange.bind(_assertThisInitialized($)),$.onOrientationChange=$.onOrientationChange.bind(_assertThisInitialized($)),$.onPageLoad=$.onPageLoad.bind(_assertThisInitialized($)),$.state={isLandscape:!1,isPortrait:!1},$}return _createClass(_,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var $=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:$===0,isLandscape:$===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return React__default.createElement(o,_extends({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),_}(React__default.Component)}function useMobileOrientation(){var o=React.useState(function(){var _e=window.innerWidth>window.innerHeight?90:0;return{isPortrait:_e===0,isLandscape:_e===90,orientation:_e===0?"portrait":"landscape"}}),s=_slicedToArray(o,2),_=s[0],j=s[1],$=React.useCallback(function(){var _e=window.innerWidth>window.innerHeight?90:0,et={isPortrait:_e===0,isLandscape:_e===90,orientation:_e===0?"portrait":"landscape"};_.orientation!==et.orientation&&j(et)},[_.orientation]);return React.useEffect(function(){return(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&($(),window.addEventListener("load",$,!1),window.addEventListener("resize",$,!1)),function(){window.removeEventListener("resize",$,!1),window.removeEventListener("load",$,!1)}},[$]),_}function useDeviceData(o){var s=o||window.navigator.userAgent;return parseUserAgent(s)}function useDeviceSelectors(o){var s=o||window.navigator.userAgent,_=useDeviceData(s),j=buildSelectorsObject(_);return[j,_]}lib.AndroidView=AndroidView;lib.BrowserTypes=BrowserTypes;lib.BrowserView=BrowserView;lib.ConsoleView=ConsoleView;lib.CustomView=CustomView;lib.IEView=IEView;lib.IOSView=IOSView;lib.MobileOnlyView=MobileOnlyView;lib.MobileView=MobileView;lib.OsTypes=OsTypes;lib.SmartTVView=SmartTVView;lib.TabletView=TabletView;lib.WearableView=WearableView;lib.WinPhoneView=WinPhoneView;lib.browserName=browserName;lib.browserVersion=browserVersion;lib.deviceDetect=deviceDetect;lib.deviceType=deviceType;lib.engineName=engineName;lib.engineVersion=engineVersion;lib.fullBrowserVersion=fullBrowserVersion;lib.getSelectorsByUserAgent=getSelectorsByUserAgent;lib.getUA=getUA;lib.isAndroid=isAndroid;lib.isBrowser=isBrowser;lib.isChrome=isChrome;lib.isChromium=isChromium;lib.isConsole=isConsole;lib.isDesktop=isDesktop;lib.isEdge=isEdge;lib.isEdgeChromium=isEdgeChromium;lib.isElectron=isElectron;lib.isEmbedded=isEmbedded;lib.isFirefox=isFirefox;lib.isIE=isIE;lib.isIOS=isIOS;lib.isIOS13=isIOS13;lib.isIPad13=isIPad13;lib.isIPhone13=isIPhone13;lib.isIPod13=isIPod13;lib.isLegacyEdge=isLegacyEdge;lib.isMIUI=isMIUI;lib.isMacOs=isMacOs;lib.isMobile=isMobile;lib.isMobileOnly=isMobileOnly;lib.isMobileSafari=isMobileSafari;lib.isOpera=isOpera;lib.isSafari=isSafari;lib.isSamsungBrowser=isSamsungBrowser;lib.isSmartTV=isSmartTV;lib.isTablet=isTablet;lib.isWearable=isWearable;lib.isWinPhone=isWinPhone;lib.isWindows=isWindows;lib.isYandex=isYandex;lib.mobileModel=mobileModel;lib.mobileVendor=mobileVendor;lib.osName=osName;lib.osVersion=osVersion;lib.parseUserAgent=parseUserAgent;lib.setUserAgent=setUserAgent;lib.useDeviceData=useDeviceData;lib.useDeviceSelectors=useDeviceSelectors;lib.useMobileOrientation=useMobileOrientation;lib.withOrientationChange=withOrientationChange;/*! - * @kurkle/color v0.3.4 - * https://github.com/kurkle/color#readme - * (c) 2024 Jukka Kurkela - * Released under the MIT License - */function round(o){return o+.5|0}const lim=(o,s,_)=>Math.max(Math.min(o,_),s);function p2b(o){return lim(round(o*2.55),0,255)}function n2b(o){return lim(round(o*255),0,255)}function b2n(o){return lim(round(o/2.55)/100,0,1)}function n2p(o){return lim(round(o*100),0,100)}const map$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},hex=[..."0123456789ABCDEF"],h1=o=>hex[o&15],h2=o=>hex[(o&240)>>4]+hex[o&15],eq=o=>(o&240)>>4===(o&15),isShort=o=>eq(o.r)&&eq(o.g)&&eq(o.b)&&eq(o.a);function hexParse(o){var s=o.length,_;return o[0]==="#"&&(s===4||s===5?_={r:255&map$1[o[1]]*17,g:255&map$1[o[2]]*17,b:255&map$1[o[3]]*17,a:s===5?map$1[o[4]]*17:255}:(s===7||s===9)&&(_={r:map$1[o[1]]<<4|map$1[o[2]],g:map$1[o[3]]<<4|map$1[o[4]],b:map$1[o[5]]<<4|map$1[o[6]],a:s===9?map$1[o[7]]<<4|map$1[o[8]]:255})),_}const alpha=(o,s)=>o<255?s(o):"";function hexString(o){var s=isShort(o)?h1:h2;return o?"#"+s(o.r)+s(o.g)+s(o.b)+alpha(o.a,s):void 0}const HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(o,s,_){const j=s*Math.min(_,1-_),$=(_e,et=(_e+o/30)%12)=>_-j*Math.max(Math.min(et-3,9-et,1),-1);return[$(0),$(8),$(4)]}function hsv2rgbn(o,s,_){const j=($,_e=($+o/60)%6)=>_-_*s*Math.max(Math.min(_e,4-_e,1),0);return[j(5),j(3),j(1)]}function hwb2rgbn(o,s,_){const j=hsl2rgbn(o,1,.5);let $;for(s+_>1&&($=1/(s+_),s*=$,_*=$),$=0;$<3;$++)j[$]*=1-s-_,j[$]+=s;return j}function hueValue(o,s,_,j,$){return o===$?(s-_)/j+(s<_?6:0):s===$?(_-o)/j+2:(o-s)/j+4}function rgb2hsl(o){const _=o.r/255,j=o.g/255,$=o.b/255,_e=Math.max(_,j,$),et=Math.min(_,j,$),tt=(_e+et)/2;let nt,rt,ot;return _e!==et&&(ot=_e-et,rt=tt>.5?ot/(2-_e-et):ot/(_e+et),nt=hueValue(_,j,$,ot,_e),nt=nt*60+.5),[nt|0,rt||0,tt]}function calln(o,s,_,j){return(Array.isArray(s)?o(s[0],s[1],s[2]):o(s,_,j)).map(n2b)}function hsl2rgb(o,s,_){return calln(hsl2rgbn,o,s,_)}function hwb2rgb(o,s,_){return calln(hwb2rgbn,o,s,_)}function hsv2rgb(o,s,_){return calln(hsv2rgbn,o,s,_)}function hue(o){return(o%360+360)%360}function hueParse(o){const s=HUE_RE.exec(o);let _=255,j;if(!s)return;s[5]!==j&&(_=s[6]?p2b(+s[5]):n2b(+s[5]));const $=hue(+s[2]),_e=+s[3]/100,et=+s[4]/100;return s[1]==="hwb"?j=hwb2rgb($,_e,et):s[1]==="hsv"?j=hsv2rgb($,_e,et):j=hsl2rgb($,_e,et),{r:j[0],g:j[1],b:j[2],a:_}}function rotate(o,s){var _=rgb2hsl(o);_[0]=hue(_[0]+s),_=hsl2rgb(_),o.r=_[0],o.g=_[1],o.b=_[2]}function hslString(o){if(!o)return;const s=rgb2hsl(o),_=s[0],j=n2p(s[1]),$=n2p(s[2]);return o.a<255?`hsla(${_}, ${j}%, ${$}%, ${b2n(o.a)})`:`hsl(${_}, ${j}%, ${$}%)`}const map$2={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){const o={},s=Object.keys(names$1),_=Object.keys(map$2);let j,$,_e,et,tt;for(j=0;j>16&255,_e>>8&255,_e&255]}return o}let names;function nameParse(o){names||(names=unpack(),names.transparent=[0,0,0,0]);const s=names[o.toLowerCase()];return s&&{r:s[0],g:s[1],b:s[2],a:s.length===4?s[3]:255}}const RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(o){const s=RGB_RE.exec(o);let _=255,j,$,_e;if(s){if(s[7]!==j){const et=+s[7];_=s[8]?p2b(et):lim(et*255,0,255)}return j=+s[1],$=+s[3],_e=+s[5],j=255&(s[2]?p2b(j):lim(j,0,255)),$=255&(s[4]?p2b($):lim($,0,255)),_e=255&(s[6]?p2b(_e):lim(_e,0,255)),{r:j,g:$,b:_e,a:_}}}function rgbString(o){return o&&(o.a<255?`rgba(${o.r}, ${o.g}, ${o.b}, ${b2n(o.a)})`:`rgb(${o.r}, ${o.g}, ${o.b})`)}const to=o=>o<=.0031308?o*12.92:Math.pow(o,1/2.4)*1.055-.055,from=o=>o<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4);function interpolate$1(o,s,_){const j=from(b2n(o.r)),$=from(b2n(o.g)),_e=from(b2n(o.b));return{r:n2b(to(j+_*(from(b2n(s.r))-j))),g:n2b(to($+_*(from(b2n(s.g))-$))),b:n2b(to(_e+_*(from(b2n(s.b))-_e))),a:o.a+_*(s.a-o.a)}}function modHSL(o,s,_){if(o){let j=rgb2hsl(o);j[s]=Math.max(0,Math.min(j[s]+j[s]*_,s===0?360:1)),j=hsl2rgb(j),o.r=j[0],o.g=j[1],o.b=j[2]}}function clone$1(o,s){return o&&Object.assign(s||{},o)}function fromObject(o){var s={r:0,g:0,b:0,a:255};return Array.isArray(o)?o.length>=3&&(s={r:o[0],g:o[1],b:o[2],a:255},o.length>3&&(s.a=n2b(o[3]))):(s=clone$1(o,{r:0,g:0,b:0,a:1}),s.a=n2b(s.a)),s}function functionParse(o){return o.charAt(0)==="r"?rgbParse(o):hueParse(o)}class Color{constructor(s){if(s instanceof Color)return s;const _=typeof s;let j;_==="object"?j=fromObject(s):_==="string"&&(j=hexParse(s)||nameParse(s)||functionParse(s)),this._rgb=j,this._valid=!!j}get valid(){return this._valid}get rgb(){var s=clone$1(this._rgb);return s&&(s.a=b2n(s.a)),s}set rgb(s){this._rgb=fromObject(s)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(s,_){if(s){const j=this.rgb,$=s.rgb;let _e;const et=_===_e?.5:_,tt=2*et-1,nt=j.a-$.a,rt=((tt*nt===-1?tt:(tt+nt)/(1+tt*nt))+1)/2;_e=1-rt,j.r=255&rt*j.r+_e*$.r+.5,j.g=255&rt*j.g+_e*$.g+.5,j.b=255&rt*j.b+_e*$.b+.5,j.a=et*j.a+(1-et)*$.a,this.rgb=j}return this}interpolate(s,_){return s&&(this._rgb=interpolate$1(this._rgb,s._rgb,_)),this}clone(){return new Color(this.rgb)}alpha(s){return this._rgb.a=n2b(s),this}clearer(s){const _=this._rgb;return _.a*=1-s,this}greyscale(){const s=this._rgb,_=round(s.r*.3+s.g*.59+s.b*.11);return s.r=s.g=s.b=_,this}opaquer(s){const _=this._rgb;return _.a*=1+s,this}negate(){const s=this._rgb;return s.r=255-s.r,s.g=255-s.g,s.b=255-s.b,this}lighten(s){return modHSL(this._rgb,2,s),this}darken(s){return modHSL(this._rgb,2,-s),this}saturate(s){return modHSL(this._rgb,1,s),this}desaturate(s){return modHSL(this._rgb,1,-s),this}rotate(s){return rotate(this._rgb,s),this}}/*! - * Chart.js v4.5.0 - * https://www.chartjs.org - * (c) 2025 Chart.js Contributors - * Released under the MIT License - */function noop(){}const uid=(()=>{let o=0;return()=>o++})();function isNullOrUndef(o){return o==null}function isArray(o){if(Array.isArray&&Array.isArray(o))return!0;const s=Object.prototype.toString.call(o);return s.slice(0,7)==="[object"&&s.slice(-6)==="Array]"}function isObject(o){return o!==null&&Object.prototype.toString.call(o)==="[object Object]"}function isNumberFinite(o){return(typeof o=="number"||o instanceof Number)&&isFinite(+o)}function finiteOrDefault(o,s){return isNumberFinite(o)?o:s}function valueOrDefault(o,s){return typeof o>"u"?s:o}const toPercentage=(o,s)=>typeof o=="string"&&o.endsWith("%")?parseFloat(o)/100:+o/s,toDimension=(o,s)=>typeof o=="string"&&o.endsWith("%")?parseFloat(o)/100*s:+o;function callback(o,s,_){if(o&&typeof o.call=="function")return o.apply(_,s)}function each(o,s,_,j){let $,_e,et;if(isArray(o))if(_e=o.length,j)for($=_e-1;$>=0;$--)s.call(_,o[$],$);else for($=0;$<_e;$++)s.call(_,o[$],$);else if(isObject(o))for(et=Object.keys(o),_e=et.length,$=0;$<_e;$++)s.call(_,o[et[$]],et[$])}function _elementsEqual(o,s){let _,j,$,_e;if(!o||!s||o.length!==s.length)return!1;for(_=0,j=o.length;_o,x:o=>o.x,y:o=>o.y};function _splitKey(o){const s=o.split("."),_=[];let j="";for(const $ of s)j+=$,j.endsWith("\\")?j=j.slice(0,-1)+".":(_.push(j),j="");return _}function _getKeyResolver(o){const s=_splitKey(o);return _=>{for(const j of s){if(j==="")break;_=_&&_[j]}return _}}function resolveObjectKey(o,s){return(keyResolvers[s]||(keyResolvers[s]=_getKeyResolver(s)))(o)}function _capitalize(o){return o.charAt(0).toUpperCase()+o.slice(1)}const defined=o=>typeof o<"u",isFunction=o=>typeof o=="function",setsEqual=(o,s)=>{if(o.size!==s.size)return!1;for(const _ of o)if(!s.has(_))return!1;return!0};function _isClickEvent(o){return o.type==="mouseup"||o.type==="click"||o.type==="contextmenu"}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function almostEquals(o,s,_){return Math.abs(o-s)<_}function niceNum(o){const s=Math.round(o);o=almostEquals(o,s,o/1e3)?s:o;const _=Math.pow(10,Math.floor(log10(o))),j=o/_;return(j<=1?1:j<=2?2:j<=5?5:10)*_}function _factorize(o){const s=[],_=Math.sqrt(o);let j;for(j=1;j<_;j++)o%j===0&&(s.push(j),s.push(o/j));return _===(_|0)&&s.push(_),s.sort(($,_e)=>$-_e).pop(),s}function isNonPrimitive(o){return typeof o=="symbol"||typeof o=="object"&&o!==null&&!(Symbol.toPrimitive in o||"toString"in o||"valueOf"in o)}function isNumber(o){return!isNonPrimitive(o)&&!isNaN(parseFloat(o))&&isFinite(o)}function almostWhole(o,s){const _=Math.round(o);return _-s<=o&&_+s>=o}function _setMinAndMaxByKey(o,s,_){let j,$,_e;for(j=0,$=o.length;j<$;j++)_e=o[j][_],isNaN(_e)||(s.min=Math.min(s.min,_e),s.max=Math.max(s.max,_e))}function toRadians(o){return o*(PI/180)}function toDegrees(o){return o*(180/PI)}function _decimalPlaces(o){if(!isNumberFinite(o))return;let s=1,_=0;for(;Math.round(o*s)/s!==o;)s*=10,_++;return _}function getAngleFromPoint(o,s){const _=s.x-o.x,j=s.y-o.y,$=Math.sqrt(_*_+j*j);let _e=Math.atan2(j,_);return _e<-.5*PI&&(_e+=TAU),{angle:_e,distance:$}}function distanceBetweenPoints(o,s){return Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2))}function _angleDiff(o,s){return(o-s+PITAU)%TAU-PI}function _normalizeAngle(o){return(o%TAU+TAU)%TAU}function _angleBetween(o,s,_,j){const $=_normalizeAngle(o),_e=_normalizeAngle(s),et=_normalizeAngle(_),tt=_normalizeAngle(_e-$),nt=_normalizeAngle(et-$),rt=_normalizeAngle($-_e),ot=_normalizeAngle($-et);return $===_e||$===et||j&&_e===et||tt>nt&&rt=Math.min(s,_)-j&&o<=Math.max(s,_)+j}function _lookup(o,s,_){_=_||(et=>o[et]1;)_e=$+j>>1,_(_e)?$=_e:j=_e;return{lo:$,hi:j}}const _lookupByKey=(o,s,_,j)=>_lookup(o,_,j?$=>{const _e=o[$][s];return _e<_||_e===_&&o[$+1][s]===_}:$=>o[$][s]<_),_rlookupByKey=(o,s,_)=>_lookup(o,_,j=>o[j][s]>=_);function _filterBetween(o,s,_){let j=0,$=o.length;for(;j<$&&o[j]j&&o[$-1]>_;)$--;return j>0||${const j="_onData"+_capitalize(_),$=o[_];Object.defineProperty(o,_,{configurable:!0,enumerable:!1,value(..._e){const et=$.apply(this,_e);return o._chartjs.listeners.forEach(tt=>{typeof tt[j]=="function"&&tt[j](..._e)}),et}})})}function unlistenArrayEvents(o,s){const _=o._chartjs;if(!_)return;const j=_.listeners,$=j.indexOf(s);$!==-1&&j.splice($,1),!(j.length>0)&&(arrayEvents.forEach(_e=>{delete o[_e]}),delete o._chartjs)}function _arrayUnique(o){const s=new Set(o);return s.size===o.length?o:Array.from(s)}const requestAnimFrame=function(){return typeof window>"u"?function(o){return o()}:window.requestAnimationFrame}();function throttled(o,s){let _=[],j=!1;return function(...$){_=$,j||(j=!0,requestAnimFrame.call(window,()=>{j=!1,o.apply(s,_)}))}}function debounce(o,s){let _;return function(...j){return s?(clearTimeout(_),_=setTimeout(o,s,j)):o.apply(this,j),s}}const _toLeftRightCenter=o=>o==="start"?"left":o==="end"?"right":"center",_alignStartEnd=(o,s,_)=>o==="start"?s:o==="end"?_:(s+_)/2,_textX=(o,s,_,j)=>o===(j?"left":"right")?_:o==="center"?(s+_)/2:s;function _getStartAndCountOfVisiblePoints(o,s,_){const j=s.length;let $=0,_e=j;if(o._sorted){const{iScale:et,vScale:tt,_parsed:nt}=o,rt=o.dataset&&o.dataset.options?o.dataset.options.spanGaps:null,ot=et.axis,{min:ut,max:dt,minDefined:Ut,maxDefined:st}=et.getUserBounds();if(Ut){if($=Math.min(_lookupByKey(nt,ot,ut).lo,_?j:_lookupByKey(s,ot,et.getPixelForValue(ut)).lo),rt){const ct=nt.slice(0,$+1).reverse().findIndex(pt=>!isNullOrUndef(pt[tt.axis]));$-=Math.max(0,ct)}$=_limitValue($,0,j-1)}if(st){let ct=Math.max(_lookupByKey(nt,et.axis,dt,!0).hi+1,_?0:_lookupByKey(s,ot,et.getPixelForValue(dt),!0).hi+1);if(rt){const pt=nt.slice(ct-1).findIndex(Bt=>!isNullOrUndef(Bt[tt.axis]));ct+=Math.max(0,pt)}_e=_limitValue(ct,$,j)-$}else _e=j-$}return{start:$,count:_e}}function _scaleRangesChanged(o){const{xScale:s,yScale:_,_scaleRanges:j}=o,$={xmin:s.min,xmax:s.max,ymin:_.min,ymax:_.max};if(!j)return o._scaleRanges=$,!0;const _e=j.xmin!==s.min||j.xmax!==s.max||j.ymin!==_.min||j.ymax!==_.max;return Object.assign(j,$),_e}const atEdge=o=>o===0||o===1,elasticIn=(o,s,_)=>-(Math.pow(2,10*(o-=1))*Math.sin((o-s)*TAU/_)),elasticOut=(o,s,_)=>Math.pow(2,-10*o)*Math.sin((o-s)*TAU/_)+1,effects={linear:o=>o,easeInQuad:o=>o*o,easeOutQuad:o=>-o*(o-2),easeInOutQuad:o=>(o/=.5)<1?.5*o*o:-.5*(--o*(o-2)-1),easeInCubic:o=>o*o*o,easeOutCubic:o=>(o-=1)*o*o+1,easeInOutCubic:o=>(o/=.5)<1?.5*o*o*o:.5*((o-=2)*o*o+2),easeInQuart:o=>o*o*o*o,easeOutQuart:o=>-((o-=1)*o*o*o-1),easeInOutQuart:o=>(o/=.5)<1?.5*o*o*o*o:-.5*((o-=2)*o*o*o-2),easeInQuint:o=>o*o*o*o*o,easeOutQuint:o=>(o-=1)*o*o*o*o+1,easeInOutQuint:o=>(o/=.5)<1?.5*o*o*o*o*o:.5*((o-=2)*o*o*o*o+2),easeInSine:o=>-Math.cos(o*HALF_PI)+1,easeOutSine:o=>Math.sin(o*HALF_PI),easeInOutSine:o=>-.5*(Math.cos(PI*o)-1),easeInExpo:o=>o===0?0:Math.pow(2,10*(o-1)),easeOutExpo:o=>o===1?1:-Math.pow(2,-10*o)+1,easeInOutExpo:o=>atEdge(o)?o:o<.5?.5*Math.pow(2,10*(o*2-1)):.5*(-Math.pow(2,-10*(o*2-1))+2),easeInCirc:o=>o>=1?o:-(Math.sqrt(1-o*o)-1),easeOutCirc:o=>Math.sqrt(1-(o-=1)*o),easeInOutCirc:o=>(o/=.5)<1?-.5*(Math.sqrt(1-o*o)-1):.5*(Math.sqrt(1-(o-=2)*o)+1),easeInElastic:o=>atEdge(o)?o:elasticIn(o,.075,.3),easeOutElastic:o=>atEdge(o)?o:elasticOut(o,.075,.3),easeInOutElastic(o){return atEdge(o)?o:o<.5?.5*elasticIn(o*2,.1125,.45):.5+.5*elasticOut(o*2-1,.1125,.45)},easeInBack(o){return o*o*((1.70158+1)*o-1.70158)},easeOutBack(o){return(o-=1)*o*((1.70158+1)*o+1.70158)+1},easeInOutBack(o){let s=1.70158;return(o/=.5)<1?.5*(o*o*(((s*=1.525)+1)*o-s)):.5*((o-=2)*o*(((s*=1.525)+1)*o+s)+2)},easeInBounce:o=>1-effects.easeOutBounce(1-o),easeOutBounce(o){return o<1/2.75?7.5625*o*o:o<2/2.75?7.5625*(o-=1.5/2.75)*o+.75:o<2.5/2.75?7.5625*(o-=2.25/2.75)*o+.9375:7.5625*(o-=2.625/2.75)*o+.984375},easeInOutBounce:o=>o<.5?effects.easeInBounce(o*2)*.5:effects.easeOutBounce(o*2-1)*.5+.5};function isPatternOrGradient(o){if(o&&typeof o=="object"){const s=o.toString();return s==="[object CanvasPattern]"||s==="[object CanvasGradient]"}return!1}function color(o){return isPatternOrGradient(o)?o:new Color(o)}function getHoverColor(o){return isPatternOrGradient(o)?o:new Color(o).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(o){o.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),o.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:s=>s!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),o.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),o.describe("animations",{_fallback:"animation"}),o.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}})}function applyLayoutsDefaults(o){o.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(o,s){s=s||{};const _=o+JSON.stringify(s);let j=intlCache.get(_);return j||(j=new Intl.NumberFormat(o,s),intlCache.set(_,j)),j}function formatNumber(o,s,_){return getNumberFormat(s,_).format(o)}const formatters={values(o){return isArray(o)?o:""+o},numeric(o,s,_){if(o===0)return"0";const j=this.chart.options.locale;let $,_e=o;if(_.length>1){const rt=Math.max(Math.abs(_[0].value),Math.abs(_[_.length-1].value));(rt<1e-4||rt>1e15)&&($="scientific"),_e=calculateDelta(o,_)}const et=log10(Math.abs(_e)),tt=isNaN(et)?1:Math.max(Math.min(-1*Math.floor(et),20),0),nt={notation:$,minimumFractionDigits:tt,maximumFractionDigits:tt};return Object.assign(nt,this.options.ticks.format),formatNumber(o,j,nt)},logarithmic(o,s,_){if(o===0)return"0";const j=_[s].significand||o/Math.pow(10,Math.floor(log10(o)));return[1,2,3,5,10,15].includes(j)||s>.8*_.length?formatters.numeric.call(this,o,s,_):""}};function calculateDelta(o,s){let _=s.length>3?s[2].value-s[1].value:s[1].value-s[0].value;return Math.abs(_)>=1&&o!==Math.floor(o)&&(_=o-Math.floor(o)),_}var Ticks={formatters};function applyScaleDefaults(o){o.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,_)=>_.lineWidth,tickColor:(s,_)=>_.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),o.route("scale.ticks","color","","color"),o.route("scale.grid","color","","borderColor"),o.route("scale.border","color","","borderColor"),o.route("scale.title","color","","color"),o.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"&&s!=="dash"}),o.describe("scales",{_fallback:"scale"}),o.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(o,s){if(!s)return o;const _=s.split(".");for(let j=0,$=_.length;j<$;++j){const _e=_[j];o=o[_e]||(o[_e]=Object.create(null))}return o}function set(o,s,_){return typeof s=="string"?merge$1(getScope$1(o,s),_):merge$1(getScope$1(o,""),s)}class Defaults{constructor(s,_){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=j=>j.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(j,$)=>getHoverColor($.backgroundColor),this.hoverBorderColor=(j,$)=>getHoverColor($.borderColor),this.hoverColor=(j,$)=>getHoverColor($.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(s),this.apply(_)}set(s,_){return set(this,s,_)}get(s){return getScope$1(this,s)}describe(s,_){return set(descriptors,s,_)}override(s,_){return set(overrides,s,_)}route(s,_,j,$){const _e=getScope$1(this,s),et=getScope$1(this,j),tt="_"+_;Object.defineProperties(_e,{[tt]:{value:_e[_],writable:!0},[_]:{enumerable:!0,get(){const nt=this[tt],rt=et[$];return isObject(nt)?Object.assign({},rt,nt):valueOrDefault(nt,rt)},set(nt){this[tt]=nt}}})}apply(s){s.forEach(_=>_(this))}}var defaults=new Defaults({_scriptable:o=>!o.startsWith("on"),_indexable:o=>o!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(o){return!o||isNullOrUndef(o.size)||isNullOrUndef(o.family)?null:(o.style?o.style+" ":"")+(o.weight?o.weight+" ":"")+o.size+"px "+o.family}function _measureText(o,s,_,j,$){let _e=s[$];return _e||(_e=s[$]=o.measureText($).width,_.push($)),_e>j&&(j=_e),j}function _longestText(o,s,_,j){j=j||{};let $=j.data=j.data||{},_e=j.garbageCollect=j.garbageCollect||[];j.font!==s&&($=j.data={},_e=j.garbageCollect=[],j.font=s),o.save(),o.font=s;let et=0;const tt=_.length;let nt,rt,ot,ut,dt;for(nt=0;nt_.length){for(nt=0;nt0&&o.stroke()}}function _isPointInArea(o,s,_){return _=_||.5,!s||o&&o.x>s.left-_&&o.xs.top-_&&o.y0&&_e.strokeColor!=="";let nt,rt;for(o.save(),o.font=$.string,setRenderOpts(o,_e),nt=0;nt+o||0;function _readValueToProps(o,s){const _={},j=isObject(s),$=j?Object.keys(s):s,_e=isObject(o)?j?et=>valueOrDefault(o[et],o[s[et]]):et=>o[et]:()=>o;for(const et of $)_[et]=numberOrZero(_e(et));return _}function toTRBL(o){return _readValueToProps(o,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(o){return _readValueToProps(o,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(o){const s=toTRBL(o);return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function toFont(o,s){o=o||{},s=s||defaults.font;let _=valueOrDefault(o.size,s.size);typeof _=="string"&&(_=parseInt(_,10));let j=valueOrDefault(o.style,s.style);j&&!(""+j).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+j+'"'),j=void 0);const $={family:valueOrDefault(o.family,s.family),lineHeight:toLineHeight(valueOrDefault(o.lineHeight,s.lineHeight),_),size:_,style:j,weight:valueOrDefault(o.weight,s.weight),string:""};return $.string=toFontString($),$}function resolve(o,s,_,j){let $=!0,_e,et,tt;for(_e=0,et=o.length;_e_&&tt===0?0:tt+nt;return{min:et(j,-Math.abs(_e)),max:et($,_e)}}function createContext(o,s){return Object.assign(Object.create(o),s)}function _createResolver(o,s=[""],_,j,$=()=>o[0]){const _e=_||o;typeof j>"u"&&(j=_resolve("_fallback",o));const et={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:o,_rootScopes:_e,_fallback:j,_getTarget:$,override:tt=>_createResolver([tt,...o],s,_e,j)};return new Proxy(et,{deleteProperty(tt,nt){return delete tt[nt],delete tt._keys,delete o[0][nt],!0},get(tt,nt){return _cached(tt,nt,()=>_resolveWithPrefixes(nt,s,o,tt))},getOwnPropertyDescriptor(tt,nt){return Reflect.getOwnPropertyDescriptor(tt._scopes[0],nt)},getPrototypeOf(){return Reflect.getPrototypeOf(o[0])},has(tt,nt){return getKeysFromAllScopes(tt).includes(nt)},ownKeys(tt){return getKeysFromAllScopes(tt)},set(tt,nt,rt){const ot=tt._storage||(tt._storage=$());return tt[nt]=ot[nt]=rt,delete tt._keys,!0}})}function _attachContext(o,s,_,j){const $={_cacheable:!1,_proxy:o,_context:s,_subProxy:_,_stack:new Set,_descriptors:_descriptors(o,j),setContext:_e=>_attachContext(o,_e,_,j),override:_e=>_attachContext(o.override(_e),s,_,j)};return new Proxy($,{deleteProperty(_e,et){return delete _e[et],delete o[et],!0},get(_e,et,tt){return _cached(_e,et,()=>_resolveWithContext(_e,et,tt))},getOwnPropertyDescriptor(_e,et){return _e._descriptors.allKeys?Reflect.has(o,et)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(o,et)},getPrototypeOf(){return Reflect.getPrototypeOf(o)},has(_e,et){return Reflect.has(o,et)},ownKeys(){return Reflect.ownKeys(o)},set(_e,et,tt){return o[et]=tt,delete _e[et],!0}})}function _descriptors(o,s={scriptable:!0,indexable:!0}){const{_scriptable:_=s.scriptable,_indexable:j=s.indexable,_allKeys:$=s.allKeys}=o;return{allKeys:$,scriptable:_,indexable:j,isScriptable:isFunction(_)?_:()=>_,isIndexable:isFunction(j)?j:()=>j}}const readKey=(o,s)=>o?o+_capitalize(s):s,needsSubResolver=(o,s)=>isObject(s)&&o!=="adapters"&&(Object.getPrototypeOf(s)===null||s.constructor===Object);function _cached(o,s,_){if(Object.prototype.hasOwnProperty.call(o,s)||s==="constructor")return o[s];const j=_();return o[s]=j,j}function _resolveWithContext(o,s,_){const{_proxy:j,_context:$,_subProxy:_e,_descriptors:et}=o;let tt=j[s];return isFunction(tt)&&et.isScriptable(s)&&(tt=_resolveScriptable(s,tt,o,_)),isArray(tt)&&tt.length&&(tt=_resolveArray(s,tt,o,et.isIndexable)),needsSubResolver(s,tt)&&(tt=_attachContext(tt,$,_e&&_e[s],et)),tt}function _resolveScriptable(o,s,_,j){const{_proxy:$,_context:_e,_subProxy:et,_stack:tt}=_;if(tt.has(o))throw new Error("Recursion detected: "+Array.from(tt).join("->")+"->"+o);tt.add(o);let nt=s(_e,et||j);return tt.delete(o),needsSubResolver(o,nt)&&(nt=createSubResolver($._scopes,$,o,nt)),nt}function _resolveArray(o,s,_,j){const{_proxy:$,_context:_e,_subProxy:et,_descriptors:tt}=_;if(typeof _e.index<"u"&&j(o))return s[_e.index%s.length];if(isObject(s[0])){const nt=s,rt=$._scopes.filter(ot=>ot!==nt);s=[];for(const ot of nt){const ut=createSubResolver(rt,$,o,ot);s.push(_attachContext(ut,_e,et&&et[o],tt))}}return s}function resolveFallback(o,s,_){return isFunction(o)?o(s,_):o}const getScope=(o,s)=>o===!0?s:typeof o=="string"?resolveObjectKey(s,o):void 0;function addScopes(o,s,_,j,$){for(const _e of s){const et=getScope(_,_e);if(et){o.add(et);const tt=resolveFallback(et._fallback,_,$);if(typeof tt<"u"&&tt!==_&&tt!==j)return tt}else if(et===!1&&typeof j<"u"&&_!==j)return null}return!1}function createSubResolver(o,s,_,j){const $=s._rootScopes,_e=resolveFallback(s._fallback,_,j),et=[...o,...$],tt=new Set;tt.add(j);let nt=addScopesFromKey(tt,et,_,_e||_,j);return nt===null||typeof _e<"u"&&_e!==_&&(nt=addScopesFromKey(tt,et,_e,nt,j),nt===null)?!1:_createResolver(Array.from(tt),[""],$,_e,()=>subGetTarget(s,_,j))}function addScopesFromKey(o,s,_,j,$){for(;_;)_=addScopes(o,s,_,j,$);return _}function subGetTarget(o,s,_){const j=o._getTarget();s in j||(j[s]={});const $=j[s];return isArray($)&&isObject(_)?_:$||{}}function _resolveWithPrefixes(o,s,_,j){let $;for(const _e of s)if($=_resolve(readKey(_e,o),_),typeof $<"u")return needsSubResolver(o,$)?createSubResolver(_,j,o,$):$}function _resolve(o,s){for(const _ of s){if(!_)continue;const j=_[o];if(typeof j<"u")return j}}function getKeysFromAllScopes(o){let s=o._keys;return s||(s=o._keys=resolveKeysFromAllScopes(o._scopes)),s}function resolveKeysFromAllScopes(o){const s=new Set;for(const _ of o)for(const j of Object.keys(_).filter($=>!$.startsWith("_")))s.add(j);return Array.from(s)}function _parseObjectDataRadialScale(o,s,_,j){const{iScale:$}=o,{key:_e="r"}=this._parsing,et=new Array(j);let tt,nt,rt,ot;for(tt=0,nt=j;ttso==="x"?"y":"x";function splineCurve(o,s,_,j){const $=o.skip?s:o,_e=s,et=_.skip?s:_,tt=distanceBetweenPoints(_e,$),nt=distanceBetweenPoints(et,_e);let rt=tt/(tt+nt),ot=nt/(tt+nt);rt=isNaN(rt)?0:rt,ot=isNaN(ot)?0:ot;const ut=j*rt,dt=j*ot;return{previous:{x:_e.x-ut*(et.x-$.x),y:_e.y-ut*(et.y-$.y)},next:{x:_e.x+dt*(et.x-$.x),y:_e.y+dt*(et.y-$.y)}}}function monotoneAdjust(o,s,_){const j=o.length;let $,_e,et,tt,nt,rt=getPoint(o,0);for(let ot=0;ot!rt.skip)),s.cubicInterpolationMode==="monotone")splineCurveMonotone(o,$);else{let rt=j?o[o.length-1]:o[0];for(_e=0,et=o.length;_eo.ownerDocument.defaultView.getComputedStyle(o,null);function getStyle(o,s){return getComputedStyle(o).getPropertyValue(s)}const positions=["top","right","bottom","left"];function getPositionedStyle(o,s,_){const j={};_=_?"-"+_:"";for(let $=0;$<4;$++){const _e=positions[$];j[_e]=parseFloat(o[s+"-"+_e+_])||0}return j.width=j.left+j.right,j.height=j.top+j.bottom,j}const useOffsetPos=(o,s,_)=>(o>0||s>0)&&(!_||!_.shadowRoot);function getCanvasPosition(o,s){const _=o.touches,j=_&&_.length?_[0]:o,{offsetX:$,offsetY:_e}=j;let et=!1,tt,nt;if(useOffsetPos($,_e,o.target))tt=$,nt=_e;else{const rt=s.getBoundingClientRect();tt=j.clientX-rt.left,nt=j.clientY-rt.top,et=!0}return{x:tt,y:nt,box:et}}function getRelativePosition(o,s){if("native"in o)return o;const{canvas:_,currentDevicePixelRatio:j}=s,$=getComputedStyle(_),_e=$.boxSizing==="border-box",et=getPositionedStyle($,"padding"),tt=getPositionedStyle($,"border","width"),{x:nt,y:rt,box:ot}=getCanvasPosition(o,_),ut=et.left+(ot&&tt.left),dt=et.top+(ot&&tt.top);let{width:Ut,height:st}=s;return _e&&(Ut-=et.width+tt.width,st-=et.height+tt.height),{x:Math.round((nt-ut)/Ut*_.width/j),y:Math.round((rt-dt)/st*_.height/j)}}function getContainerSize(o,s,_){let j,$;if(s===void 0||_===void 0){const _e=o&&_getParentNode(o);if(!_e)s=o.clientWidth,_=o.clientHeight;else{const et=_e.getBoundingClientRect(),tt=getComputedStyle(_e),nt=getPositionedStyle(tt,"border","width"),rt=getPositionedStyle(tt,"padding");s=et.width-rt.width-nt.width,_=et.height-rt.height-nt.height,j=parseMaxStyle(tt.maxWidth,_e,"clientWidth"),$=parseMaxStyle(tt.maxHeight,_e,"clientHeight")}}return{width:s,height:_,maxWidth:j||INFINITY,maxHeight:$||INFINITY}}const round1=o=>Math.round(o*10)/10;function getMaximumSize(o,s,_,j){const $=getComputedStyle(o),_e=getPositionedStyle($,"margin"),et=parseMaxStyle($.maxWidth,o,"clientWidth")||INFINITY,tt=parseMaxStyle($.maxHeight,o,"clientHeight")||INFINITY,nt=getContainerSize(o,s,_);let{width:rt,height:ot}=nt;if($.boxSizing==="content-box"){const dt=getPositionedStyle($,"border","width"),Ut=getPositionedStyle($,"padding");rt-=Ut.width+dt.width,ot-=Ut.height+dt.height}return rt=Math.max(0,rt-_e.width),ot=Math.max(0,j?rt/j:ot-_e.height),rt=round1(Math.min(rt,et,nt.maxWidth)),ot=round1(Math.min(ot,tt,nt.maxHeight)),rt&&!ot&&(ot=round1(rt/2)),(s!==void 0||_!==void 0)&&j&&nt.height&&ot>nt.height&&(ot=nt.height,rt=round1(Math.floor(ot*j))),{width:rt,height:ot}}function retinaScale(o,s,_){const j=s||1,$=Math.floor(o.height*j),_e=Math.floor(o.width*j);o.height=Math.floor(o.height),o.width=Math.floor(o.width);const et=o.canvas;return et.style&&(_||!et.style.height&&!et.style.width)&&(et.style.height=`${o.height}px`,et.style.width=`${o.width}px`),o.currentDevicePixelRatio!==j||et.height!==$||et.width!==_e?(o.currentDevicePixelRatio=j,et.height=$,et.width=_e,o.ctx.setTransform(j,0,0,j,0,0),!0):!1}const supportsEventListenerOptions=function(){let o=!1;try{const s={get passive(){return o=!0,!1}};_isDomSupported()&&(window.addEventListener("test",null,s),window.removeEventListener("test",null,s))}catch{}return o}();function readUsedSize(o,s){const _=getStyle(o,s),j=_&&_.match(/^(\d+)(\.\d+)?px$/);return j?+j[1]:void 0}function _pointInLine(o,s,_,j){return{x:o.x+_*(s.x-o.x),y:o.y+_*(s.y-o.y)}}function _steppedInterpolation(o,s,_,j){return{x:o.x+_*(s.x-o.x),y:j==="middle"?_<.5?o.y:s.y:j==="after"?_<1?o.y:s.y:_>0?s.y:o.y}}function _bezierInterpolation(o,s,_,j){const $={x:o.cp2x,y:o.cp2y},_e={x:s.cp1x,y:s.cp1y},et=_pointInLine(o,$,_),tt=_pointInLine($,_e,_),nt=_pointInLine(_e,s,_),rt=_pointInLine(et,tt,_),ot=_pointInLine(tt,nt,_);return _pointInLine(rt,ot,_)}const getRightToLeftAdapter=function(o,s){return{x(_){return o+o+s-_},setWidth(_){s=_},textAlign(_){return _==="center"?_:_==="right"?"left":"right"},xPlus(_,j){return _-j},leftForLtr(_,j){return _-j}}},getLeftToRightAdapter=function(){return{x(o){return o},setWidth(o){},textAlign(o){return o},xPlus(o,s){return o+s},leftForLtr(o,s){return o}}};function getRtlAdapter(o,s,_){return o?getRightToLeftAdapter(s,_):getLeftToRightAdapter()}function overrideTextDirection(o,s){let _,j;(s==="ltr"||s==="rtl")&&(_=o.canvas.style,j=[_.getPropertyValue("direction"),_.getPropertyPriority("direction")],_.setProperty("direction",s,"important"),o.prevTextDirection=j)}function restoreTextDirection(o,s){s!==void 0&&(delete o.prevTextDirection,o.canvas.style.setProperty("direction",s[0],s[1]))}function propertyFn(o){return o==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(s,_)=>s-_,normalize:s=>s}}function normalizeSegment({start:o,end:s,count:_,loop:j,style:$}){return{start:o%_,end:s%_,loop:j&&(s-o+1)%_===0,style:$}}function getSegment(o,s,_){const{property:j,start:$,end:_e}=_,{between:et,normalize:tt}=propertyFn(j),nt=s.length;let{start:rt,end:ot,loop:ut}=o,dt,Ut;if(ut){for(rt+=nt,ot+=nt,dt=0,Ut=nt;dtnt($,gt,Bt)&&tt($,gt)!==0,Ft=()=>tt(_e,Bt)===0||nt(_e,gt,Bt),yt=()=>ct||ft(),Ct=()=>!ct||Ft();for(let xt=ot,ht=ot;xt<=ut;++xt)Qt=s[xt%et],!Qt.skip&&(Bt=rt(Qt[j]),Bt!==gt&&(ct=nt(Bt,$,_e),pt===null&&yt()&&(pt=tt(Bt,$)===0?xt:ht),pt!==null&&Ct()&&(st.push(normalizeSegment({start:pt,end:xt,loop:dt,count:et,style:Ut})),pt=null),ht=xt,gt=Bt));return pt!==null&&st.push(normalizeSegment({start:pt,end:ut,loop:dt,count:et,style:Ut})),st}function _boundSegments(o,s){const _=[],j=o.segments;for(let $=0;$$&&o[_e%s].skip;)_e--;return _e%=s,{start:$,end:_e}}function solidSegments(o,s,_,j){const $=o.length,_e=[];let et=s,tt=o[s],nt;for(nt=s+1;nt<=_;++nt){const rt=o[nt%$];rt.skip||rt.stop?tt.skip||(j=!1,_e.push({start:s%$,end:(nt-1)%$,loop:j}),s=et=rt.stop?nt:null):(et=nt,tt.skip&&(s=nt)),tt=rt}return et!==null&&_e.push({start:s%$,end:et%$,loop:j}),_e}function _computeSegments(o,s){const _=o.points,j=o.options.spanGaps,$=_.length;if(!$)return[];const _e=!!o._loop,{start:et,end:tt}=findStartAndEnd(_,$,_e,j);if(j===!0)return splitByStyles(o,[{start:et,end:tt,loop:_e}],_,s);const nt=tttt({chart:s,initial:_.initial,numSteps:et,currentStep:Math.min(j-_.start,et)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(s=Date.now()){let _=0;this._charts.forEach((j,$)=>{if(!j.running||!j.items.length)return;const _e=j.items;let et=_e.length-1,tt=!1,nt;for(;et>=0;--et)nt=_e[et],nt._active?(nt._total>j.duration&&(j.duration=nt._total),nt.tick(s),tt=!0):(_e[et]=_e[_e.length-1],_e.pop());tt&&($.draw(),this._notify($,j,s,"progress")),_e.length||(j.running=!1,this._notify($,j,s,"complete"),j.initial=!1),_+=_e.length}),this._lastDate=s,_===0&&(this._running=!1)}_getAnims(s){const _=this._charts;let j=_.get(s);return j||(j={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},_.set(s,j)),j}listen(s,_,j){this._getAnims(s).listeners[_].push(j)}add(s,_){!_||!_.length||this._getAnims(s).items.push(..._)}has(s){return this._getAnims(s).items.length>0}start(s){const _=this._charts.get(s);_&&(_.running=!0,_.start=Date.now(),_.duration=_.items.reduce((j,$)=>Math.max(j,$._duration),0),this._refresh())}running(s){if(!this._running)return!1;const _=this._charts.get(s);return!(!_||!_.running||!_.items.length)}stop(s){const _=this._charts.get(s);if(!_||!_.items.length)return;const j=_.items;let $=j.length-1;for(;$>=0;--$)j[$].cancel();_.items=[],this._notify(s,_,Date.now(),"complete")}remove(s){return this._charts.delete(s)}}var animator=new Animator;const transparent="transparent",interpolators={boolean(o,s,_){return _>.5?s:o},color(o,s,_){const j=color(o||transparent),$=j.valid&&color(s||transparent);return $&&$.valid?$.mix(j,_).hexString():s},number(o,s,_){return o+(s-o)*_}};class Animation{constructor(s,_,j,$){const _e=_[j];$=resolve([s.to,$,_e,s.from]);const et=resolve([s.from,_e,$]);this._active=!0,this._fn=s.fn||interpolators[s.type||typeof et],this._easing=effects[s.easing]||effects.linear,this._start=Math.floor(Date.now()+(s.delay||0)),this._duration=this._total=Math.floor(s.duration),this._loop=!!s.loop,this._target=_,this._prop=j,this._from=et,this._to=$,this._promises=void 0}active(){return this._active}update(s,_,j){if(this._active){this._notify(!1);const $=this._target[this._prop],_e=j-this._start,et=this._duration-_e;this._start=j,this._duration=Math.floor(Math.max(et,s.duration)),this._total+=_e,this._loop=!!s.loop,this._to=resolve([s.to,_,$,s.from]),this._from=resolve([s.from,$,_])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(s){const _=s-this._start,j=this._duration,$=this._prop,_e=this._from,et=this._loop,tt=this._to;let nt;if(this._active=_e!==tt&&(et||_1?2-nt:nt,nt=this._easing(Math.min(1,Math.max(0,nt))),this._target[$]=this._fn(_e,tt,nt)}wait(){const s=this._promises||(this._promises=[]);return new Promise((_,j)=>{s.push({res:_,rej:j})})}_notify(s){const _=s?"res":"rej",j=this._promises||[];for(let $=0;${const _e=s[$];if(!isObject(_e))return;const et={};for(const tt of _)et[tt]=_e[tt];(isArray(_e.properties)&&_e.properties||[$]).forEach(tt=>{(tt===$||!j.has(tt))&&j.set(tt,et)})})}_animateOptions(s,_){const j=_.options,$=resolveTargetOptions(s,j);if(!$)return[];const _e=this._createAnimations($,j);return j.$shared&&awaitAll(s.options.$animations,j).then(()=>{s.options=j},()=>{}),_e}_createAnimations(s,_){const j=this._properties,$=[],_e=s.$animations||(s.$animations={}),et=Object.keys(_),tt=Date.now();let nt;for(nt=et.length-1;nt>=0;--nt){const rt=et[nt];if(rt.charAt(0)==="$")continue;if(rt==="options"){$.push(...this._animateOptions(s,_));continue}const ot=_[rt];let ut=_e[rt];const dt=j.get(rt);if(ut)if(dt&&ut.active()){ut.update(dt,ot,tt);continue}else ut.cancel();if(!dt||!dt.duration){s[rt]=ot;continue}_e[rt]=ut=new Animation(dt,s,rt,ot),$.push(ut)}return $}update(s,_){if(this._properties.size===0){Object.assign(s,_);return}const j=this._createAnimations(s,_);if(j.length)return animator.add(this._chart,j),!0}}function awaitAll(o,s){const _=[],j=Object.keys(s);for(let $=0;$0||!_&&_e<0)return $.index}return null}function updateStacks(o,s){const{chart:_,_cachedMeta:j}=o,$=_._stacks||(_._stacks={}),{iScale:_e,vScale:et,index:tt}=j,nt=_e.axis,rt=et.axis,ot=getStackKey(_e,et,j),ut=s.length;let dt;for(let Ut=0;Ut_[j].axis===s).shift()}function createDatasetContext(o,s){return createContext(o,{active:!1,dataset:void 0,datasetIndex:s,index:s,mode:"default",type:"dataset"})}function createDataContext(o,s,_){return createContext(o,{active:!1,dataIndex:s,parsed:void 0,raw:void 0,element:_,index:s,mode:"default",type:"data"})}function clearStacks(o,s){const _=o.controller.index,j=o.vScale&&o.vScale.axis;if(j){s=s||o._parsed;for(const $ of s){const _e=$._stacks;if(!_e||_e[j]===void 0||_e[j][_]===void 0)return;delete _e[j][_],_e[j]._visualValues!==void 0&&_e[j]._visualValues[_]!==void 0&&delete _e[j]._visualValues[_]}}}const isDirectUpdateMode=o=>o==="reset"||o==="none",cloneIfNotShared=(o,s)=>s?o:Object.assign({},o),createStack=(o,s,_)=>o&&!s.hidden&&s._stacked&&{keys:getSortedDatasetIndices(_,!0),values:null};class DatasetController{constructor(s,_){this.chart=s,this._ctx=s.ctx,this.index=_,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const s=this._cachedMeta;this.configure(),this.linkScales(),s._stacked=isStacked(s.vScale,s),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(s){this.index!==s&&clearStacks(this._cachedMeta),this.index=s}linkScales(){const s=this.chart,_=this._cachedMeta,j=this.getDataset(),$=(ut,dt,Ut,st)=>ut==="x"?dt:ut==="r"?st:Ut,_e=_.xAxisID=valueOrDefault(j.xAxisID,getFirstScaleId(s,"x")),et=_.yAxisID=valueOrDefault(j.yAxisID,getFirstScaleId(s,"y")),tt=_.rAxisID=valueOrDefault(j.rAxisID,getFirstScaleId(s,"r")),nt=_.indexAxis,rt=_.iAxisID=$(nt,_e,et,tt),ot=_.vAxisID=$(nt,et,_e,tt);_.xScale=this.getScaleForId(_e),_.yScale=this.getScaleForId(et),_.rScale=this.getScaleForId(tt),_.iScale=this.getScaleForId(rt),_.vScale=this.getScaleForId(ot)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(s){return this.chart.scales[s]}_getOtherScale(s){const _=this._cachedMeta;return s===_.iScale?_.vScale:_.iScale}reset(){this._update("reset")}_destroy(){const s=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),s._stacked&&clearStacks(s)}_dataCheck(){const s=this.getDataset(),_=s.data||(s.data=[]),j=this._data;if(isObject(_)){const $=this._cachedMeta;this._data=convertObjectDataToArray(_,$)}else if(j!==_){if(j){unlistenArrayEvents(j,this);const $=this._cachedMeta;clearStacks($),$._parsed=[]}_&&Object.isExtensible(_)&&listenArrayEvents(_,this),this._syncList=[],this._data=_}}addElements(){const s=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(s.dataset=new this.datasetElementType)}buildOrUpdateElements(s){const _=this._cachedMeta,j=this.getDataset();let $=!1;this._dataCheck();const _e=_._stacked;_._stacked=isStacked(_.vScale,_),_.stack!==j.stack&&($=!0,clearStacks(_),_.stack=j.stack),this._resyncElements(s),($||_e!==_._stacked)&&(updateStacks(this,_._parsed),_._stacked=isStacked(_.vScale,_))}configure(){const s=this.chart.config,_=s.datasetScopeKeys(this._type),j=s.getOptionScopes(this.getDataset(),_,!0);this.options=s.createResolver(j,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(s,_){const{_cachedMeta:j,_data:$}=this,{iScale:_e,_stacked:et}=j,tt=_e.axis;let nt=s===0&&_===$.length?!0:j._sorted,rt=s>0&&j._parsed[s-1],ot,ut,dt;if(this._parsing===!1)j._parsed=$,j._sorted=!0,dt=$;else{isArray($[s])?dt=this.parseArrayData(j,$,s,_):isObject($[s])?dt=this.parseObjectData(j,$,s,_):dt=this.parsePrimitiveData(j,$,s,_);const Ut=()=>ut[tt]===null||rt&&ut[tt]ct||ut=0;--dt)if(!st()){this.updateRangeFromParsed(rt,s,Ut,nt);break}}return rt}getAllParsedValues(s){const _=this._cachedMeta._parsed,j=[];let $,_e,et;for($=0,_e=_.length;$<_e;++$)et=_[$][s.axis],isNumberFinite(et)&&j.push(et);return j}getMaxOverflow(){return!1}getLabelAndValue(s){const _=this._cachedMeta,j=_.iScale,$=_.vScale,_e=this.getParsed(s);return{label:j?""+j.getLabelForValue(_e[j.axis]):"",value:$?""+$.getLabelForValue(_e[$.axis]):""}}_update(s){const _=this._cachedMeta;this.update(s||"default"),_._clip=toClip(valueOrDefault(this.options.clip,defaultClip(_.xScale,_.yScale,this.getMaxOverflow())))}update(s){}draw(){const s=this._ctx,_=this.chart,j=this._cachedMeta,$=j.data||[],_e=_.chartArea,et=[],tt=this._drawStart||0,nt=this._drawCount||$.length-tt,rt=this.options.drawActiveElementsOnTop;let ot;for(j.dataset&&j.dataset.draw(s,_e,tt,nt),ot=tt;ot=0&&sthis.getContext(j,$,_),ct=rt.resolveNamedOptions(dt,Ut,st,ut);return ct.$shared&&(ct.$shared=nt,_e[et]=Object.freeze(cloneIfNotShared(ct,nt))),ct}_resolveAnimations(s,_,j){const $=this.chart,_e=this._cachedDataOpts,et=`animation-${_}`,tt=_e[et];if(tt)return tt;let nt;if($.options.animation!==!1){const ot=this.chart.config,ut=ot.datasetAnimationScopeKeys(this._type,_),dt=ot.getOptionScopes(this.getDataset(),ut);nt=ot.createResolver(dt,this.getContext(s,j,_))}const rt=new Animations($,nt&&nt.animations);return nt&&nt._cacheable&&(_e[et]=Object.freeze(rt)),rt}getSharedOptions(s){if(s.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},s))}includeOptions(s,_){return!_||isDirectUpdateMode(s)||this.chart._animationsDisabled}_getSharedOptions(s,_){const j=this.resolveDataElementOptions(s,_),$=this._sharedOptions,_e=this.getSharedOptions(j),et=this.includeOptions(_,_e)||_e!==$;return this.updateSharedOptions(_e,_,j),{sharedOptions:_e,includeOptions:et}}updateElement(s,_,j,$){isDirectUpdateMode($)?Object.assign(s,j):this._resolveAnimations(_,$).update(s,j)}updateSharedOptions(s,_,j){s&&!isDirectUpdateMode(_)&&this._resolveAnimations(void 0,_).update(s,j)}_setStyle(s,_,j,$){s.active=$;const _e=this.getStyle(_,$);this._resolveAnimations(_,j,$).update(s,{options:!$&&this.getSharedOptions(_e)||_e})}removeHoverStyle(s,_,j){this._setStyle(s,j,"active",!1)}setHoverStyle(s,_,j){this._setStyle(s,j,"active",!0)}_removeDatasetHoverStyle(){const s=this._cachedMeta.dataset;s&&this._setStyle(s,void 0,"active",!1)}_setDatasetHoverStyle(){const s=this._cachedMeta.dataset;s&&this._setStyle(s,void 0,"active",!0)}_resyncElements(s){const _=this._data,j=this._cachedMeta.data;for(const[tt,nt,rt]of this._syncList)this[tt](nt,rt);this._syncList=[];const $=j.length,_e=_.length,et=Math.min(_e,$);et&&this.parse(0,et),_e>$?this._insertElements($,_e-$,s):_e<$&&this._removeElements(_e,$-_e)}_insertElements(s,_,j=!0){const $=this._cachedMeta,_e=$.data,et=s+_;let tt;const nt=rt=>{for(rt.length+=_,tt=rt.length-1;tt>=et;tt--)rt[tt]=rt[tt-_]};for(nt(_e),tt=s;tt$-_e))}return o._cache.$bar}function computeMinSampleSize(o){const s=o.iScale,_=getAllScaleValues(s,o.type);let j=s._length,$,_e,et,tt;const nt=()=>{et===32767||et===-32768||(defined(tt)&&(j=Math.min(j,Math.abs(et-tt)||j)),tt=et)};for($=0,_e=_.length;$<_e;++$)et=s.getPixelForValue(_[$]),nt();for(tt=void 0,$=0,_e=s.ticks.length;$<_e;++$)et=s.getPixelForTick($),nt();return j}function computeFitCategoryTraits(o,s,_,j){const $=_.barThickness;let _e,et;return isNullOrUndef($)?(_e=s.min*_.categoryPercentage,et=_.barPercentage):(_e=$*j,et=1),{chunk:_e/j,ratio:et,start:s.pixels[o]-_e/2}}function computeFlexCategoryTraits(o,s,_,j){const $=s.pixels,_e=$[o];let et=o>0?$[o-1]:null,tt=o<$.length-1?$[o+1]:null;const nt=_.categoryPercentage;et===null&&(et=_e-(tt===null?s.end-s.start:tt-_e)),tt===null&&(tt=_e+_e-et);const rt=_e-(_e-Math.min(et,tt))/2*nt;return{chunk:Math.abs(tt-et)/2*nt/j,ratio:_.barPercentage,start:rt}}function parseFloatBar(o,s,_,j){const $=_.parse(o[0],j),_e=_.parse(o[1],j),et=Math.min($,_e),tt=Math.max($,_e);let nt=et,rt=tt;Math.abs(et)>Math.abs(tt)&&(nt=tt,rt=et),s[_.axis]=rt,s._custom={barStart:nt,barEnd:rt,start:$,end:_e,min:et,max:tt}}function parseValue(o,s,_,j){return isArray(o)?parseFloatBar(o,s,_,j):s[_.axis]=_.parse(o,j),s}function parseArrayOrPrimitive(o,s,_,j){const $=o.iScale,_e=o.vScale,et=$.getLabels(),tt=$===_e,nt=[];let rt,ot,ut,dt;for(rt=_,ot=_+j;rt=_?1:-1)}function borderProps(o){let s,_,j,$,_e;return o.horizontal?(s=o.base>o.x,_="left",j="right"):(s=o.baseot.controller.options.grouped),_e=j.options.stacked,et=[],tt=this._cachedMeta.controller.getParsed(_),nt=tt&&tt[j.axis],rt=ot=>{const ut=ot._parsed.find(Ut=>Ut[j.axis]===nt),dt=ut&&ut[ot.vScale.axis];if(isNullOrUndef(dt)||isNaN(dt))return!0};for(const ot of $)if(!(_!==void 0&&rt(ot))&&((_e===!1||et.indexOf(ot.stack)===-1||_e===void 0&&ot.stack===void 0)&&et.push(ot.stack),ot.index===s))break;return et.length||et.push(void 0),et}_getStackCount(s){return this._getStacks(void 0,s).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const s=this.chart.scales,_=this.chart.options.indexAxis;return Object.keys(s).filter(j=>s[j].axis===_).shift()}_getAxis(){const s={},_=this.getFirstScaleIdForIndexAxis();for(const j of this.chart.data.datasets)s[valueOrDefault(this.chart.options.indexAxis==="x"?j.xAxisID:j.yAxisID,_)]=!0;return Object.keys(s)}_getStackIndex(s,_,j){const $=this._getStacks(s,j),_e=_!==void 0?$.indexOf(_):-1;return _e===-1?$.length-1:_e}_getRuler(){const s=this.options,_=this._cachedMeta,j=_.iScale,$=[];let _e,et;for(_e=0,et=_.data.length;_e=0;--j)_=Math.max(_,s[j].size(this.resolveDataElementOptions(j))/2);return _>0&&_}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart.data.labels||[],{xScale:$,yScale:_e}=_,et=this.getParsed(s),tt=$.getLabelForValue(et.x),nt=_e.getLabelForValue(et.y),rt=et._custom;return{label:j[s]||"",value:"("+tt+", "+nt+(rt?", "+rt:"")+")"}}update(s){const _=this._cachedMeta.data;this.updateElements(_,0,_.length,s)}updateElements(s,_,j,$){const _e=$==="reset",{iScale:et,vScale:tt}=this._cachedMeta,{sharedOptions:nt,includeOptions:rt}=this._getSharedOptions(_,$),ot=et.axis,ut=tt.axis;for(let dt=_;dt<_+j;dt++){const Ut=s[dt],st=!_e&&this.getParsed(dt),ct={},pt=ct[ot]=_e?et.getPixelForDecimal(.5):et.getPixelForValue(st[ot]),Bt=ct[ut]=_e?tt.getBasePixel():tt.getPixelForValue(st[ut]);ct.skip=isNaN(pt)||isNaN(Bt),rt&&(ct.options=nt||this.resolveDataElementOptions(dt,Ut.active?"active":$),_e&&(ct.options.radius=0)),this.updateElement(Ut,dt,ct,$)}}resolveDataElementOptions(s,_){const j=this.getParsed(s);let $=super.resolveDataElementOptions(s,_);$.$shared&&($=Object.assign({},$,{$shared:!1}));const _e=$.radius;return _!=="active"&&($.radius=0),$.radius+=valueOrDefault(j&&j._custom,_e),$}}On(BubbleController,"id","bubble"),On(BubbleController,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),On(BubbleController,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});function getRatioAndOffset(o,s,_){let j=1,$=1,_e=0,et=0;if(s_angleBetween(gt,tt,nt,!0)?1:Math.max(ft,ft*_,Ft,Ft*_),st=(gt,ft,Ft)=>_angleBetween(gt,tt,nt,!0)?-1:Math.min(ft,ft*_,Ft,Ft*_),ct=Ut(0,rt,ut),pt=Ut(HALF_PI,ot,dt),Bt=st(PI,rt,ut),Qt=st(PI+HALF_PI,ot,dt);j=(ct-Bt)/2,$=(pt-Qt)/2,_e=-(ct+Bt)/2,et=-(pt+Qt)/2}return{ratioX:j,ratioY:$,offsetX:_e,offsetY:et}}class DoughnutController extends DatasetController{constructor(s,_){super(s,_),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(s,_){const j=this.getDataset().data,$=this._cachedMeta;if(this._parsing===!1)$._parsed=j;else{let _e=nt=>+j[nt];if(isObject(j[s])){const{key:nt="value"}=this._parsing;_e=rt=>+resolveObjectKey(j[rt],nt)}let et,tt;for(et=s,tt=s+_;et0&&!isNaN(s)?TAU*(Math.abs(s)/_):0}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart,$=j.data.labels||[],_e=formatNumber(_._parsed[s],j.options.locale);return{label:$[s]||"",value:_e}}getMaxBorderWidth(s){let _=0;const j=this.chart;let $,_e,et,tt,nt;if(!s){for($=0,_e=j.data.datasets.length;$<_e;++$)if(j.isDatasetVisible($)){et=j.getDatasetMeta($),s=et.data,tt=et.controller;break}}if(!s)return 0;for($=0,_e=s.length;$<_e;++$)nt=tt.resolveDataElementOptions($),nt.borderAlign!=="inner"&&(_=Math.max(_,nt.borderWidth||0,nt.hoverBorderWidth||0));return _}getMaxOffset(s){let _=0;for(let j=0,$=s.length;j<$;++j){const _e=this.resolveDataElementOptions(j);_=Math.max(_,_e.offset||0,_e.hoverOffset||0)}return _}_getRingWeightOffset(s){let _=0;for(let j=0;js!=="spacing",_indexable:s=>s!=="spacing"&&!s.startsWith("borderDash")&&!s.startsWith("hoverBorderDash")}),On(DoughnutController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const _=s.data;if(_.labels.length&&_.datasets.length){const{labels:{pointStyle:j,color:$}}=s.legend.options;return _.labels.map((_e,et)=>{const nt=s.getDatasetMeta(0).controller.getStyle(et);return{text:_e,fillStyle:nt.backgroundColor,strokeStyle:nt.borderColor,fontColor:$,lineWidth:nt.borderWidth,pointStyle:j,hidden:!s.getDataVisibility(et),index:et}})}return[]}},onClick(s,_,j){j.chart.toggleDataVisibility(_.index),j.chart.update()}}}});class LineController extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(s){const _=this._cachedMeta,{dataset:j,data:$=[],_dataset:_e}=_,et=this.chart._animationsDisabled;let{start:tt,count:nt}=_getStartAndCountOfVisiblePoints(_,$,et);this._drawStart=tt,this._drawCount=nt,_scaleRangesChanged(_)&&(tt=0,nt=$.length),j._chart=this.chart,j._datasetIndex=this.index,j._decimated=!!_e._decimated,j.points=$;const rt=this.resolveDatasetElementOptions(s);this.options.showLine||(rt.borderWidth=0),rt.segment=this.options.segment,this.updateElement(j,void 0,{animated:!et,options:rt},s),this.updateElements($,tt,nt,s)}updateElements(s,_,j,$){const _e=$==="reset",{iScale:et,vScale:tt,_stacked:nt,_dataset:rt}=this._cachedMeta,{sharedOptions:ot,includeOptions:ut}=this._getSharedOptions(_,$),dt=et.axis,Ut=tt.axis,{spanGaps:st,segment:ct}=this.options,pt=isNumber(st)?st:Number.POSITIVE_INFINITY,Bt=this.chart._animationsDisabled||_e||$==="none",Qt=_+j,gt=s.length;let ft=_>0&&this.getParsed(_-1);for(let Ft=0;Ft=Qt){Ct.skip=!0;continue}const xt=this.getParsed(Ft),ht=isNullOrUndef(xt[Ut]),mt=Ct[dt]=et.getPixelForValue(xt[dt],Ft),It=Ct[Ut]=_e||ht?tt.getBasePixel():tt.getPixelForValue(nt?this.applyStack(tt,xt,nt):xt[Ut],Ft);Ct.skip=isNaN(mt)||isNaN(It)||ht,Ct.stop=Ft>0&&Math.abs(xt[dt]-ft[dt])>pt,ct&&(Ct.parsed=xt,Ct.raw=rt.data[Ft]),ut&&(Ct.options=ot||this.resolveDataElementOptions(Ft,yt.active?"active":$)),Bt||this.updateElement(yt,Ft,Ct,$),ft=xt}}getMaxOverflow(){const s=this._cachedMeta,_=s.dataset,j=_.options&&_.options.borderWidth||0,$=s.data||[];if(!$.length)return j;const _e=$[0].size(this.resolveDataElementOptions(0)),et=$[$.length-1].size(this.resolveDataElementOptions($.length-1));return Math.max(j,_e,et)/2}draw(){const s=this._cachedMeta;s.dataset.updateControlPoints(this.chart.chartArea,s.iScale.axis),super.draw()}}On(LineController,"id","line"),On(LineController,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),On(LineController,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class PolarAreaController extends DatasetController{constructor(s,_){super(s,_),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart,$=j.data.labels||[],_e=formatNumber(_._parsed[s].r,j.options.locale);return{label:$[s]||"",value:_e}}parseObjectData(s,_,j,$){return _parseObjectDataRadialScale.bind(this)(s,_,j,$)}update(s){const _=this._cachedMeta.data;this._updateRadius(),this.updateElements(_,0,_.length,s)}getMinMax(){const s=this._cachedMeta,_={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return s.data.forEach((j,$)=>{const _e=this.getParsed($).r;!isNaN(_e)&&this.chart.getDataVisibility($)&&(_e<_.min&&(_.min=_e),_e>_.max&&(_.max=_e))}),_}_updateRadius(){const s=this.chart,_=s.chartArea,j=s.options,$=Math.min(_.right-_.left,_.bottom-_.top),_e=Math.max($/2,0),et=Math.max(j.cutoutPercentage?_e/100*j.cutoutPercentage:1,0),tt=(_e-et)/s.getVisibleDatasetCount();this.outerRadius=_e-tt*this.index,this.innerRadius=this.outerRadius-tt}updateElements(s,_,j,$){const _e=$==="reset",et=this.chart,nt=et.options.animation,rt=this._cachedMeta.rScale,ot=rt.xCenter,ut=rt.yCenter,dt=rt.getIndexAngle(0)-.5*PI;let Ut=dt,st;const ct=360/this.countVisibleElements();for(st=0;st<_;++st)Ut+=this._computeAngle(st,$,ct);for(st=_;st<_+j;st++){const pt=s[st];let Bt=Ut,Qt=Ut+this._computeAngle(st,$,ct),gt=et.getDataVisibility(st)?rt.getDistanceFromCenterForValue(this.getParsed(st).r):0;Ut=Qt,_e&&(nt.animateScale&&(gt=0),nt.animateRotate&&(Bt=Qt=dt));const ft={x:ot,y:ut,innerRadius:0,outerRadius:gt,startAngle:Bt,endAngle:Qt,options:this.resolveDataElementOptions(st,pt.active?"active":$)};this.updateElement(pt,st,ft,$)}}countVisibleElements(){const s=this._cachedMeta;let _=0;return s.data.forEach((j,$)=>{!isNaN(this.getParsed($).r)&&this.chart.getDataVisibility($)&&_++}),_}_computeAngle(s,_,j){return this.chart.getDataVisibility(s)?toRadians(this.resolveDataElementOptions(s,_).angle||j):0}}On(PolarAreaController,"id","polarArea"),On(PolarAreaController,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),On(PolarAreaController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const _=s.data;if(_.labels.length&&_.datasets.length){const{labels:{pointStyle:j,color:$}}=s.legend.options;return _.labels.map((_e,et)=>{const nt=s.getDatasetMeta(0).controller.getStyle(et);return{text:_e,fillStyle:nt.backgroundColor,strokeStyle:nt.borderColor,fontColor:$,lineWidth:nt.borderWidth,pointStyle:j,hidden:!s.getDataVisibility(et),index:et}})}return[]}},onClick(s,_,j){j.chart.toggleDataVisibility(_.index),j.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class PieController extends DoughnutController{}On(PieController,"id","pie"),On(PieController,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class RadarController extends DatasetController{getLabelAndValue(s){const _=this._cachedMeta.vScale,j=this.getParsed(s);return{label:_.getLabels()[s],value:""+_.getLabelForValue(j[_.axis])}}parseObjectData(s,_,j,$){return _parseObjectDataRadialScale.bind(this)(s,_,j,$)}update(s){const _=this._cachedMeta,j=_.dataset,$=_.data||[],_e=_.iScale.getLabels();if(j.points=$,s!=="resize"){const et=this.resolveDatasetElementOptions(s);this.options.showLine||(et.borderWidth=0);const tt={_loop:!0,_fullLoop:_e.length===$.length,options:et};this.updateElement(j,void 0,tt,s)}this.updateElements($,0,$.length,s)}updateElements(s,_,j,$){const _e=this._cachedMeta.rScale,et=$==="reset";for(let tt=_;tt<_+j;tt++){const nt=s[tt],rt=this.resolveDataElementOptions(tt,nt.active?"active":$),ot=_e.getPointPositionForValue(tt,this.getParsed(tt).r),ut=et?_e.xCenter:ot.x,dt=et?_e.yCenter:ot.y,Ut={x:ut,y:dt,angle:ot.angle,skip:isNaN(ut)||isNaN(dt),options:rt};this.updateElement(nt,tt,Ut,$)}}}On(RadarController,"id","radar"),On(RadarController,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),On(RadarController,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class ScatterController extends DatasetController{getLabelAndValue(s){const _=this._cachedMeta,j=this.chart.data.labels||[],{xScale:$,yScale:_e}=_,et=this.getParsed(s),tt=$.getLabelForValue(et.x),nt=_e.getLabelForValue(et.y);return{label:j[s]||"",value:"("+tt+", "+nt+")"}}update(s){const _=this._cachedMeta,{data:j=[]}=_,$=this.chart._animationsDisabled;let{start:_e,count:et}=_getStartAndCountOfVisiblePoints(_,j,$);if(this._drawStart=_e,this._drawCount=et,_scaleRangesChanged(_)&&(_e=0,et=j.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:tt,_dataset:nt}=_;tt._chart=this.chart,tt._datasetIndex=this.index,tt._decimated=!!nt._decimated,tt.points=j;const rt=this.resolveDatasetElementOptions(s);rt.segment=this.options.segment,this.updateElement(tt,void 0,{animated:!$,options:rt},s)}else this.datasetElementType&&(delete _.dataset,this.datasetElementType=!1);this.updateElements(j,_e,et,s)}addElements(){const{showLine:s}=this.options;!this.datasetElementType&&s&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(s,_,j,$){const _e=$==="reset",{iScale:et,vScale:tt,_stacked:nt,_dataset:rt}=this._cachedMeta,ot=this.resolveDataElementOptions(_,$),ut=this.getSharedOptions(ot),dt=this.includeOptions($,ut),Ut=et.axis,st=tt.axis,{spanGaps:ct,segment:pt}=this.options,Bt=isNumber(ct)?ct:Number.POSITIVE_INFINITY,Qt=this.chart._animationsDisabled||_e||$==="none";let gt=_>0&&this.getParsed(_-1);for(let ft=_;ft<_+j;++ft){const Ft=s[ft],yt=this.getParsed(ft),Ct=Qt?Ft:{},xt=isNullOrUndef(yt[st]),ht=Ct[Ut]=et.getPixelForValue(yt[Ut],ft),mt=Ct[st]=_e||xt?tt.getBasePixel():tt.getPixelForValue(nt?this.applyStack(tt,yt,nt):yt[st],ft);Ct.skip=isNaN(ht)||isNaN(mt)||xt,Ct.stop=ft>0&&Math.abs(yt[Ut]-gt[Ut])>Bt,pt&&(Ct.parsed=yt,Ct.raw=rt.data[ft]),dt&&(Ct.options=ut||this.resolveDataElementOptions(ft,Ft.active?"active":$)),Qt||this.updateElement(Ft,ft,Ct,$),gt=yt}this.updateSharedOptions(ut,$,ot)}getMaxOverflow(){const s=this._cachedMeta,_=s.data||[];if(!this.options.showLine){let tt=0;for(let nt=_.length-1;nt>=0;--nt)tt=Math.max(tt,_[nt].size(this.resolveDataElementOptions(nt))/2);return tt>0&&tt}const j=s.dataset,$=j.options&&j.options.borderWidth||0;if(!_.length)return $;const _e=_[0].size(this.resolveDataElementOptions(0)),et=_[_.length-1].size(this.resolveDataElementOptions(_.length-1));return Math.max($,_e,et)/2}}On(ScatterController,"id","scatter"),On(ScatterController,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),On(ScatterController,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PieController,PolarAreaController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{constructor(s){On(this,"options");this.options=s||{}}static override(s){Object.assign(DateAdapterBase.prototype,s)}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(o,s,_,j){const{controller:$,data:_e,_sorted:et}=o,tt=$._cachedMeta.iScale,nt=o.dataset&&o.dataset.options?o.dataset.options.spanGaps:null;if(tt&&s===tt.axis&&s!=="r"&&et&&_e.length){const rt=tt._reversePixels?_rlookupByKey:_lookupByKey;if(j){if($._sharedOptions){const ot=_e[0],ut=typeof ot.getRange=="function"&&ot.getRange(s);if(ut){const dt=rt(_e,s,_-ut),Ut=rt(_e,s,_+ut);return{lo:dt.lo,hi:Ut.hi}}}}else{const ot=rt(_e,s,_);if(nt){const{vScale:ut}=$._cachedMeta,{_parsed:dt}=o,Ut=dt.slice(0,ot.lo+1).reverse().findIndex(ct=>!isNullOrUndef(ct[ut.axis]));ot.lo-=Math.max(0,Ut);const st=dt.slice(ot.hi).findIndex(ct=>!isNullOrUndef(ct[ut.axis]));ot.hi+=Math.max(0,st)}return ot}}return{lo:0,hi:_e.length-1}}function evaluateInteractionItems(o,s,_,j,$){const _e=o.getSortedVisibleDatasetMetas(),et=_[s];for(let tt=0,nt=_e.length;tt{nt[et]&&nt[et](s[_],$)&&(_e.push({element:nt,datasetIndex:rt,index:ot}),tt=tt||nt.inRange(s.x,s.y,$))}),j&&!tt?[]:_e}var Interaction={evaluateInteractionItems,modes:{index(o,s,_,j){const $=getRelativePosition(s,o),_e=_.axis||"x",et=_.includeInvisible||!1,tt=_.intersect?getIntersectItems(o,$,_e,j,et):getNearestItems(o,$,_e,!1,j,et),nt=[];return tt.length?(o.getSortedVisibleDatasetMetas().forEach(rt=>{const ot=tt[0].index,ut=rt.data[ot];ut&&!ut.skip&&nt.push({element:ut,datasetIndex:rt.index,index:ot})}),nt):[]},dataset(o,s,_,j){const $=getRelativePosition(s,o),_e=_.axis||"xy",et=_.includeInvisible||!1;let tt=_.intersect?getIntersectItems(o,$,_e,j,et):getNearestItems(o,$,_e,!1,j,et);if(tt.length>0){const nt=tt[0].datasetIndex,rt=o.getDatasetMeta(nt).data;tt=[];for(let ot=0;ot_.pos===s)}function filterDynamicPositionByAxis(o,s){return o.filter(_=>STATIC_POSITIONS.indexOf(_.pos)===-1&&_.box.axis===s)}function sortByWeight(o,s){return o.sort((_,j)=>{const $=s?j:_,_e=s?_:j;return $.weight===_e.weight?$.index-_e.index:$.weight-_e.weight})}function wrapBoxes(o){const s=[];let _,j,$,_e,et,tt;for(_=0,j=(o||[]).length;_rt.box.fullSize),!0),j=sortByWeight(filterByPosition(s,"left"),!0),$=sortByWeight(filterByPosition(s,"right")),_e=sortByWeight(filterByPosition(s,"top"),!0),et=sortByWeight(filterByPosition(s,"bottom")),tt=filterDynamicPositionByAxis(s,"x"),nt=filterDynamicPositionByAxis(s,"y");return{fullSize:_,leftAndTop:j.concat(_e),rightAndBottom:$.concat(nt).concat(et).concat(tt),chartArea:filterByPosition(s,"chartArea"),vertical:j.concat($).concat(nt),horizontal:_e.concat(et).concat(tt)}}function getCombinedMax(o,s,_,j){return Math.max(o[_],s[_])+Math.max(o[j],s[j])}function updateMaxPadding(o,s){o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}function updateDims(o,s,_,j){const{pos:$,box:_e}=_,et=o.maxPadding;if(!isObject($)){_.size&&(o[$]-=_.size);const ut=j[_.stack]||{size:0,count:1};ut.size=Math.max(ut.size,_.horizontal?_e.height:_e.width),_.size=ut.size/ut.count,o[$]+=_.size}_e.getPadding&&updateMaxPadding(et,_e.getPadding());const tt=Math.max(0,s.outerWidth-getCombinedMax(et,o,"left","right")),nt=Math.max(0,s.outerHeight-getCombinedMax(et,o,"top","bottom")),rt=tt!==o.w,ot=nt!==o.h;return o.w=tt,o.h=nt,_.horizontal?{same:rt,other:ot}:{same:ot,other:rt}}function handleMaxPadding(o){const s=o.maxPadding;function _(j){const $=Math.max(s[j]-o[j],0);return o[j]+=$,$}o.y+=_("top"),o.x+=_("left"),_("right"),_("bottom")}function getMargins(o,s){const _=s.maxPadding;function j($){const _e={left:0,top:0,right:0,bottom:0};return $.forEach(et=>{_e[et]=Math.max(s[et],_[et])}),_e}return j(o?["left","right"]:["top","bottom"])}function fitBoxes(o,s,_,j){const $=[];let _e,et,tt,nt,rt,ot;for(_e=0,et=o.length,rt=0;_e{typeof ct.beforeLayout=="function"&&ct.beforeLayout()});const ot=nt.reduce((ct,pt)=>pt.box.options&&pt.box.options.display===!1?ct:ct+1,0)||1,ut=Object.freeze({outerWidth:s,outerHeight:_,padding:$,availableWidth:_e,availableHeight:et,vBoxMaxWidth:_e/2/ot,hBoxMaxHeight:et/2}),dt=Object.assign({},$);updateMaxPadding(dt,toPadding(j));const Ut=Object.assign({maxPadding:dt,w:_e,h:et,x:$.left,y:$.top},$),st=setLayoutDims(nt.concat(rt),ut);fitBoxes(tt.fullSize,Ut,ut,st),fitBoxes(nt,Ut,ut,st),fitBoxes(rt,Ut,ut,st)&&fitBoxes(nt,Ut,ut,st),handleMaxPadding(Ut),placeBoxes(tt.leftAndTop,Ut,ut,st),Ut.x+=Ut.w,Ut.y+=Ut.h,placeBoxes(tt.rightAndBottom,Ut,ut,st),o.chartArea={left:Ut.left,top:Ut.top,right:Ut.left+Ut.w,bottom:Ut.top+Ut.h,height:Ut.h,width:Ut.w},each(tt.chartArea,ct=>{const pt=ct.box;Object.assign(pt,o.chartArea),pt.update(Ut.w,Ut.h,{left:0,top:0,right:0,bottom:0})})}};class BasePlatform{acquireContext(s,_){}releaseContext(s){return!1}addEventListener(s,_,j){}removeEventListener(s,_,j){}getDevicePixelRatio(){return 1}getMaximumSize(s,_,j,$){return _=Math.max(0,_||s.width),j=j||s.height,{width:_,height:Math.max(0,$?Math.floor(_/$):j)}}isAttached(s){return!0}updateConfig(s){}}class BasicPlatform extends BasePlatform{acquireContext(s){return s&&s.getContext&&s.getContext("2d")||null}updateConfig(s){s.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=o=>o===null||o==="";function initCanvas(o,s){const _=o.style,j=o.getAttribute("height"),$=o.getAttribute("width");if(o[EXPANDO_KEY]={initial:{height:j,width:$,style:{display:_.display,height:_.height,width:_.width}}},_.display=_.display||"block",_.boxSizing=_.boxSizing||"border-box",isNullOrEmpty($)){const _e=readUsedSize(o,"width");_e!==void 0&&(o.width=_e)}if(isNullOrEmpty(j))if(o.style.height==="")o.height=o.width/(s||2);else{const _e=readUsedSize(o,"height");_e!==void 0&&(o.height=_e)}return o}const eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(o,s,_){o&&o.addEventListener(s,_,eventListenerOptions)}function removeListener(o,s,_){o&&o.canvas&&o.canvas.removeEventListener(s,_,eventListenerOptions)}function fromNativeEvent(o,s){const _=EVENT_TYPES[o.type]||o.type,{x:j,y:$}=getRelativePosition(o,s);return{type:_,chart:s,native:o,x:j!==void 0?j:null,y:$!==void 0?$:null}}function nodeListContains(o,s){for(const _ of o)if(_===s||_.contains(s))return!0}function createAttachObserver(o,s,_){const j=o.canvas,$=new MutationObserver(_e=>{let et=!1;for(const tt of _e)et=et||nodeListContains(tt.addedNodes,j),et=et&&!nodeListContains(tt.removedNodes,j);et&&_()});return $.observe(document,{childList:!0,subtree:!0}),$}function createDetachObserver(o,s,_){const j=o.canvas,$=new MutationObserver(_e=>{let et=!1;for(const tt of _e)et=et||nodeListContains(tt.removedNodes,j),et=et&&!nodeListContains(tt.addedNodes,j);et&&_()});return $.observe(document,{childList:!0,subtree:!0}),$}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const o=window.devicePixelRatio;o!==oldDevicePixelRatio&&(oldDevicePixelRatio=o,drpListeningCharts.forEach((s,_)=>{_.currentDevicePixelRatio!==o&&s()}))}function listenDevicePixelRatioChanges(o,s){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(o,s)}function unlistenDevicePixelRatioChanges(o){drpListeningCharts.delete(o),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(o,s,_){const j=o.canvas,$=j&&_getParentNode(j);if(!$)return;const _e=throttled((tt,nt)=>{const rt=$.clientWidth;_(tt,nt),rt<$.clientWidth&&_()},window),et=new ResizeObserver(tt=>{const nt=tt[0],rt=nt.contentRect.width,ot=nt.contentRect.height;rt===0&&ot===0||_e(rt,ot)});return et.observe($),listenDevicePixelRatioChanges(o,_e),et}function releaseObserver(o,s,_){_&&_.disconnect(),s==="resize"&&unlistenDevicePixelRatioChanges(o)}function createProxyAndListen(o,s,_){const j=o.canvas,$=throttled(_e=>{o.ctx!==null&&_(fromNativeEvent(_e,o))},o);return addListener(j,s,$),$}class DomPlatform extends BasePlatform{acquireContext(s,_){const j=s&&s.getContext&&s.getContext("2d");return j&&j.canvas===s?(initCanvas(s,_),j):null}releaseContext(s){const _=s.canvas;if(!_[EXPANDO_KEY])return!1;const j=_[EXPANDO_KEY].initial;["height","width"].forEach(_e=>{const et=j[_e];isNullOrUndef(et)?_.removeAttribute(_e):_.setAttribute(_e,et)});const $=j.style||{};return Object.keys($).forEach(_e=>{_.style[_e]=$[_e]}),_.width=_.width,delete _[EXPANDO_KEY],!0}addEventListener(s,_,j){this.removeEventListener(s,_);const $=s.$proxies||(s.$proxies={}),et={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[_]||createProxyAndListen;$[_]=et(s,_,j)}removeEventListener(s,_){const j=s.$proxies||(s.$proxies={}),$=j[_];if(!$)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[_]||removeListener)(s,_,$),j[_]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(s,_,j,$){return getMaximumSize(s,_,j,$)}isAttached(s){const _=s&&_getParentNode(s);return!!(_&&_.isConnected)}}function _detectPlatform(o){return!_isDomSupported()||typeof OffscreenCanvas<"u"&&o instanceof OffscreenCanvas?BasicPlatform:DomPlatform}class Element{constructor(){On(this,"x");On(this,"y");On(this,"active",!1);On(this,"options");On(this,"$animations")}tooltipPosition(s){const{x:_,y:j}=this.getProps(["x","y"],s);return{x:_,y:j}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(s,_){const j=this.$animations;if(!_||!j)return this;const $={};return s.forEach(_e=>{$[_e]=j[_e]&&j[_e].active()?j[_e]._to:this[_e]}),$}}On(Element,"defaults",{}),On(Element,"defaultRoutes");function autoSkip(o,s){const _=o.options.ticks,j=determineMaxTicks(o),$=Math.min(_.maxTicksLimit||j,j),_e=_.major.enabled?getMajorIndices(s):[],et=_e.length,tt=_e[0],nt=_e[et-1],rt=[];if(et>$)return skipMajors(s,rt,_e,et/$),rt;const ot=calculateSpacing(_e,s,$);if(et>0){let ut,dt;const Ut=et>1?Math.round((nt-tt)/(et-1)):null;for(skip(s,rt,ot,isNullOrUndef(Ut)?0:tt-Ut,tt),ut=0,dt=et-1;ut$)return nt}return Math.max($,1)}function getMajorIndices(o){const s=[];let _,j;for(_=0,j=o.length;_o==="left"?"right":o==="right"?"left":o,offsetFromEdge=(o,s,_)=>s==="top"||s==="left"?o[s]+_:o[s]-_,getTicksLimit=(o,s)=>Math.min(s||o,o);function sample(o,s){const _=[],j=o.length/s,$=o.length;let _e=0;for(;_e<$;_e+=j)_.push(o[Math.floor(_e)]);return _}function getPixelForGridLine(o,s,_){const j=o.ticks.length,$=Math.min(s,j-1),_e=o._startPixel,et=o._endPixel,tt=1e-6;let nt=o.getPixelForTick($),rt;if(!(_&&(j===1?rt=Math.max(nt-_e,et-nt):s===0?rt=(o.getPixelForTick(1)-nt)/2:rt=(nt-o.getPixelForTick($-1))/2,nt+=$et+tt)))return nt}function garbageCollect(o,s){each(o,_=>{const j=_.gc,$=j.length/2;let _e;if($>s){for(_e=0;_e<$;++_e)delete _.data[j[_e]];j.splice(0,$)}})}function getTickMarkLength(o){return o.drawTicks?o.tickLength:0}function getTitleHeight(o,s){if(!o.display)return 0;const _=toFont(o.font,s),j=toPadding(o.padding);return(isArray(o.text)?o.text.length:1)*_.lineHeight+j.height}function createScaleContext(o,s){return createContext(o,{scale:s,type:"scale"})}function createTickContext(o,s,_){return createContext(o,{tick:_,index:s,type:"tick"})}function titleAlign(o,s,_){let j=_toLeftRightCenter(o);return(_&&s!=="right"||!_&&s==="right")&&(j=reverseAlign(j)),j}function titleArgs(o,s,_,j){const{top:$,left:_e,bottom:et,right:tt,chart:nt}=o,{chartArea:rt,scales:ot}=nt;let ut=0,dt,Ut,st;const ct=et-$,pt=tt-_e;if(o.isHorizontal()){if(Ut=_alignStartEnd(j,_e,tt),isObject(_)){const Bt=Object.keys(_)[0],Qt=_[Bt];st=ot[Bt].getPixelForValue(Qt)+ct-s}else _==="center"?st=(rt.bottom+rt.top)/2+ct-s:st=offsetFromEdge(o,_,s);dt=tt-_e}else{if(isObject(_)){const Bt=Object.keys(_)[0],Qt=_[Bt];Ut=ot[Bt].getPixelForValue(Qt)-pt+s}else _==="center"?Ut=(rt.left+rt.right)/2-pt+s:Ut=offsetFromEdge(o,_,s);st=_alignStartEnd(j,et,$),ut=_==="left"?-HALF_PI:HALF_PI}return{titleX:Ut,titleY:st,maxWidth:dt,rotation:ut}}class Scale extends Element{constructor(s){super(),this.id=s.id,this.type=s.type,this.options=void 0,this.ctx=s.ctx,this.chart=s.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(s){this.options=s.setContext(this.getContext()),this.axis=s.axis,this._userMin=this.parse(s.min),this._userMax=this.parse(s.max),this._suggestedMin=this.parse(s.suggestedMin),this._suggestedMax=this.parse(s.suggestedMax)}parse(s,_){return s}getUserBounds(){let{_userMin:s,_userMax:_,_suggestedMin:j,_suggestedMax:$}=this;return s=finiteOrDefault(s,Number.POSITIVE_INFINITY),_=finiteOrDefault(_,Number.NEGATIVE_INFINITY),j=finiteOrDefault(j,Number.POSITIVE_INFINITY),$=finiteOrDefault($,Number.NEGATIVE_INFINITY),{min:finiteOrDefault(s,j),max:finiteOrDefault(_,$),minDefined:isNumberFinite(s),maxDefined:isNumberFinite(_)}}getMinMax(s){let{min:_,max:j,minDefined:$,maxDefined:_e}=this.getUserBounds(),et;if($&&_e)return{min:_,max:j};const tt=this.getMatchingVisibleMetas();for(let nt=0,rt=tt.length;ntj?j:_,j=$&&_>j?_:j,{min:finiteOrDefault(_,finiteOrDefault(j,_)),max:finiteOrDefault(j,finiteOrDefault(_,j))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const s=this.chart.data;return this.options.labels||(this.isHorizontal()?s.xLabels:s.yLabels)||s.labels||[]}getLabelItems(s=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(s))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(s,_,j){const{beginAtZero:$,grace:_e,ticks:et}=this.options,tt=et.sampleSize;this.beforeUpdate(),this.maxWidth=s,this.maxHeight=_,this._margins=j=Object.assign({left:0,right:0,top:0,bottom:0},j),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+j.left+j.right:this.height+j.top+j.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,_e,$),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const nt=tt=_e||j<=1||!this.isHorizontal()){this.labelRotation=$;return}const ot=this._getLabelSizes(),ut=ot.widest.width,dt=ot.highest.height,Ut=_limitValue(this.chart.width-ut,0,this.maxWidth);tt=s.offset?this.maxWidth/j:Ut/(j-1),ut+6>tt&&(tt=Ut/(j-(s.offset?.5:1)),nt=this.maxHeight-getTickMarkLength(s.grid)-_.padding-getTitleHeight(s.title,this.chart.options.font),rt=Math.sqrt(ut*ut+dt*dt),et=toDegrees(Math.min(Math.asin(_limitValue((ot.highest.height+6)/tt,-1,1)),Math.asin(_limitValue(nt/rt,-1,1))-Math.asin(_limitValue(dt/rt,-1,1)))),et=Math.max($,Math.min(_e,et))),this.labelRotation=et}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const s={width:0,height:0},{chart:_,options:{ticks:j,title:$,grid:_e}}=this,et=this._isVisible(),tt=this.isHorizontal();if(et){const nt=getTitleHeight($,_.options.font);if(tt?(s.width=this.maxWidth,s.height=getTickMarkLength(_e)+nt):(s.height=this.maxHeight,s.width=getTickMarkLength(_e)+nt),j.display&&this.ticks.length){const{first:rt,last:ot,widest:ut,highest:dt}=this._getLabelSizes(),Ut=j.padding*2,st=toRadians(this.labelRotation),ct=Math.cos(st),pt=Math.sin(st);if(tt){const Bt=j.mirror?0:pt*ut.width+ct*dt.height;s.height=Math.min(this.maxHeight,s.height+Bt+Ut)}else{const Bt=j.mirror?0:ct*ut.width+pt*dt.height;s.width=Math.min(this.maxWidth,s.width+Bt+Ut)}this._calculatePadding(rt,ot,pt,ct)}}this._handleMargins(),tt?(this.width=this._length=_.width-this._margins.left-this._margins.right,this.height=s.height):(this.width=s.width,this.height=this._length=_.height-this._margins.top-this._margins.bottom)}_calculatePadding(s,_,j,$){const{ticks:{align:_e,padding:et},position:tt}=this.options,nt=this.labelRotation!==0,rt=tt!=="top"&&this.axis==="x";if(this.isHorizontal()){const ot=this.getPixelForTick(0)-this.left,ut=this.right-this.getPixelForTick(this.ticks.length-1);let dt=0,Ut=0;nt?rt?(dt=$*s.width,Ut=j*_.height):(dt=j*s.height,Ut=$*_.width):_e==="start"?Ut=_.width:_e==="end"?dt=s.width:_e!=="inner"&&(dt=s.width/2,Ut=_.width/2),this.paddingLeft=Math.max((dt-ot+et)*this.width/(this.width-ot),0),this.paddingRight=Math.max((Ut-ut+et)*this.width/(this.width-ut),0)}else{let ot=_.height/2,ut=s.height/2;_e==="start"?(ot=0,ut=s.height):_e==="end"&&(ot=_.height,ut=0),this.paddingTop=ot+et,this.paddingBottom=ut+et}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:s,position:_}=this.options;return _==="top"||_==="bottom"||s==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(s){this.beforeTickToLabelConversion(),this.generateTickLabels(s);let _,j;for(_=0,j=s.length;_({width:et[ht]||0,height:tt[ht]||0});return{first:xt(0),last:xt(_-1),widest:xt(yt),highest:xt(Ct),widths:et,heights:tt}}getLabelForValue(s){return s}getPixelForValue(s,_){return NaN}getValueForPixel(s){}getPixelForTick(s){const _=this.ticks;return s<0||s>_.length-1?null:this.getPixelForValue(_[s].value)}getPixelForDecimal(s){this._reversePixels&&(s=1-s);const _=this._startPixel+s*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,_,0):_)}getDecimalForPixel(s){const _=(s-this._startPixel)/this._length;return this._reversePixels?1-_:_}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:s,max:_}=this;return s<0&&_<0?_:s>0&&_>0?s:0}getContext(s){const _=this.ticks||[];if(s>=0&&s<_.length){const j=_[s];return j.$context||(j.$context=createTickContext(this.getContext(),s,j))}return this.$context||(this.$context=createScaleContext(this.chart.getContext(),this))}_tickSize(){const s=this.options.ticks,_=toRadians(this.labelRotation),j=Math.abs(Math.cos(_)),$=Math.abs(Math.sin(_)),_e=this._getLabelSizes(),et=s.autoSkipPadding||0,tt=_e?_e.widest.width+et:0,nt=_e?_e.highest.height+et:0;return this.isHorizontal()?nt*j>tt*$?tt/j:nt/$:nt*$0}_computeGridLineItems(s){const _=this.axis,j=this.chart,$=this.options,{grid:_e,position:et,border:tt}=$,nt=_e.offset,rt=this.isHorizontal(),ut=this.ticks.length+(nt?1:0),dt=getTickMarkLength(_e),Ut=[],st=tt.setContext(this.getContext()),ct=st.display?st.width:0,pt=ct/2,Bt=function(Wt){return _alignPixel(j,Wt,ct)};let Qt,gt,ft,Ft,yt,Ct,xt,ht,mt,It,vt,Tt;if(et==="top")Qt=Bt(this.bottom),Ct=this.bottom-dt,ht=Qt-pt,It=Bt(s.top)+pt,Tt=s.bottom;else if(et==="bottom")Qt=Bt(this.top),It=s.top,Tt=Bt(s.bottom)-pt,Ct=Qt+pt,ht=this.top+dt;else if(et==="left")Qt=Bt(this.right),yt=this.right-dt,xt=Qt-pt,mt=Bt(s.left)+pt,vt=s.right;else if(et==="right")Qt=Bt(this.left),mt=s.left,vt=Bt(s.right)-pt,yt=Qt+pt,xt=this.left+dt;else if(_==="x"){if(et==="center")Qt=Bt((s.top+s.bottom)/2+.5);else if(isObject(et)){const Wt=Object.keys(et)[0],bt=et[Wt];Qt=Bt(this.chart.scales[Wt].getPixelForValue(bt))}It=s.top,Tt=s.bottom,Ct=Qt+pt,ht=Ct+dt}else if(_==="y"){if(et==="center")Qt=Bt((s.left+s.right)/2);else if(isObject(et)){const Wt=Object.keys(et)[0],bt=et[Wt];Qt=Bt(this.chart.scales[Wt].getPixelForValue(bt))}yt=Qt-pt,xt=yt-dt,mt=s.left,vt=s.right}const Ot=valueOrDefault($.ticks.maxTicksLimit,ut),_t=Math.max(1,Math.ceil(ut/Ot));for(gt=0;gt0&&(Dt-=nn/2);break}jt={left:Dt,top:rn,width:nn+zt.width,height:$t+zt.height,color:_t.backdropColor}}pt.push({label:ft,font:ht,textOffset:vt,options:{rotation:ct,color:bt,strokeColor:Jt,strokeWidth:Zt,textAlign:Vt,textBaseline:Tt,translation:[Ft,yt],backdrop:jt}})}return pt}_getXAxisLabelAlignment(){const{position:s,ticks:_}=this.options;if(-toRadians(this.labelRotation))return s==="top"?"left":"right";let $="center";return _.align==="start"?$="left":_.align==="end"?$="right":_.align==="inner"&&($="inner"),$}_getYAxisLabelAlignment(s){const{position:_,ticks:{crossAlign:j,mirror:$,padding:_e}}=this.options,et=this._getLabelSizes(),tt=s+_e,nt=et.widest.width;let rt,ot;return _==="left"?$?(ot=this.right+_e,j==="near"?rt="left":j==="center"?(rt="center",ot+=nt/2):(rt="right",ot+=nt)):(ot=this.right-tt,j==="near"?rt="right":j==="center"?(rt="center",ot-=nt/2):(rt="left",ot=this.left)):_==="right"?$?(ot=this.left+_e,j==="near"?rt="right":j==="center"?(rt="center",ot-=nt/2):(rt="left",ot-=nt)):(ot=this.left+tt,j==="near"?rt="left":j==="center"?(rt="center",ot+=nt/2):(rt="right",ot=this.right)):rt="right",{textAlign:rt,x:ot}}_computeLabelArea(){if(this.options.ticks.mirror)return;const s=this.chart,_=this.options.position;if(_==="left"||_==="right")return{top:0,left:this.left,bottom:s.height,right:this.right};if(_==="top"||_==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:s.width}}drawBackground(){const{ctx:s,options:{backgroundColor:_},left:j,top:$,width:_e,height:et}=this;_&&(s.save(),s.fillStyle=_,s.fillRect(j,$,_e,et),s.restore())}getLineWidthForValue(s){const _=this.options.grid;if(!this._isVisible()||!_.display)return 0;const $=this.ticks.findIndex(_e=>_e.value===s);return $>=0?_.setContext(this.getContext($)).lineWidth:0}drawGrid(s){const _=this.options.grid,j=this.ctx,$=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(s));let _e,et;const tt=(nt,rt,ot)=>{!ot.width||!ot.color||(j.save(),j.lineWidth=ot.width,j.strokeStyle=ot.color,j.setLineDash(ot.borderDash||[]),j.lineDashOffset=ot.borderDashOffset,j.beginPath(),j.moveTo(nt.x,nt.y),j.lineTo(rt.x,rt.y),j.stroke(),j.restore())};if(_.display)for(_e=0,et=$.length;_e{this.draw(_e)}}]:[{z:j,draw:_e=>{this.drawBackground(),this.drawGrid(_e),this.drawTitle()}},{z:$,draw:()=>{this.drawBorder()}},{z:_,draw:_e=>{this.drawLabels(_e)}}]}getMatchingVisibleMetas(s){const _=this.chart.getSortedVisibleDatasetMetas(),j=this.axis+"AxisID",$=[];let _e,et;for(_e=0,et=_.length;_e{const j=_.split("."),$=j.pop(),_e=[o].concat(j).join("."),et=s[_].split("."),tt=et.pop(),nt=et.join(".");defaults.route(_e,$,nt,tt)})}function isIChartComponent(o){return"id"in o&&"defaults"in o}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...s){this._each("register",s)}remove(...s){this._each("unregister",s)}addControllers(...s){this._each("register",s,this.controllers)}addElements(...s){this._each("register",s,this.elements)}addPlugins(...s){this._each("register",s,this.plugins)}addScales(...s){this._each("register",s,this.scales)}getController(s){return this._get(s,this.controllers,"controller")}getElement(s){return this._get(s,this.elements,"element")}getPlugin(s){return this._get(s,this.plugins,"plugin")}getScale(s){return this._get(s,this.scales,"scale")}removeControllers(...s){this._each("unregister",s,this.controllers)}removeElements(...s){this._each("unregister",s,this.elements)}removePlugins(...s){this._each("unregister",s,this.plugins)}removeScales(...s){this._each("unregister",s,this.scales)}_each(s,_,j){[..._].forEach($=>{const _e=j||this._getRegistryForType($);j||_e.isForType($)||_e===this.plugins&&$.id?this._exec(s,_e,$):each($,et=>{const tt=j||this._getRegistryForType(et);this._exec(s,tt,et)})})}_exec(s,_,j){const $=_capitalize(s);callback(j["before"+$],[],j),_[s](j),callback(j["after"+$],[],j)}_getRegistryForType(s){for(let _=0;__e.filter(tt=>!et.some(nt=>tt.plugin.id===nt.plugin.id));this._notify($(_,j),s,"stop"),this._notify($(j,_),s,"start")}}function allPlugins(o){const s={},_=[],j=Object.keys(registry.plugins.items);for(let _e=0;_e1&&idMatchesAxis(o[0].toLowerCase());if(j)return j}throw new Error(`Cannot determine type of '${o}' axis. Please provide 'axis' or 'position' option.`)}function getAxisFromDataset(o,s,_){if(_[s+"AxisID"]===o)return{axis:s}}function retrieveAxisFromDatasets(o,s){if(s.data&&s.data.datasets){const _=s.data.datasets.filter(j=>j.xAxisID===o||j.yAxisID===o);if(_.length)return getAxisFromDataset(o,"x",_[0])||getAxisFromDataset(o,"y",_[0])}return{}}function mergeScaleConfig(o,s){const _=overrides[o.type]||{scales:{}},j=s.scales||{},$=getIndexAxis(o.type,s),_e=Object.create(null);return Object.keys(j).forEach(et=>{const tt=j[et];if(!isObject(tt))return console.error(`Invalid scale configuration for scale: ${et}`);if(tt._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${et}`);const nt=determineAxis(et,tt,retrieveAxisFromDatasets(et,o),defaults.scales[tt.type]),rt=getDefaultScaleIDFromAxis(nt,$),ot=_.scales||{};_e[et]=mergeIf(Object.create(null),[{axis:nt},tt,ot[nt],ot[rt]])}),o.data.datasets.forEach(et=>{const tt=et.type||o.type,nt=et.indexAxis||getIndexAxis(tt,s),ot=(overrides[tt]||{}).scales||{};Object.keys(ot).forEach(ut=>{const dt=getAxisFromDefaultScaleID(ut,nt),Ut=et[dt+"AxisID"]||dt;_e[Ut]=_e[Ut]||Object.create(null),mergeIf(_e[Ut],[{axis:dt},j[Ut],ot[ut]])})}),Object.keys(_e).forEach(et=>{const tt=_e[et];mergeIf(tt,[defaults.scales[tt.type],defaults.scale])}),_e}function initOptions(o){const s=o.options||(o.options={});s.plugins=valueOrDefault(s.plugins,{}),s.scales=mergeScaleConfig(o,s)}function initData(o){return o=o||{},o.datasets=o.datasets||[],o.labels=o.labels||[],o}function initConfig(o){return o=o||{},o.data=initData(o.data),initOptions(o),o}const keyCache=new Map,keysCached=new Set;function cachedKeys(o,s){let _=keyCache.get(o);return _||(_=s(),keyCache.set(o,_),keysCached.add(_)),_}const addIfFound=(o,s,_)=>{const j=resolveObjectKey(s,_);j!==void 0&&o.add(j)};class Config{constructor(s){this._config=initConfig(s),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(s){this._config.type=s}get data(){return this._config.data}set data(s){this._config.data=initData(s)}get options(){return this._config.options}set options(s){this._config.options=s}get plugins(){return this._config.plugins}update(){const s=this._config;this.clearCache(),initOptions(s)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(s){return cachedKeys(s,()=>[[`datasets.${s}`,""]])}datasetAnimationScopeKeys(s,_){return cachedKeys(`${s}.transition.${_}`,()=>[[`datasets.${s}.transitions.${_}`,`transitions.${_}`],[`datasets.${s}`,""]])}datasetElementScopeKeys(s,_){return cachedKeys(`${s}-${_}`,()=>[[`datasets.${s}.elements.${_}`,`datasets.${s}`,`elements.${_}`,""]])}pluginScopeKeys(s){const _=s.id,j=this.type;return cachedKeys(`${j}-plugin-${_}`,()=>[[`plugins.${_}`,...s.additionalOptionScopes||[]]])}_cachedScopes(s,_){const j=this._scopeCache;let $=j.get(s);return(!$||_)&&($=new Map,j.set(s,$)),$}getOptionScopes(s,_,j){const{options:$,type:_e}=this,et=this._cachedScopes(s,j),tt=et.get(_);if(tt)return tt;const nt=new Set;_.forEach(ot=>{s&&(nt.add(s),ot.forEach(ut=>addIfFound(nt,s,ut))),ot.forEach(ut=>addIfFound(nt,$,ut)),ot.forEach(ut=>addIfFound(nt,overrides[_e]||{},ut)),ot.forEach(ut=>addIfFound(nt,defaults,ut)),ot.forEach(ut=>addIfFound(nt,descriptors,ut))});const rt=Array.from(nt);return rt.length===0&&rt.push(Object.create(null)),keysCached.has(_)&&et.set(_,rt),rt}chartOptionScopes(){const{options:s,type:_}=this;return[s,overrides[_]||{},defaults.datasets[_]||{},{type:_},defaults,descriptors]}resolveNamedOptions(s,_,j,$=[""]){const _e={$shared:!0},{resolver:et,subPrefixes:tt}=getResolver(this._resolverCache,s,$);let nt=et;if(needContext(et,_)){_e.$shared=!1,j=isFunction(j)?j():j;const rt=this.createResolver(s,j,tt);nt=_attachContext(et,j,rt)}for(const rt of _)_e[rt]=nt[rt];return _e}createResolver(s,_,j=[""],$){const{resolver:_e}=getResolver(this._resolverCache,s,j);return isObject(_)?_attachContext(_e,_,void 0,$):_e}}function getResolver(o,s,_){let j=o.get(s);j||(j=new Map,o.set(s,j));const $=_.join();let _e=j.get($);return _e||(_e={resolver:_createResolver(s,_),subPrefixes:_.filter(tt=>!tt.toLowerCase().includes("hover"))},j.set($,_e)),_e}const hasFunction=o=>isObject(o)&&Object.getOwnPropertyNames(o).some(s=>isFunction(o[s]));function needContext(o,s){const{isScriptable:_,isIndexable:j}=_descriptors(o);for(const $ of s){const _e=_($),et=j($),tt=(et||_e)&&o[$];if(_e&&(isFunction(tt)||hasFunction(tt))||et&&isArray(tt))return!0}return!1}var version="4.5.0";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(o,s){return o==="top"||o==="bottom"||KNOWN_POSITIONS.indexOf(o)===-1&&s==="x"}function compare2Level(o,s){return function(_,j){return _[o]===j[o]?_[s]-j[s]:_[o]-j[o]}}function onAnimationsComplete(o){const s=o.chart,_=s.options.animation;s.notifyPlugins("afterRender"),callback(_&&_.onComplete,[o],s)}function onAnimationProgress(o){const s=o.chart,_=s.options.animation;callback(_&&_.onProgress,[o],s)}function getCanvas(o){return _isDomSupported()&&typeof o=="string"?o=document.getElementById(o):o&&o.length&&(o=o[0]),o&&o.canvas&&(o=o.canvas),o}const instances={},getChart=o=>{const s=getCanvas(o);return Object.values(instances).filter(_=>_.canvas===s).pop()};function moveNumericKeys(o,s,_){const j=Object.keys(o);for(const $ of j){const _e=+$;if(_e>=s){const et=o[$];delete o[$],(_>0||_e>s)&&(o[_e+_]=et)}}}function determineLastEvent(o,s,_,j){return!_||o.type==="mouseout"?null:j?s:o}class Chart{static register(...s){registry.add(...s),invalidatePlugins()}static unregister(...s){registry.remove(...s),invalidatePlugins()}constructor(s,_){const j=this.config=new Config(_),$=getCanvas(s),_e=getChart($);if(_e)throw new Error("Canvas is already in use. Chart with ID '"+_e.id+"' must be destroyed before the canvas with ID '"+_e.canvas.id+"' can be reused.");const et=j.createResolver(j.chartOptionScopes(),this.getContext());this.platform=new(j.platform||_detectPlatform($)),this.platform.updateConfig(j);const tt=this.platform.acquireContext($,et.aspectRatio),nt=tt&&tt.canvas,rt=nt&&nt.height,ot=nt&&nt.width;if(this.id=uid(),this.ctx=tt,this.canvas=nt,this.width=ot,this.height=rt,this._options=et,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce(ut=>this.update(ut),et.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!tt||!nt){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:s,maintainAspectRatio:_},width:j,height:$,_aspectRatio:_e}=this;return isNullOrUndef(s)?_&&_e?_e:$?j/$:null:s}get data(){return this.config.data}set data(s){this.config.data=s}get options(){return this._options}set options(s){this.config.options=s}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(s,_){animator.running(this)?this._resizeBeforeDraw={width:s,height:_}:this._resize(s,_)}_resize(s,_){const j=this.options,$=this.canvas,_e=j.maintainAspectRatio&&this.aspectRatio,et=this.platform.getMaximumSize($,s,_,_e),tt=j.devicePixelRatio||this.platform.getDevicePixelRatio(),nt=this.width?"resize":"attach";this.width=et.width,this.height=et.height,this._aspectRatio=this.aspectRatio,retinaScale(this,tt,!0)&&(this.notifyPlugins("resize",{size:et}),callback(j.onResize,[this,et],this),this.attached&&this._doResize(nt)&&this.render())}ensureScalesHaveIDs(){const _=this.options.scales||{};each(_,(j,$)=>{j.id=$})}buildOrUpdateScales(){const s=this.options,_=s.scales,j=this.scales,$=Object.keys(j).reduce((et,tt)=>(et[tt]=!1,et),{});let _e=[];_&&(_e=_e.concat(Object.keys(_).map(et=>{const tt=_[et],nt=determineAxis(et,tt),rt=nt==="r",ot=nt==="x";return{options:tt,dposition:rt?"chartArea":ot?"bottom":"left",dtype:rt?"radialLinear":ot?"category":"linear"}}))),each(_e,et=>{const tt=et.options,nt=tt.id,rt=determineAxis(nt,tt),ot=valueOrDefault(tt.type,et.dtype);(tt.position===void 0||positionIsHorizontal(tt.position,rt)!==positionIsHorizontal(et.dposition))&&(tt.position=et.dposition),$[nt]=!0;let ut=null;if(nt in j&&j[nt].type===ot)ut=j[nt];else{const dt=registry.getScale(ot);ut=new dt({id:nt,type:ot,ctx:this.ctx,chart:this}),j[ut.id]=ut}ut.init(tt,s)}),each($,(et,tt)=>{et||delete j[tt]}),each(j,et=>{layouts.configure(this,et,et.options),layouts.addBox(this,et)})}_updateMetasets(){const s=this._metasets,_=this.data.datasets.length,j=s.length;if(s.sort(($,_e)=>$.index-_e.index),j>_){for(let $=_;$_.length&&delete this._stacks,s.forEach((j,$)=>{_.filter(_e=>_e===j._dataset).length===0&&this._destroyDatasetMeta($)})}buildOrUpdateControllers(){const s=[],_=this.data.datasets;let j,$;for(this._removeUnreferencedMetasets(),j=0,$=_.length;j<$;j++){const _e=_[j];let et=this.getDatasetMeta(j);const tt=_e.type||this.config.type;if(et.type&&et.type!==tt&&(this._destroyDatasetMeta(j),et=this.getDatasetMeta(j)),et.type=tt,et.indexAxis=_e.indexAxis||getIndexAxis(tt,this.options),et.order=_e.order||0,et.index=j,et.label=""+_e.label,et.visible=this.isDatasetVisible(j),et.controller)et.controller.updateIndex(j),et.controller.linkScales();else{const nt=registry.getController(tt),{datasetElementType:rt,dataElementType:ot}=defaults.datasets[tt];Object.assign(nt,{dataElementType:registry.getElement(ot),datasetElementType:rt&®istry.getElement(rt)}),et.controller=new nt(this,j),s.push(et.controller)}}return this._updateMetasets(),s}_resetElements(){each(this.data.datasets,(s,_)=>{this.getDatasetMeta(_).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(s){const _=this.config;_.update();const j=this._options=_.createResolver(_.chartOptionScopes(),this.getContext()),$=this._animationsDisabled=!j.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:s,cancelable:!0})===!1)return;const _e=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let et=0;for(let rt=0,ot=this.data.datasets.length;rt{rt.reset()}),this._updateDatasets(s),this.notifyPlugins("afterUpdate",{mode:s}),this._layers.sort(compare2Level("z","_idx"));const{_active:tt,_lastEvent:nt}=this;nt?this._eventHandler(nt,!0):tt.length&&this._updateHoverStyles(tt,tt,!0),this.render()}_updateScales(){each(this.scales,s=>{layouts.removeBox(this,s)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const s=this.options,_=new Set(Object.keys(this._listeners)),j=new Set(s.events);(!setsEqual(_,j)||!!this._responsiveListeners!==s.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:s}=this,_=this._getUniformDataChanges()||[];for(const{method:j,start:$,count:_e}of _){const et=j==="_removeElements"?-_e:_e;moveNumericKeys(s,$,et)}}_getUniformDataChanges(){const s=this._dataChanges;if(!s||!s.length)return;this._dataChanges=[];const _=this.data.datasets.length,j=_e=>new Set(s.filter(et=>et[0]===_e).map((et,tt)=>tt+","+et.splice(1).join(","))),$=j(0);for(let _e=1;_e<_;_e++)if(!setsEqual($,j(_e)))return;return Array.from($).map(_e=>_e.split(",")).map(_e=>({method:_e[1],start:+_e[2],count:+_e[3]}))}_updateLayout(s){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,s);const _=this.chartArea,j=_.width<=0||_.height<=0;this._layers=[],each(this.boxes,$=>{j&&$.position==="chartArea"||($.configure&&$.configure(),this._layers.push(...$._layers()))},this),this._layers.forEach(($,_e)=>{$._idx=_e}),this.notifyPlugins("afterLayout")}_updateDatasets(s){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:s,cancelable:!0})!==!1){for(let _=0,j=this.data.datasets.length;_=0;--_)this._drawDataset(s[_]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(s){const _=this.ctx,j={meta:s,index:s.index,cancelable:!0},$=getDatasetClipArea(this,s);this.notifyPlugins("beforeDatasetDraw",j)!==!1&&($&&clipArea(_,$),s.controller.draw(),$&&unclipArea(_),j.cancelable=!1,this.notifyPlugins("afterDatasetDraw",j))}isPointInArea(s){return _isPointInArea(s,this.chartArea,this._minPadding)}getElementsAtEventForMode(s,_,j,$){const _e=Interaction.modes[_];return typeof _e=="function"?_e(this,s,j,$):[]}getDatasetMeta(s){const _=this.data.datasets[s],j=this._metasets;let $=j.filter(_e=>_e&&_e._dataset===_).pop();return $||($={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:_&&_.order||0,index:s,_dataset:_,_parsed:[],_sorted:!1},j.push($)),$}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(s){const _=this.data.datasets[s];if(!_)return!1;const j=this.getDatasetMeta(s);return typeof j.hidden=="boolean"?!j.hidden:!_.hidden}setDatasetVisibility(s,_){const j=this.getDatasetMeta(s);j.hidden=!_}toggleDataVisibility(s){this._hiddenIndices[s]=!this._hiddenIndices[s]}getDataVisibility(s){return!this._hiddenIndices[s]}_updateVisibility(s,_,j){const $=j?"show":"hide",_e=this.getDatasetMeta(s),et=_e.controller._resolveAnimations(void 0,$);defined(_)?(_e.data[_].hidden=!j,this.update()):(this.setDatasetVisibility(s,j),et.update(_e,{visible:j}),this.update(tt=>tt.datasetIndex===s?$:void 0))}hide(s,_){this._updateVisibility(s,_,!1)}show(s,_){this._updateVisibility(s,_,!0)}_destroyDatasetMeta(s){const _=this._metasets[s];_&&_.controller&&_.controller._destroy(),delete this._metasets[s]}_stop(){let s,_;for(this.stop(),animator.remove(this),s=0,_=this.data.datasets.length;s<_;++s)this._destroyDatasetMeta(s)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:s,ctx:_}=this;this._stop(),this.config.clearCache(),s&&(this.unbindEvents(),clearCanvas(s,_),this.platform.releaseContext(_),this.canvas=null,this.ctx=null),delete instances[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...s){return this.canvas.toDataURL(...s)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const s=this._listeners,_=this.platform,j=(_e,et)=>{_.addEventListener(this,_e,et),s[_e]=et},$=(_e,et,tt)=>{_e.offsetX=et,_e.offsetY=tt,this._eventHandler(_e)};each(this.options.events,_e=>j(_e,$))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const s=this._responsiveListeners,_=this.platform,j=(nt,rt)=>{_.addEventListener(this,nt,rt),s[nt]=rt},$=(nt,rt)=>{s[nt]&&(_.removeEventListener(this,nt,rt),delete s[nt])},_e=(nt,rt)=>{this.canvas&&this.resize(nt,rt)};let et;const tt=()=>{$("attach",tt),this.attached=!0,this.resize(),j("resize",_e),j("detach",et)};et=()=>{this.attached=!1,$("resize",_e),this._stop(),this._resize(0,0),j("attach",tt)},_.isAttached(this.canvas)?tt():et()}unbindEvents(){each(this._listeners,(s,_)=>{this.platform.removeEventListener(this,_,s)}),this._listeners={},each(this._responsiveListeners,(s,_)=>{this.platform.removeEventListener(this,_,s)}),this._responsiveListeners=void 0}updateHoverStyle(s,_,j){const $=j?"set":"remove";let _e,et,tt,nt;for(_==="dataset"&&(_e=this.getDatasetMeta(s[0].datasetIndex),_e.controller["_"+$+"DatasetHoverStyle"]()),tt=0,nt=s.length;tt{const tt=this.getDatasetMeta(_e);if(!tt)throw new Error("No dataset found at index "+_e);return{datasetIndex:_e,element:tt.data[et],index:et}});!_elementsEqual(j,_)&&(this._active=j,this._lastEvent=null,this._updateHoverStyles(j,_))}notifyPlugins(s,_,j){return this._plugins.notify(this,s,_,j)}isPluginEnabled(s){return this._plugins._cache.filter(_=>_.plugin.id===s).length===1}_updateHoverStyles(s,_,j){const $=this.options.hover,_e=(nt,rt)=>nt.filter(ot=>!rt.some(ut=>ot.datasetIndex===ut.datasetIndex&&ot.index===ut.index)),et=_e(_,s),tt=j?s:_e(s,_);et.length&&this.updateHoverStyle(et,$.mode,!1),tt.length&&$.mode&&this.updateHoverStyle(tt,$.mode,!0)}_eventHandler(s,_){const j={event:s,replay:_,cancelable:!0,inChartArea:this.isPointInArea(s)},$=et=>(et.options.events||this.options.events).includes(s.native.type);if(this.notifyPlugins("beforeEvent",j,$)===!1)return;const _e=this._handleEvent(s,_,j.inChartArea);return j.cancelable=!1,this.notifyPlugins("afterEvent",j,$),(_e||j.changed)&&this.render(),this}_handleEvent(s,_,j){const{_active:$=[],options:_e}=this,et=_,tt=this._getActiveElements(s,$,j,et),nt=_isClickEvent(s),rt=determineLastEvent(s,this._lastEvent,j,nt);j&&(this._lastEvent=null,callback(_e.onHover,[s,tt,this],this),nt&&callback(_e.onClick,[s,tt,this],this));const ot=!_elementsEqual(tt,$);return(ot||_)&&(this._active=tt,this._updateHoverStyles(tt,$,_)),this._lastEvent=rt,ot}_getActiveElements(s,_,j,$){if(s.type==="mouseout")return[];if(!j)return _;const _e=this.options.hover;return this.getElementsAtEventForMode(s,_e.mode,_e,$)}}On(Chart,"defaults",defaults),On(Chart,"instances",instances),On(Chart,"overrides",overrides),On(Chart,"registry",registry),On(Chart,"version",version),On(Chart,"getChart",getChart);function invalidatePlugins(){return each(Chart.instances,o=>o._plugins.invalidate())}function clipSelf(o,s,_){const{startAngle:j,x:$,y:_e,outerRadius:et,innerRadius:tt,options:nt}=s,{borderWidth:rt,borderJoinStyle:ot}=nt,ut=Math.min(rt/et,_normalizeAngle(j-_));if(o.beginPath(),o.arc($,_e,et-rt/2,j+ut/2,_-ut/2),tt>0){const dt=Math.min(rt/tt,_normalizeAngle(j-_));o.arc($,_e,tt+rt/2,_-dt/2,j+dt/2,!0)}else{const dt=Math.min(rt/2,et*_normalizeAngle(j-_));if(ot==="round")o.arc($,_e,dt,_-PI/2,j+PI/2,!0);else if(ot==="bevel"){const Ut=2*dt*dt,st=-Ut*Math.cos(_+PI/2)+$,ct=-Ut*Math.sin(_+PI/2)+_e,pt=Ut*Math.cos(j+PI/2)+$,Bt=Ut*Math.sin(j+PI/2)+_e;o.lineTo(st,ct),o.lineTo(pt,Bt)}}o.closePath(),o.moveTo(0,0),o.rect(0,0,o.canvas.width,o.canvas.height),o.clip("evenodd")}function clipArc(o,s,_){const{startAngle:j,pixelMargin:$,x:_e,y:et,outerRadius:tt,innerRadius:nt}=s;let rt=$/tt;o.beginPath(),o.arc(_e,et,tt,j-rt,_+rt),nt>$?(rt=$/nt,o.arc(_e,et,nt,_+rt,j-rt,!0)):o.arc(_e,et,$,_+HALF_PI,j-HALF_PI),o.closePath(),o.clip()}function toRadiusCorners(o){return _readValueToProps(o,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(o,s,_,j){const $=toRadiusCorners(o.options.borderRadius),_e=(_-s)/2,et=Math.min(_e,j*s/2),tt=nt=>{const rt=(_-Math.min(_e,nt))*j/2;return _limitValue(nt,0,Math.min(_e,rt))};return{outerStart:tt($.outerStart),outerEnd:tt($.outerEnd),innerStart:_limitValue($.innerStart,0,et),innerEnd:_limitValue($.innerEnd,0,et)}}function rThetaToXY(o,s,_,j){return{x:_+o*Math.cos(s),y:j+o*Math.sin(s)}}function pathArc(o,s,_,j,$,_e){const{x:et,y:tt,startAngle:nt,pixelMargin:rt,innerRadius:ot}=s,ut=Math.max(s.outerRadius+j+_-rt,0),dt=ot>0?ot+j+_+rt:0;let Ut=0;const st=$-nt;if(j){const _t=ot>0?ot-j:0,Wt=ut>0?ut-j:0,bt=(_t+Wt)/2,Jt=bt!==0?st*bt/(bt+j):st;Ut=(st-Jt)/2}const ct=Math.max(.001,st*ut-_/PI)/ut,pt=(st-ct)/2,Bt=nt+pt+Ut,Qt=$-pt-Ut,{outerStart:gt,outerEnd:ft,innerStart:Ft,innerEnd:yt}=parseBorderRadius$1(s,dt,ut,Qt-Bt),Ct=ut-gt,xt=ut-ft,ht=Bt+gt/Ct,mt=Qt-ft/xt,It=dt+Ft,vt=dt+yt,Tt=Bt+Ft/It,Ot=Qt-yt/vt;if(o.beginPath(),_e){const _t=(ht+mt)/2;if(o.arc(et,tt,ut,ht,_t),o.arc(et,tt,ut,_t,mt),ft>0){const Zt=rThetaToXY(xt,mt,et,tt);o.arc(Zt.x,Zt.y,ft,mt,Qt+HALF_PI)}const Wt=rThetaToXY(vt,Qt,et,tt);if(o.lineTo(Wt.x,Wt.y),yt>0){const Zt=rThetaToXY(vt,Ot,et,tt);o.arc(Zt.x,Zt.y,yt,Qt+HALF_PI,Ot+Math.PI)}const bt=(Qt-yt/dt+(Bt+Ft/dt))/2;if(o.arc(et,tt,dt,Qt-yt/dt,bt,!0),o.arc(et,tt,dt,bt,Bt+Ft/dt,!0),Ft>0){const Zt=rThetaToXY(It,Tt,et,tt);o.arc(Zt.x,Zt.y,Ft,Tt+Math.PI,Bt-HALF_PI)}const Jt=rThetaToXY(Ct,Bt,et,tt);if(o.lineTo(Jt.x,Jt.y),gt>0){const Zt=rThetaToXY(Ct,ht,et,tt);o.arc(Zt.x,Zt.y,gt,Bt-HALF_PI,ht)}}else{o.moveTo(et,tt);const _t=Math.cos(ht)*ut+et,Wt=Math.sin(ht)*ut+tt;o.lineTo(_t,Wt);const bt=Math.cos(mt)*ut+et,Jt=Math.sin(mt)*ut+tt;o.lineTo(bt,Jt)}o.closePath()}function drawArc(o,s,_,j,$){const{fullCircles:_e,startAngle:et,circumference:tt}=s;let nt=s.endAngle;if(_e){pathArc(o,s,_,j,nt,$);for(let rt=0;rt<_e;++rt)o.fill();isNaN(tt)||(nt=et+(tt%TAU||TAU))}return pathArc(o,s,_,j,nt,$),o.fill(),nt}function drawBorder(o,s,_,j,$){const{fullCircles:_e,startAngle:et,circumference:tt,options:nt}=s,{borderWidth:rt,borderJoinStyle:ot,borderDash:ut,borderDashOffset:dt,borderRadius:Ut}=nt,st=nt.borderAlign==="inner";if(!rt)return;o.setLineDash(ut||[]),o.lineDashOffset=dt,st?(o.lineWidth=rt*2,o.lineJoin=ot||"round"):(o.lineWidth=rt,o.lineJoin=ot||"bevel");let ct=s.endAngle;if(_e){pathArc(o,s,_,j,ct,$);for(let pt=0;pt<_e;++pt)o.stroke();isNaN(tt)||(ct=et+(tt%TAU||TAU))}st&&clipArc(o,s,ct),nt.selfJoin&&ct-et>=PI&&Ut===0&&ot!=="miter"&&clipSelf(o,s,ct),_e||(pathArc(o,s,_,j,ct,$),o.stroke())}class ArcElement extends Element{constructor(_){super();On(this,"circumference");On(this,"endAngle");On(this,"fullCircles");On(this,"innerRadius");On(this,"outerRadius");On(this,"pixelMargin");On(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,_&&Object.assign(this,_)}inRange(_,j,$){const _e=this.getProps(["x","y"],$),{angle:et,distance:tt}=getAngleFromPoint(_e,{x:_,y:j}),{startAngle:nt,endAngle:rt,innerRadius:ot,outerRadius:ut,circumference:dt}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],$),Ut=(this.options.spacing+this.options.borderWidth)/2,st=valueOrDefault(dt,rt-nt),ct=_angleBetween(et,nt,rt)&&nt!==rt,pt=st>=TAU||ct,Bt=_isBetween(tt,ot+Ut,ut+Ut);return pt&&Bt}getCenterPoint(_){const{x:j,y:$,startAngle:_e,endAngle:et,innerRadius:tt,outerRadius:nt}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],_),{offset:rt,spacing:ot}=this.options,ut=(_e+et)/2,dt=(tt+nt+ot+rt)/2;return{x:j+Math.cos(ut)*dt,y:$+Math.sin(ut)*dt}}tooltipPosition(_){return this.getCenterPoint(_)}draw(_){const{options:j,circumference:$}=this,_e=(j.offset||0)/4,et=(j.spacing||0)/2,tt=j.circular;if(this.pixelMargin=j.borderAlign==="inner"?.33:0,this.fullCircles=$>TAU?Math.floor($/TAU):0,$===0||this.innerRadius<0||this.outerRadius<0)return;_.save();const nt=(this.startAngle+this.endAngle)/2;_.translate(Math.cos(nt)*_e,Math.sin(nt)*_e);const rt=1-Math.sin(Math.min(PI,$||0)),ot=_e*rt;_.fillStyle=j.backgroundColor,_.strokeStyle=j.borderColor,drawArc(_,this,ot,et,tt),drawBorder(_,this,ot,et,tt),_.restore()}}On(ArcElement,"id","arc"),On(ArcElement,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1}),On(ArcElement,"defaultRoutes",{backgroundColor:"backgroundColor"}),On(ArcElement,"descriptors",{_scriptable:!0,_indexable:_=>_!=="borderDash"});function setStyle(o,s,_=s){o.lineCap=valueOrDefault(_.borderCapStyle,s.borderCapStyle),o.setLineDash(valueOrDefault(_.borderDash,s.borderDash)),o.lineDashOffset=valueOrDefault(_.borderDashOffset,s.borderDashOffset),o.lineJoin=valueOrDefault(_.borderJoinStyle,s.borderJoinStyle),o.lineWidth=valueOrDefault(_.borderWidth,s.borderWidth),o.strokeStyle=valueOrDefault(_.borderColor,s.borderColor)}function lineTo(o,s,_){o.lineTo(_.x,_.y)}function getLineMethod(o){return o.stepped?_steppedLineTo:o.tension||o.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(o,s,_={}){const j=o.length,{start:$=0,end:_e=j-1}=_,{start:et,end:tt}=s,nt=Math.max($,et),rt=Math.min(_e,tt),ot=$tt&&_e>tt;return{count:j,start:nt,loop:s.loop,ilen:rt(et+(rt?tt-ft:ft))%_e,gt=()=>{ct!==pt&&(o.lineTo(ot,pt),o.lineTo(ot,ct),o.lineTo(ot,Bt))};for(nt&&(Ut=$[Qt(0)],o.moveTo(Ut.x,Ut.y)),dt=0;dt<=tt;++dt){if(Ut=$[Qt(dt)],Ut.skip)continue;const ft=Ut.x,Ft=Ut.y,yt=ft|0;yt===st?(Ftpt&&(pt=Ft),ot=(ut*ot+ft)/++ut):(gt(),o.lineTo(ft,Ft),st=yt,ut=0,ct=pt=Ft),Bt=Ft}gt()}function _getSegmentMethod(o){const s=o.options,_=s.borderDash&&s.borderDash.length;return!o._decimated&&!o._loop&&!s.tension&&s.cubicInterpolationMode!=="monotone"&&!s.stepped&&!_?fastPathSegment:pathSegment}function _getInterpolationMethod(o){return o.stepped?_steppedInterpolation:o.tension||o.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(o,s,_,j){let $=s._path;$||($=s._path=new Path2D,s.path($,_,j)&&$.closePath()),setStyle(o,s.options),o.stroke($)}function strokePathDirect(o,s,_,j){const{segments:$,options:_e}=s,et=_getSegmentMethod(s);for(const tt of $)setStyle(o,_e,tt.style),o.beginPath(),et(o,s,tt,{start:_,end:_+j-1})&&o.closePath(),o.stroke()}const usePath2D=typeof Path2D=="function";function draw(o,s,_,j){usePath2D&&!s.options.segment?strokePathWithCache(o,s,_,j):strokePathDirect(o,s,_,j)}class LineElement extends Element{constructor(s){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,s&&Object.assign(this,s)}updateControlPoints(s,_){const j=this.options;if((j.tension||j.cubicInterpolationMode==="monotone")&&!j.stepped&&!this._pointsUpdated){const $=j.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,j,s,$,_),this._pointsUpdated=!0}}set points(s){this._points=s,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const s=this.segments,_=this.points;return s.length&&_[s[0].start]}last(){const s=this.segments,_=this.points,j=s.length;return j&&_[s[j-1].end]}interpolate(s,_){const j=this.options,$=s[_],_e=this.points,et=_boundSegments(this,{property:_,start:$,end:$});if(!et.length)return;const tt=[],nt=_getInterpolationMethod(j);let rt,ot;for(rt=0,ot=et.length;rts!=="borderDash"&&s!=="fill"});function inRange$1(o,s,_,j){const $=o.options,{[_]:_e}=o.getProps([_],j);return Math.abs(s-_e)<$.radius+$.hitRadius}class PointElement extends Element{constructor(_){super();On(this,"parsed");On(this,"skip");On(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,_&&Object.assign(this,_)}inRange(_,j,$){const _e=this.options,{x:et,y:tt}=this.getProps(["x","y"],$);return Math.pow(_-et,2)+Math.pow(j-tt,2)o.replace("rgb(","rgba(").replace(")",", 0.5)"));function getBorderColor(o){return BORDER_COLORS[o%BORDER_COLORS.length]}function getBackgroundColor(o){return BACKGROUND_COLORS[o%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(o,s){return o.borderColor=getBorderColor(s),o.backgroundColor=getBackgroundColor(s),++s}function colorizeDoughnutDataset(o,s){return o.backgroundColor=o.data.map(()=>getBorderColor(s++)),s}function colorizePolarAreaDataset(o,s){return o.backgroundColor=o.data.map(()=>getBackgroundColor(s++)),s}function getColorizer(o){let s=0;return(_,j)=>{const $=o.getDatasetMeta(j).controller;$ instanceof DoughnutController?s=colorizeDoughnutDataset(_,s):$ instanceof PolarAreaController?s=colorizePolarAreaDataset(_,s):$&&(s=colorizeDefaultDataset(_,s))}}function containsColorsDefinitions(o){let s;for(s in o)if(o[s].borderColor||o[s].backgroundColor)return!0;return!1}function containsColorsDefinition(o){return o&&(o.borderColor||o.backgroundColor)}function containsDefaultColorsDefenitions(){return defaults.borderColor!=="rgba(0,0,0,0.1)"||defaults.backgroundColor!=="rgba(0,0,0,0.1)"}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(o,s,_){if(!_.enabled)return;const{data:{datasets:j},options:$}=o.config,{elements:_e}=$,et=containsColorsDefinitions(j)||containsColorsDefinition($)||_e&&containsColorsDefinitions(_e)||containsDefaultColorsDefenitions();if(!_.forceOverride&&et)return;const tt=getColorizer(o);j.forEach(tt)}};function lttbDecimation(o,s,_,j,$){const _e=$.samples||j;if(_e>=_)return o.slice(s,s+_);const et=[],tt=(_-2)/(_e-2);let nt=0;const rt=s+_-1;let ot=s,ut,dt,Ut,st,ct;for(et[nt++]=o[ot],ut=0;ut<_e-2;ut++){let pt=0,Bt=0,Qt;const gt=Math.floor((ut+1)*tt)+1+s,ft=Math.min(Math.floor((ut+2)*tt)+1,_)+s,Ft=ft-gt;for(Qt=gt;QtUt&&(Ut=st,dt=o[Qt],ct=Qt);et[nt++]=dt,ot=ct}return et[nt++]=o[rt],et}function minMaxDecimation(o,s,_,j){let $=0,_e=0,et,tt,nt,rt,ot,ut,dt,Ut,st,ct;const pt=[],Bt=s+_-1,Qt=o[s].x,ft=o[Bt].x-Qt;for(et=s;etct&&(ct=rt,dt=et),$=(_e*$+tt.x)/++_e;else{const yt=et-1;if(!isNullOrUndef(ut)&&!isNullOrUndef(dt)){const Ct=Math.min(ut,dt),xt=Math.max(ut,dt);Ct!==Ut&&Ct!==yt&&pt.push({...o[Ct],x:$}),xt!==Ut&&xt!==yt&&pt.push({...o[xt],x:$})}et>0&&yt!==Ut&&pt.push(o[yt]),pt.push(tt),ot=Ft,_e=0,st=ct=rt,ut=dt=Ut=et}}return pt}function cleanDecimatedDataset(o){if(o._decimated){const s=o._data;delete o._decimated,delete o._data,Object.defineProperty(o,"data",{configurable:!0,enumerable:!0,writable:!0,value:s})}}function cleanDecimatedData(o){o.data.datasets.forEach(s=>{cleanDecimatedDataset(s)})}function getStartAndCountOfVisiblePointsSimplified(o,s){const _=s.length;let j=0,$;const{iScale:_e}=o,{min:et,max:tt,minDefined:nt,maxDefined:rt}=_e.getUserBounds();return nt&&(j=_limitValue(_lookupByKey(s,_e.axis,et).lo,0,_-1)),rt?$=_limitValue(_lookupByKey(s,_e.axis,tt).hi+1,j,_)-j:$=_-j,{start:j,count:$}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(o,s,_)=>{if(!_.enabled){cleanDecimatedData(o);return}const j=o.width;o.data.datasets.forEach(($,_e)=>{const{_data:et,indexAxis:tt}=$,nt=o.getDatasetMeta(_e),rt=et||$.data;if(resolve([tt,o.options.indexAxis])==="y"||!nt.controller.supportsDecimation)return;const ot=o.scales[nt.xAxisID];if(ot.type!=="linear"&&ot.type!=="time"||o.options.parsing)return;let{start:ut,count:dt}=getStartAndCountOfVisiblePointsSimplified(nt,rt);const Ut=_.threshold||4*j;if(dt<=Ut){cleanDecimatedDataset($);return}isNullOrUndef(et)&&($._data=rt,delete $.data,Object.defineProperty($,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(ct){this._data=ct}}));let st;switch(_.algorithm){case"lttb":st=lttbDecimation(rt,ut,dt,j,_);break;case"min-max":st=minMaxDecimation(rt,ut,dt,j);break;default:throw new Error(`Unsupported decimation algorithm '${_.algorithm}'`)}$._decimated=st})},destroy(o){cleanDecimatedData(o)}};function _segments(o,s,_){const j=o.segments,$=o.points,_e=s.points,et=[];for(const tt of j){let{start:nt,end:rt}=tt;rt=_findSegmentEnd(nt,rt,$);const ot=_getBounds(_,$[nt],$[rt],tt.loop);if(!s.segments){et.push({source:tt,target:ot,start:$[nt],end:$[rt]});continue}const ut=_boundSegments(s,ot);for(const dt of ut){const Ut=_getBounds(_,_e[dt.start],_e[dt.end],dt.loop),st=_boundSegment(tt,$,Ut);for(const ct of st)et.push({source:ct,target:dt,start:{[_]:_getEdge(ot,Ut,"start",Math.max)},end:{[_]:_getEdge(ot,Ut,"end",Math.min)}})}}return et}function _getBounds(o,s,_,j){if(j)return;let $=s[o],_e=_[o];return o==="angle"&&($=_normalizeAngle($),_e=_normalizeAngle(_e)),{property:o,start:$,end:_e}}function _pointsFromSegments(o,s){const{x:_=null,y:j=null}=o||{},$=s.points,_e=[];return s.segments.forEach(({start:et,end:tt})=>{tt=_findSegmentEnd(et,tt,$);const nt=$[et],rt=$[tt];j!==null?(_e.push({x:nt.x,y:j}),_e.push({x:rt.x,y:j})):_!==null&&(_e.push({x:_,y:nt.y}),_e.push({x:_,y:rt.y}))}),_e}function _findSegmentEnd(o,s,_){for(;s>o;s--){const j=_[s];if(!isNaN(j.x)&&!isNaN(j.y))break}return s}function _getEdge(o,s,_,j){return o&&s?j(o[_],s[_]):o?o[_]:s?s[_]:0}function _createBoundaryLine(o,s){let _=[],j=!1;return isArray(o)?(j=!0,_=o):_=_pointsFromSegments(o,s),_.length?new LineElement({points:_,options:{tension:0},_loop:j,_fullLoop:j}):null}function _shouldApplyFill(o){return o&&o.fill!==!1}function _resolveTarget(o,s,_){let $=o[s].fill;const _e=[s];let et;if(!_)return $;for(;$!==!1&&_e.indexOf($)===-1;){if(!isNumberFinite($))return $;if(et=o[$],!et)return!1;if(et.visible)return $;_e.push($),$=et.fill}return!1}function _decodeFill(o,s,_){const j=parseFillOption(o);if(isObject(j))return isNaN(j.value)?!1:j;let $=parseFloat(j);return isNumberFinite($)&&Math.floor($)===$?decodeTargetIndex(j[0],s,$,_):["origin","start","end","stack","shape"].indexOf(j)>=0&&j}function decodeTargetIndex(o,s,_,j){return(o==="-"||o==="+")&&(_=s+_),_===s||_<0||_>=j?!1:_}function _getTargetPixel(o,s){let _=null;return o==="start"?_=s.bottom:o==="end"?_=s.top:isObject(o)?_=s.getPixelForValue(o.value):s.getBasePixel&&(_=s.getBasePixel()),_}function _getTargetValue(o,s,_){let j;return o==="start"?j=_:o==="end"?j=s.options.reverse?s.min:s.max:isObject(o)?j=o.value:j=s.getBaseValue(),j}function parseFillOption(o){const s=o.options,_=s.fill;let j=valueOrDefault(_&&_.target,_);return j===void 0&&(j=!!s.backgroundColor),j===!1||j===null?!1:j===!0?"origin":j}function _buildStackLine(o){const{scale:s,index:_,line:j}=o,$=[],_e=j.segments,et=j.points,tt=getLinesBelow(s,_);tt.push(_createBoundaryLine({x:null,y:s.bottom},j));for(let nt=0;nt<_e.length;nt++){const rt=_e[nt];for(let ot=rt.start;ot<=rt.end;ot++)addPointsBelow($,et[ot],tt)}return new LineElement({points:$,options:{}})}function getLinesBelow(o,s){const _=[],j=o.getMatchingVisibleMetas("line");for(let $=0;$=0;--et){const tt=$[et].$filler;tt&&(tt.line.updateControlPoints(_e,tt.axis),j&&tt.fill&&_drawfill(o.ctx,tt,_e))}},beforeDatasetsDraw(o,s,_){if(_.drawTime!=="beforeDatasetsDraw")return;const j=o.getSortedVisibleDatasetMetas();for(let $=j.length-1;$>=0;--$){const _e=j[$].$filler;_shouldApplyFill(_e)&&_drawfill(o.ctx,_e,o.chartArea)}},beforeDatasetDraw(o,s,_){const j=s.meta.$filler;!_shouldApplyFill(j)||_.drawTime!=="beforeDatasetDraw"||_drawfill(o.ctx,j,o.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(o,s)=>{let{boxHeight:_=s,boxWidth:j=s}=o;return o.usePointStyle&&(_=Math.min(_,s),j=o.pointStyleWidth||Math.min(j,s)),{boxWidth:j,boxHeight:_,itemHeight:Math.max(s,_)}},itemsEqual=(o,s)=>o!==null&&s!==null&&o.datasetIndex===s.datasetIndex&&o.index===s.index;class Legend extends Element{constructor(s){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=s.chart,this.options=s.options,this.ctx=s.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(s,_,j){this.maxWidth=s,this.maxHeight=_,this._margins=j,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const s=this.options.labels||{};let _=callback(s.generateLabels,[this.chart],this)||[];s.filter&&(_=_.filter(j=>s.filter(j,this.chart.data))),s.sort&&(_=_.sort((j,$)=>s.sort(j,$,this.chart.data))),this.options.reverse&&_.reverse(),this.legendItems=_}fit(){const{options:s,ctx:_}=this;if(!s.display){this.width=this.height=0;return}const j=s.labels,$=toFont(j.font),_e=$.size,et=this._computeTitleHeight(),{boxWidth:tt,itemHeight:nt}=getBoxSize(j,_e);let rt,ot;_.font=$.string,this.isHorizontal()?(rt=this.maxWidth,ot=this._fitRows(et,_e,tt,nt)+10):(ot=this.maxHeight,rt=this._fitCols(et,$,tt,nt)+10),this.width=Math.min(rt,s.maxWidth||this.maxWidth),this.height=Math.min(ot,s.maxHeight||this.maxHeight)}_fitRows(s,_,j,$){const{ctx:_e,maxWidth:et,options:{labels:{padding:tt}}}=this,nt=this.legendHitBoxes=[],rt=this.lineWidths=[0],ot=$+tt;let ut=s;_e.textAlign="left",_e.textBaseline="middle";let dt=-1,Ut=-ot;return this.legendItems.forEach((st,ct)=>{const pt=j+_/2+_e.measureText(st.text).width;(ct===0||rt[rt.length-1]+pt+2*tt>et)&&(ut+=ot,rt[rt.length-(ct>0?0:1)]=0,Ut+=ot,dt++),nt[ct]={left:0,top:Ut,row:dt,width:pt,height:$},rt[rt.length-1]+=pt+tt}),ut}_fitCols(s,_,j,$){const{ctx:_e,maxHeight:et,options:{labels:{padding:tt}}}=this,nt=this.legendHitBoxes=[],rt=this.columnSizes=[],ot=et-s;let ut=tt,dt=0,Ut=0,st=0,ct=0;return this.legendItems.forEach((pt,Bt)=>{const{itemWidth:Qt,itemHeight:gt}=calculateItemSize(j,_,_e,pt,$);Bt>0&&Ut+gt+2*tt>ot&&(ut+=dt+tt,rt.push({width:dt,height:Ut}),st+=dt+tt,ct++,dt=Ut=0),nt[Bt]={left:st,top:Ut,col:ct,width:Qt,height:gt},dt=Math.max(dt,Qt),Ut+=gt+tt}),ut+=dt,rt.push({width:dt,height:Ut}),ut}adjustHitBoxes(){if(!this.options.display)return;const s=this._computeTitleHeight(),{legendHitBoxes:_,options:{align:j,labels:{padding:$},rtl:_e}}=this,et=getRtlAdapter(_e,this.left,this.width);if(this.isHorizontal()){let tt=0,nt=_alignStartEnd(j,this.left+$,this.right-this.lineWidths[tt]);for(const rt of _)tt!==rt.row&&(tt=rt.row,nt=_alignStartEnd(j,this.left+$,this.right-this.lineWidths[tt])),rt.top+=this.top+s+$,rt.left=et.leftForLtr(et.x(nt),rt.width),nt+=rt.width+$}else{let tt=0,nt=_alignStartEnd(j,this.top+s+$,this.bottom-this.columnSizes[tt].height);for(const rt of _)rt.col!==tt&&(tt=rt.col,nt=_alignStartEnd(j,this.top+s+$,this.bottom-this.columnSizes[tt].height)),rt.top=nt,rt.left+=this.left+$,rt.left=et.leftForLtr(et.x(rt.left),rt.width),nt+=rt.height+$}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const s=this.ctx;clipArea(s,this),this._draw(),unclipArea(s)}}_draw(){const{options:s,columnSizes:_,lineWidths:j,ctx:$}=this,{align:_e,labels:et}=s,tt=defaults.color,nt=getRtlAdapter(s.rtl,this.left,this.width),rt=toFont(et.font),{padding:ot}=et,ut=rt.size,dt=ut/2;let Ut;this.drawTitle(),$.textAlign=nt.textAlign("left"),$.textBaseline="middle",$.lineWidth=.5,$.font=rt.string;const{boxWidth:st,boxHeight:ct,itemHeight:pt}=getBoxSize(et,ut),Bt=function(yt,Ct,xt){if(isNaN(st)||st<=0||isNaN(ct)||ct<0)return;$.save();const ht=valueOrDefault(xt.lineWidth,1);if($.fillStyle=valueOrDefault(xt.fillStyle,tt),$.lineCap=valueOrDefault(xt.lineCap,"butt"),$.lineDashOffset=valueOrDefault(xt.lineDashOffset,0),$.lineJoin=valueOrDefault(xt.lineJoin,"miter"),$.lineWidth=ht,$.strokeStyle=valueOrDefault(xt.strokeStyle,tt),$.setLineDash(valueOrDefault(xt.lineDash,[])),et.usePointStyle){const mt={radius:ct*Math.SQRT2/2,pointStyle:xt.pointStyle,rotation:xt.rotation,borderWidth:ht},It=nt.xPlus(yt,st/2),vt=Ct+dt;drawPointLegend($,mt,It,vt,et.pointStyleWidth&&st)}else{const mt=Ct+Math.max((ut-ct)/2,0),It=nt.leftForLtr(yt,st),vt=toTRBLCorners(xt.borderRadius);$.beginPath(),Object.values(vt).some(Tt=>Tt!==0)?addRoundedRectPath($,{x:It,y:mt,w:st,h:ct,radius:vt}):$.rect(It,mt,st,ct),$.fill(),ht!==0&&$.stroke()}$.restore()},Qt=function(yt,Ct,xt){renderText($,xt.text,yt,Ct+pt/2,rt,{strikethrough:xt.hidden,textAlign:nt.textAlign(xt.textAlign)})},gt=this.isHorizontal(),ft=this._computeTitleHeight();gt?Ut={x:_alignStartEnd(_e,this.left+ot,this.right-j[0]),y:this.top+ot+ft,line:0}:Ut={x:this.left+ot,y:_alignStartEnd(_e,this.top+ft+ot,this.bottom-_[0].height),line:0},overrideTextDirection(this.ctx,s.textDirection);const Ft=pt+ot;this.legendItems.forEach((yt,Ct)=>{$.strokeStyle=yt.fontColor,$.fillStyle=yt.fontColor;const xt=$.measureText(yt.text).width,ht=nt.textAlign(yt.textAlign||(yt.textAlign=et.textAlign)),mt=st+dt+xt;let It=Ut.x,vt=Ut.y;nt.setWidth(this.width),gt?Ct>0&&It+mt+ot>this.right&&(vt=Ut.y+=Ft,Ut.line++,It=Ut.x=_alignStartEnd(_e,this.left+ot,this.right-j[Ut.line])):Ct>0&&vt+Ft>this.bottom&&(It=Ut.x=It+_[Ut.line].width+ot,Ut.line++,vt=Ut.y=_alignStartEnd(_e,this.top+ft+ot,this.bottom-_[Ut.line].height));const Tt=nt.x(It);if(Bt(Tt,vt,yt),It=_textX(ht,It+st+dt,gt?It+mt:this.right,s.rtl),Qt(nt.x(It),vt,yt),gt)Ut.x+=mt+ot;else if(typeof yt.text!="string"){const Ot=rt.lineHeight;Ut.y+=calculateLegendItemHeight(yt,Ot)+ot}else Ut.y+=Ft}),restoreTextDirection(this.ctx,s.textDirection)}drawTitle(){const s=this.options,_=s.title,j=toFont(_.font),$=toPadding(_.padding);if(!_.display)return;const _e=getRtlAdapter(s.rtl,this.left,this.width),et=this.ctx,tt=_.position,nt=j.size/2,rt=$.top+nt;let ot,ut=this.left,dt=this.width;if(this.isHorizontal())dt=Math.max(...this.lineWidths),ot=this.top+rt,ut=_alignStartEnd(s.align,ut,this.right-dt);else{const st=this.columnSizes.reduce((ct,pt)=>Math.max(ct,pt.height),0);ot=rt+_alignStartEnd(s.align,this.top,this.bottom-st-s.labels.padding-this._computeTitleHeight())}const Ut=_alignStartEnd(tt,ut,ut+dt);et.textAlign=_e.textAlign(_toLeftRightCenter(tt)),et.textBaseline="middle",et.strokeStyle=_.color,et.fillStyle=_.color,et.font=j.string,renderText(et,_.text,Ut,ot,j)}_computeTitleHeight(){const s=this.options.title,_=toFont(s.font),j=toPadding(s.padding);return s.display?_.lineHeight+j.height:0}_getLegendItemAt(s,_){let j,$,_e;if(_isBetween(s,this.left,this.right)&&_isBetween(_,this.top,this.bottom)){for(_e=this.legendHitBoxes,j=0;j<_e.length;++j)if($=_e[j],_isBetween(s,$.left,$.left+$.width)&&_isBetween(_,$.top,$.top+$.height))return this.legendItems[j]}return null}handleEvent(s){const _=this.options;if(!isListened(s.type,_))return;const j=this._getLegendItemAt(s.x,s.y);if(s.type==="mousemove"||s.type==="mouseout"){const $=this._hoveredItem,_e=itemsEqual($,j);$&&!_e&&callback(_.onLeave,[s,$,this],this),this._hoveredItem=j,j&&!_e&&callback(_.onHover,[s,j,this],this)}else j&&callback(_.onClick,[s,j,this],this)}}function calculateItemSize(o,s,_,j,$){const _e=calculateItemWidth(j,o,s,_),et=calculateItemHeight($,j,s.lineHeight);return{itemWidth:_e,itemHeight:et}}function calculateItemWidth(o,s,_,j){let $=o.text;return $&&typeof $!="string"&&($=$.reduce((_e,et)=>_e.length>et.length?_e:et)),s+_.size/2+j.measureText($).width}function calculateItemHeight(o,s,_){let j=o;return typeof s.text!="string"&&(j=calculateLegendItemHeight(s,_)),j}function calculateLegendItemHeight(o,s){const _=o.text?o.text.length:0;return s*_}function isListened(o,s){return!!((o==="mousemove"||o==="mouseout")&&(s.onHover||s.onLeave)||s.onClick&&(o==="click"||o==="mouseup"))}var plugin_legend={id:"legend",_element:Legend,start(o,s,_){const j=o.legend=new Legend({ctx:o.ctx,options:_,chart:o});layouts.configure(o,j,_),layouts.addBox(o,j)},stop(o){layouts.removeBox(o,o.legend),delete o.legend},beforeUpdate(o,s,_){const j=o.legend;layouts.configure(o,j,_),j.options=_},afterUpdate(o){const s=o.legend;s.buildLabels(),s.adjustHitBoxes()},afterEvent(o,s){s.replay||o.legend.handleEvent(s.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(o,s,_){const j=s.datasetIndex,$=_.chart;$.isDatasetVisible(j)?($.hide(j),s.hidden=!0):($.show(j),s.hidden=!1)},onHover:null,onLeave:null,labels:{color:o=>o.chart.options.color,boxWidth:40,padding:10,generateLabels(o){const s=o.data.datasets,{labels:{usePointStyle:_,pointStyle:j,textAlign:$,color:_e,useBorderRadius:et,borderRadius:tt}}=o.legend.options;return o._getSortedDatasetMetas().map(nt=>{const rt=nt.controller.getStyle(_?0:void 0),ot=toPadding(rt.borderWidth);return{text:s[nt.index].label,fillStyle:rt.backgroundColor,fontColor:_e,hidden:!nt.visible,lineCap:rt.borderCapStyle,lineDash:rt.borderDash,lineDashOffset:rt.borderDashOffset,lineJoin:rt.borderJoinStyle,lineWidth:(ot.width+ot.height)/4,strokeStyle:rt.borderColor,pointStyle:j||rt.pointStyle,rotation:rt.rotation,textAlign:$||rt.textAlign,borderRadius:et&&(tt||rt.borderRadius),datasetIndex:nt.index}},this)}},title:{color:o=>o.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:o=>!o.startsWith("on"),labels:{_scriptable:o=>!["generateLabels","filter","sort"].includes(o)}}};class Title extends Element{constructor(s){super(),this.chart=s.chart,this.options=s.options,this.ctx=s.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(s,_){const j=this.options;if(this.left=0,this.top=0,!j.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=s,this.height=this.bottom=_;const $=isArray(j.text)?j.text.length:1;this._padding=toPadding(j.padding);const _e=$*toFont(j.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=_e:this.width=_e}isHorizontal(){const s=this.options.position;return s==="top"||s==="bottom"}_drawArgs(s){const{top:_,left:j,bottom:$,right:_e,options:et}=this,tt=et.align;let nt=0,rt,ot,ut;return this.isHorizontal()?(ot=_alignStartEnd(tt,j,_e),ut=_+s,rt=_e-j):(et.position==="left"?(ot=j+s,ut=_alignStartEnd(tt,$,_),nt=PI*-.5):(ot=_e-s,ut=_alignStartEnd(tt,_,$),nt=PI*.5),rt=$-_),{titleX:ot,titleY:ut,maxWidth:rt,rotation:nt}}draw(){const s=this.ctx,_=this.options;if(!_.display)return;const j=toFont(_.font),_e=j.lineHeight/2+this._padding.top,{titleX:et,titleY:tt,maxWidth:nt,rotation:rt}=this._drawArgs(_e);renderText(s,_.text,0,0,j,{color:_.color,maxWidth:nt,rotation:rt,textAlign:_toLeftRightCenter(_.align),textBaseline:"middle",translation:[et,tt]})}}function createTitle(o,s){const _=new Title({ctx:o.ctx,options:s,chart:o});layouts.configure(o,_,s),layouts.addBox(o,_),o.titleBlock=_}var plugin_title={id:"title",_element:Title,start(o,s,_){createTitle(o,_)},stop(o){const s=o.titleBlock;layouts.removeBox(o,s),delete o.titleBlock},beforeUpdate(o,s,_){const j=o.titleBlock;layouts.configure(o,j,_),j.options=_},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const map=new WeakMap;var plugin_subtitle={id:"subtitle",start(o,s,_){const j=new Title({ctx:o.ctx,options:_,chart:o});layouts.configure(o,j,_),layouts.addBox(o,j),map.set(o,j)},stop(o){layouts.removeBox(o,map.get(o)),map.delete(o)},beforeUpdate(o,s,_){const j=map.get(o);layouts.configure(o,j,_),j.options=_},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const positioners={average(o){if(!o.length)return!1;let s,_,j=new Set,$=0,_e=0;for(s=0,_=o.length;s<_;++s){const tt=o[s].element;if(tt&&tt.hasValue()){const nt=tt.tooltipPosition();j.add(nt.x),$+=nt.y,++_e}}return _e===0||j.size===0?!1:{x:[...j].reduce((tt,nt)=>tt+nt)/j.size,y:$/_e}},nearest(o,s){if(!o.length)return!1;let _=s.x,j=s.y,$=Number.POSITIVE_INFINITY,_e,et,tt;for(_e=0,et=o.length;_e-1?o.split(` -`):o}function createTooltipItem(o,s){const{element:_,datasetIndex:j,index:$}=s,_e=o.getDatasetMeta(j).controller,{label:et,value:tt}=_e.getLabelAndValue($);return{chart:o,label:et,parsed:_e.getParsed($),raw:o.data.datasets[j].data[$],formattedValue:tt,dataset:_e.getDataset(),dataIndex:$,datasetIndex:j,element:_}}function getTooltipSize(o,s){const _=o.chart.ctx,{body:j,footer:$,title:_e}=o,{boxWidth:et,boxHeight:tt}=s,nt=toFont(s.bodyFont),rt=toFont(s.titleFont),ot=toFont(s.footerFont),ut=_e.length,dt=$.length,Ut=j.length,st=toPadding(s.padding);let ct=st.height,pt=0,Bt=j.reduce((ft,Ft)=>ft+Ft.before.length+Ft.lines.length+Ft.after.length,0);if(Bt+=o.beforeBody.length+o.afterBody.length,ut&&(ct+=ut*rt.lineHeight+(ut-1)*s.titleSpacing+s.titleMarginBottom),Bt){const ft=s.displayColors?Math.max(tt,nt.lineHeight):nt.lineHeight;ct+=Ut*ft+(Bt-Ut)*nt.lineHeight+(Bt-1)*s.bodySpacing}dt&&(ct+=s.footerMarginTop+dt*ot.lineHeight+(dt-1)*s.footerSpacing);let Qt=0;const gt=function(ft){pt=Math.max(pt,_.measureText(ft).width+Qt)};return _.save(),_.font=rt.string,each(o.title,gt),_.font=nt.string,each(o.beforeBody.concat(o.afterBody),gt),Qt=s.displayColors?et+2+s.boxPadding:0,each(j,ft=>{each(ft.before,gt),each(ft.lines,gt),each(ft.after,gt)}),Qt=0,_.font=ot.string,each(o.footer,gt),_.restore(),pt+=st.width,{width:pt,height:ct}}function determineYAlign(o,s){const{y:_,height:j}=s;return _o.height-j/2?"bottom":"center"}function doesNotFitWithAlign(o,s,_,j){const{x:$,width:_e}=j,et=_.caretSize+_.caretPadding;if(o==="left"&&$+_e+et>s.width||o==="right"&&$-_e-et<0)return!0}function determineXAlign(o,s,_,j){const{x:$,width:_e}=_,{width:et,chartArea:{left:tt,right:nt}}=o;let rt="center";return j==="center"?rt=$<=(tt+nt)/2?"left":"right":$<=_e/2?rt="left":$>=et-_e/2&&(rt="right"),doesNotFitWithAlign(rt,o,s,_)&&(rt="center"),rt}function determineAlignment(o,s,_){const j=_.yAlign||s.yAlign||determineYAlign(o,_);return{xAlign:_.xAlign||s.xAlign||determineXAlign(o,s,_,j),yAlign:j}}function alignX(o,s){let{x:_,width:j}=o;return s==="right"?_-=j:s==="center"&&(_-=j/2),_}function alignY(o,s,_){let{y:j,height:$}=o;return s==="top"?j+=_:s==="bottom"?j-=$+_:j-=$/2,j}function getBackgroundPoint(o,s,_,j){const{caretSize:$,caretPadding:_e,cornerRadius:et}=o,{xAlign:tt,yAlign:nt}=_,rt=$+_e,{topLeft:ot,topRight:ut,bottomLeft:dt,bottomRight:Ut}=toTRBLCorners(et);let st=alignX(s,tt);const ct=alignY(s,nt,rt);return nt==="center"?tt==="left"?st+=rt:tt==="right"&&(st-=rt):tt==="left"?st-=Math.max(ot,dt)+$:tt==="right"&&(st+=Math.max(ut,Ut)+$),{x:_limitValue(st,0,j.width-s.width),y:_limitValue(ct,0,j.height-s.height)}}function getAlignedX(o,s,_){const j=toPadding(_.padding);return s==="center"?o.x+o.width/2:s==="right"?o.x+o.width-j.right:o.x+j.left}function getBeforeAfterBodyLines(o){return pushOrConcat([],splitNewlines(o))}function createTooltipContext(o,s,_){return createContext(o,{tooltip:s,tooltipItems:_,type:"tooltip"})}function overrideCallbacks(o,s){const _=s&&s.dataset&&s.dataset.tooltip&&s.dataset.tooltip.callbacks;return _?o.override(_):o}const defaultCallbacks={beforeTitle:noop,title(o){if(o.length>0){const s=o[0],_=s.chart.data.labels,j=_?_.length:0;if(this&&this.options&&this.options.mode==="dataset")return s.dataset.label||"";if(s.label)return s.label;if(j>0&&s.dataIndex"u"?defaultCallbacks[s].call(_,j):$}class Tooltip extends Element{constructor(s){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=s.chart,this.options=s.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(s){this.options=s,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const s=this._cachedAnimations;if(s)return s;const _=this.chart,j=this.options.setContext(this.getContext()),$=j.enabled&&_.options.animation&&j.animations,_e=new Animations(this.chart,$);return $._cacheable&&(this._cachedAnimations=Object.freeze(_e)),_e}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(s,_){const{callbacks:j}=_,$=invokeCallbackWithFallback(j,"beforeTitle",this,s),_e=invokeCallbackWithFallback(j,"title",this,s),et=invokeCallbackWithFallback(j,"afterTitle",this,s);let tt=[];return tt=pushOrConcat(tt,splitNewlines($)),tt=pushOrConcat(tt,splitNewlines(_e)),tt=pushOrConcat(tt,splitNewlines(et)),tt}getBeforeBody(s,_){return getBeforeAfterBodyLines(invokeCallbackWithFallback(_.callbacks,"beforeBody",this,s))}getBody(s,_){const{callbacks:j}=_,$=[];return each(s,_e=>{const et={before:[],lines:[],after:[]},tt=overrideCallbacks(j,_e);pushOrConcat(et.before,splitNewlines(invokeCallbackWithFallback(tt,"beforeLabel",this,_e))),pushOrConcat(et.lines,invokeCallbackWithFallback(tt,"label",this,_e)),pushOrConcat(et.after,splitNewlines(invokeCallbackWithFallback(tt,"afterLabel",this,_e))),$.push(et)}),$}getAfterBody(s,_){return getBeforeAfterBodyLines(invokeCallbackWithFallback(_.callbacks,"afterBody",this,s))}getFooter(s,_){const{callbacks:j}=_,$=invokeCallbackWithFallback(j,"beforeFooter",this,s),_e=invokeCallbackWithFallback(j,"footer",this,s),et=invokeCallbackWithFallback(j,"afterFooter",this,s);let tt=[];return tt=pushOrConcat(tt,splitNewlines($)),tt=pushOrConcat(tt,splitNewlines(_e)),tt=pushOrConcat(tt,splitNewlines(et)),tt}_createItems(s){const _=this._active,j=this.chart.data,$=[],_e=[],et=[];let tt=[],nt,rt;for(nt=0,rt=_.length;nts.filter(ot,ut,dt,j))),s.itemSort&&(tt=tt.sort((ot,ut)=>s.itemSort(ot,ut,j))),each(tt,ot=>{const ut=overrideCallbacks(s.callbacks,ot);$.push(invokeCallbackWithFallback(ut,"labelColor",this,ot)),_e.push(invokeCallbackWithFallback(ut,"labelPointStyle",this,ot)),et.push(invokeCallbackWithFallback(ut,"labelTextColor",this,ot))}),this.labelColors=$,this.labelPointStyles=_e,this.labelTextColors=et,this.dataPoints=tt,tt}update(s,_){const j=this.options.setContext(this.getContext()),$=this._active;let _e,et=[];if(!$.length)this.opacity!==0&&(_e={opacity:0});else{const tt=positioners[j.position].call(this,$,this._eventPosition);et=this._createItems(j),this.title=this.getTitle(et,j),this.beforeBody=this.getBeforeBody(et,j),this.body=this.getBody(et,j),this.afterBody=this.getAfterBody(et,j),this.footer=this.getFooter(et,j);const nt=this._size=getTooltipSize(this,j),rt=Object.assign({},tt,nt),ot=determineAlignment(this.chart,j,rt),ut=getBackgroundPoint(j,rt,ot,this.chart);this.xAlign=ot.xAlign,this.yAlign=ot.yAlign,_e={opacity:1,x:ut.x,y:ut.y,width:nt.width,height:nt.height,caretX:tt.x,caretY:tt.y}}this._tooltipItems=et,this.$context=void 0,_e&&this._resolveAnimations().update(this,_e),s&&j.external&&j.external.call(this,{chart:this.chart,tooltip:this,replay:_})}drawCaret(s,_,j,$){const _e=this.getCaretPosition(s,j,$);_.lineTo(_e.x1,_e.y1),_.lineTo(_e.x2,_e.y2),_.lineTo(_e.x3,_e.y3)}getCaretPosition(s,_,j){const{xAlign:$,yAlign:_e}=this,{caretSize:et,cornerRadius:tt}=j,{topLeft:nt,topRight:rt,bottomLeft:ot,bottomRight:ut}=toTRBLCorners(tt),{x:dt,y:Ut}=s,{width:st,height:ct}=_;let pt,Bt,Qt,gt,ft,Ft;return _e==="center"?(ft=Ut+ct/2,$==="left"?(pt=dt,Bt=pt-et,gt=ft+et,Ft=ft-et):(pt=dt+st,Bt=pt+et,gt=ft-et,Ft=ft+et),Qt=pt):($==="left"?Bt=dt+Math.max(nt,ot)+et:$==="right"?Bt=dt+st-Math.max(rt,ut)-et:Bt=this.caretX,_e==="top"?(gt=Ut,ft=gt-et,pt=Bt-et,Qt=Bt+et):(gt=Ut+ct,ft=gt+et,pt=Bt+et,Qt=Bt-et),Ft=gt),{x1:pt,x2:Bt,x3:Qt,y1:gt,y2:ft,y3:Ft}}drawTitle(s,_,j){const $=this.title,_e=$.length;let et,tt,nt;if(_e){const rt=getRtlAdapter(j.rtl,this.x,this.width);for(s.x=getAlignedX(this,j.titleAlign,j),_.textAlign=rt.textAlign(j.titleAlign),_.textBaseline="middle",et=toFont(j.titleFont),tt=j.titleSpacing,_.fillStyle=j.titleColor,_.font=et.string,nt=0;nt<_e;++nt)_.fillText($[nt],rt.x(s.x),s.y+et.lineHeight/2),s.y+=et.lineHeight+tt,nt+1===_e&&(s.y+=j.titleMarginBottom-tt)}}_drawColorBox(s,_,j,$,_e){const et=this.labelColors[j],tt=this.labelPointStyles[j],{boxHeight:nt,boxWidth:rt}=_e,ot=toFont(_e.bodyFont),ut=getAlignedX(this,"left",_e),dt=$.x(ut),Ut=ntQt!==0)?(s.beginPath(),s.fillStyle=_e.multiKeyBackground,addRoundedRectPath(s,{x:ct,y:st,w:rt,h:nt,radius:Bt}),s.fill(),s.stroke(),s.fillStyle=et.backgroundColor,s.beginPath(),addRoundedRectPath(s,{x:pt,y:st+1,w:rt-2,h:nt-2,radius:Bt}),s.fill()):(s.fillStyle=_e.multiKeyBackground,s.fillRect(ct,st,rt,nt),s.strokeRect(ct,st,rt,nt),s.fillStyle=et.backgroundColor,s.fillRect(pt,st+1,rt-2,nt-2))}s.fillStyle=this.labelTextColors[j]}drawBody(s,_,j){const{body:$}=this,{bodySpacing:_e,bodyAlign:et,displayColors:tt,boxHeight:nt,boxWidth:rt,boxPadding:ot}=j,ut=toFont(j.bodyFont);let dt=ut.lineHeight,Ut=0;const st=getRtlAdapter(j.rtl,this.x,this.width),ct=function(xt){_.fillText(xt,st.x(s.x+Ut),s.y+dt/2),s.y+=dt+_e},pt=st.textAlign(et);let Bt,Qt,gt,ft,Ft,yt,Ct;for(_.textAlign=et,_.textBaseline="middle",_.font=ut.string,s.x=getAlignedX(this,pt,j),_.fillStyle=j.bodyColor,each(this.beforeBody,ct),Ut=tt&&pt!=="right"?et==="center"?rt/2+ot:rt+2+ot:0,ft=0,yt=$.length;ft0&&_.stroke()}_updateAnimationTarget(s){const _=this.chart,j=this.$animations,$=j&&j.x,_e=j&&j.y;if($||_e){const et=positioners[s.position].call(this,this._active,this._eventPosition);if(!et)return;const tt=this._size=getTooltipSize(this,s),nt=Object.assign({},et,this._size),rt=determineAlignment(_,s,nt),ot=getBackgroundPoint(s,nt,rt,_);($._to!==ot.x||_e._to!==ot.y)&&(this.xAlign=rt.xAlign,this.yAlign=rt.yAlign,this.width=tt.width,this.height=tt.height,this.caretX=et.x,this.caretY=et.y,this._resolveAnimations().update(this,ot))}}_willRender(){return!!this.opacity}draw(s){const _=this.options.setContext(this.getContext());let j=this.opacity;if(!j)return;this._updateAnimationTarget(_);const $={width:this.width,height:this.height},_e={x:this.x,y:this.y};j=Math.abs(j)<.001?0:j;const et=toPadding(_.padding),tt=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;_.enabled&&tt&&(s.save(),s.globalAlpha=j,this.drawBackground(_e,s,$,_),overrideTextDirection(s,_.textDirection),_e.y+=et.top,this.drawTitle(_e,s,_),this.drawBody(_e,s,_),this.drawFooter(_e,s,_),restoreTextDirection(s,_.textDirection),s.restore())}getActiveElements(){return this._active||[]}setActiveElements(s,_){const j=this._active,$=s.map(({datasetIndex:tt,index:nt})=>{const rt=this.chart.getDatasetMeta(tt);if(!rt)throw new Error("Cannot find a dataset at index "+tt);return{datasetIndex:tt,element:rt.data[nt],index:nt}}),_e=!_elementsEqual(j,$),et=this._positionChanged($,_);(_e||et)&&(this._active=$,this._eventPosition=_,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(s,_,j=!0){if(_&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const $=this.options,_e=this._active||[],et=this._getActiveElements(s,_e,_,j),tt=this._positionChanged(et,s),nt=_||!_elementsEqual(et,_e)||tt;return nt&&(this._active=et,($.enabled||$.external)&&(this._eventPosition={x:s.x,y:s.y},this.update(!0,_))),nt}_getActiveElements(s,_,j,$){const _e=this.options;if(s.type==="mouseout")return[];if(!$)return _.filter(tt=>this.chart.data.datasets[tt.datasetIndex]&&this.chart.getDatasetMeta(tt.datasetIndex).controller.getParsed(tt.index)!==void 0);const et=this.chart.getElementsAtEventForMode(s,_e.mode,_e,j);return _e.reverse&&et.reverse(),et}_positionChanged(s,_){const{caretX:j,caretY:$,options:_e}=this,et=positioners[_e.position].call(this,s,_);return et!==!1&&(j!==et.x||$!==et.y)}}On(Tooltip,"positioners",positioners);var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(o,s,_){_&&(o.tooltip=new Tooltip({chart:o,options:_}))},beforeUpdate(o,s,_){o.tooltip&&o.tooltip.initialize(_)},reset(o,s,_){o.tooltip&&o.tooltip.initialize(_)},afterDraw(o){const s=o.tooltip;if(s&&s._willRender()){const _={tooltip:s};if(o.notifyPlugins("beforeTooltipDraw",{..._,cancelable:!0})===!1)return;s.draw(o.ctx),o.notifyPlugins("afterTooltipDraw",_)}},afterEvent(o,s){if(o.tooltip){const _=s.replay;o.tooltip.handleEvent(s.event,_,s.inChartArea)&&(s.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(o,s)=>s.bodyFont.size,boxWidth:(o,s)=>s.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:o=>o!=="filter"&&o!=="itemSort"&&o!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Colors:plugin_colors,Decimation:plugin_decimation,Filler:index$1,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip});const addIfString=(o,s,_,j)=>(typeof s=="string"?(_=o.push(s)-1,j.unshift({index:_,label:s})):isNaN(s)&&(_=null),_);function findOrAddLabel(o,s,_,j){const $=o.indexOf(s);if($===-1)return addIfString(o,s,_,j);const _e=o.lastIndexOf(s);return $!==_e?_:$}const validIndex=(o,s)=>o===null?null:_limitValue(Math.round(o),0,s);function _getLabelForValue(o){const s=this.getLabels();return o>=0&&o_.length-1?null:this.getPixelForValue(_[s].value)}getValueForPixel(s){return Math.round(this._startValue+this.getDecimalForPixel(s)*this._valueRange)}getBasePixel(){return this.bottom}}On(CategoryScale,"id","category"),On(CategoryScale,"defaults",{ticks:{callback:_getLabelForValue}});function generateTicks$1(o,s){const _=[],{bounds:$,step:_e,min:et,max:tt,precision:nt,count:rt,maxTicks:ot,maxDigits:ut,includeBounds:dt}=o,Ut=_e||1,st=ot-1,{min:ct,max:pt}=s,Bt=!isNullOrUndef(et),Qt=!isNullOrUndef(tt),gt=!isNullOrUndef(rt),ft=(pt-ct)/(ut+1);let Ft=niceNum((pt-ct)/st/Ut)*Ut,yt,Ct,xt,ht;if(Ft<1e-14&&!Bt&&!Qt)return[{value:ct},{value:pt}];ht=Math.ceil(pt/Ft)-Math.floor(ct/Ft),ht>st&&(Ft=niceNum(ht*Ft/st/Ut)*Ut),isNullOrUndef(nt)||(yt=Math.pow(10,nt),Ft=Math.ceil(Ft*yt)/yt),$==="ticks"?(Ct=Math.floor(ct/Ft)*Ft,xt=Math.ceil(pt/Ft)*Ft):(Ct=ct,xt=pt),Bt&&Qt&&_e&&almostWhole((tt-et)/_e,Ft/1e3)?(ht=Math.round(Math.min((tt-et)/Ft,ot)),Ft=(tt-et)/ht,Ct=et,xt=tt):gt?(Ct=Bt?et:Ct,xt=Qt?tt:xt,ht=rt-1,Ft=(xt-Ct)/ht):(ht=(xt-Ct)/Ft,almostEquals(ht,Math.round(ht),Ft/1e3)?ht=Math.round(ht):ht=Math.ceil(ht));const mt=Math.max(_decimalPlaces(Ft),_decimalPlaces(Ct));yt=Math.pow(10,isNullOrUndef(nt)?mt:nt),Ct=Math.round(Ct*yt)/yt,xt=Math.round(xt*yt)/yt;let It=0;for(Bt&&(dt&&Ct!==et?(_.push({value:et}),Cttt)break;_.push({value:vt})}return Qt&&dt&&xt!==tt?_.length&&almostEquals(_[_.length-1].value,tt,relativeLabelSize(tt,ft,o))?_[_.length-1].value=tt:_.push({value:tt}):(!Qt||xt===tt)&&_.push({value:xt}),_}function relativeLabelSize(o,s,{horizontal:_,minRotation:j}){const $=toRadians(j),_e=(_?Math.sin($):Math.cos($))||.001,et=.75*s*(""+o).length;return Math.min(s/_e,et)}class LinearScaleBase extends Scale{constructor(s){super(s),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(s,_){return isNullOrUndef(s)||(typeof s=="number"||s instanceof Number)&&!isFinite(+s)?null:+s}handleTickRangeOptions(){const{beginAtZero:s}=this.options,{minDefined:_,maxDefined:j}=this.getUserBounds();let{min:$,max:_e}=this;const et=nt=>$=_?$:nt,tt=nt=>_e=j?_e:nt;if(s){const nt=sign($),rt=sign(_e);nt<0&&rt<0?tt(0):nt>0&&rt>0&&et(0)}if($===_e){let nt=_e===0?1:Math.abs(_e*.05);tt(_e+nt),s||et($-nt)}this.min=$,this.max=_e}getTickLimit(){const s=this.options.ticks;let{maxTicksLimit:_,stepSize:j}=s,$;return j?($=Math.ceil(this.max/j)-Math.floor(this.min/j)+1,$>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${j} would result generating up to ${$} ticks. Limiting to 1000.`),$=1e3)):($=this.computeTickLimit(),_=_||11),_&&($=Math.min(_,$)),$}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const s=this.options,_=s.ticks;let j=this.getTickLimit();j=Math.max(2,j);const $={maxTicks:j,bounds:s.bounds,min:s.min,max:s.max,precision:_.precision,step:_.stepSize,count:_.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:_.minRotation||0,includeBounds:_.includeBounds!==!1},_e=this._range||this,et=generateTicks$1($,_e);return s.bounds==="ticks"&&_setMinAndMaxByKey(et,this,"value"),s.reverse?(et.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),et}configure(){const s=this.ticks;let _=this.min,j=this.max;if(super.configure(),this.options.offset&&s.length){const $=(j-_)/Math.max(s.length-1,1)/2;_-=$,j+=$}this._startValue=_,this._endValue=j,this._valueRange=j-_}getLabelForValue(s){return formatNumber(s,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{determineDataLimits(){const{min:s,max:_}=this.getMinMax(!0);this.min=isNumberFinite(s)?s:0,this.max=isNumberFinite(_)?_:1,this.handleTickRangeOptions()}computeTickLimit(){const s=this.isHorizontal(),_=s?this.width:this.height,j=toRadians(this.options.ticks.minRotation),$=(s?Math.sin(j):Math.cos(j))||.001,_e=this._resolveTickFontOptions(0);return Math.ceil(_/Math.min(40,_e.lineHeight/$))}getPixelForValue(s){return s===null?NaN:this.getPixelForDecimal((s-this._startValue)/this._valueRange)}getValueForPixel(s){return this._startValue+this.getDecimalForPixel(s)*this._valueRange}}On(LinearScale,"id","linear"),On(LinearScale,"defaults",{ticks:{callback:Ticks.formatters.numeric}});const log10Floor=o=>Math.floor(log10(o)),changeExponent=(o,s)=>Math.pow(10,log10Floor(o)+s);function isMajor(o){return o/Math.pow(10,log10Floor(o))===1}function steps(o,s,_){const j=Math.pow(10,_),$=Math.floor(o/j);return Math.ceil(s/j)-$}function startExp(o,s){const _=s-o;let j=log10Floor(_);for(;steps(o,s,j)>10;)j++;for(;steps(o,s,j)<10;)j--;return Math.min(j,log10Floor(o))}function generateTicks(o,{min:s,max:_}){s=finiteOrDefault(o.min,s);const j=[],$=log10Floor(s);let _e=startExp(s,_),et=_e<0?Math.pow(10,Math.abs(_e)):1;const tt=Math.pow(10,_e),nt=$>_e?Math.pow(10,$):0,rt=Math.round((s-nt)*et)/et,ot=Math.floor((s-nt)/tt/10)*tt*10;let ut=Math.floor((rt-ot)/Math.pow(10,_e)),dt=finiteOrDefault(o.min,Math.round((nt+ot+ut*Math.pow(10,_e))*et)/et);for(;dt<_;)j.push({value:dt,major:isMajor(dt),significand:ut}),ut>=10?ut=ut<15?15:20:ut++,ut>=20&&(_e++,ut=2,et=_e>=0?1:et),dt=Math.round((nt+ot+ut*Math.pow(10,_e))*et)/et;const Ut=finiteOrDefault(o.max,dt);return j.push({value:Ut,major:isMajor(Ut),significand:ut}),j}class LogarithmicScale extends Scale{constructor(s){super(s),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(s,_){const j=LinearScaleBase.prototype.parse.apply(this,[s,_]);if(j===0){this._zero=!0;return}return isNumberFinite(j)&&j>0?j:null}determineDataLimits(){const{min:s,max:_}=this.getMinMax(!0);this.min=isNumberFinite(s)?Math.max(0,s):null,this.max=isNumberFinite(_)?Math.max(0,_):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=s===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:s,maxDefined:_}=this.getUserBounds();let j=this.min,$=this.max;const _e=tt=>j=s?j:tt,et=tt=>$=_?$:tt;j===$&&(j<=0?(_e(1),et(10)):(_e(changeExponent(j,-1)),et(changeExponent($,1)))),j<=0&&_e(changeExponent($,-1)),$<=0&&et(changeExponent(j,1)),this.min=j,this.max=$}buildTicks(){const s=this.options,_={min:this._userMin,max:this._userMax},j=generateTicks(_,this);return s.bounds==="ticks"&&_setMinAndMaxByKey(j,this,"value"),s.reverse?(j.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),j}getLabelForValue(s){return s===void 0?"0":formatNumber(s,this.chart.options.locale,this.options.ticks.format)}configure(){const s=this.min;super.configure(),this._startValue=log10(s),this._valueRange=log10(this.max)-log10(s)}getPixelForValue(s){return(s===void 0||s===0)&&(s=this.min),s===null||isNaN(s)?NaN:this.getPixelForDecimal(s===this.min?0:(log10(s)-this._startValue)/this._valueRange)}getValueForPixel(s){const _=this.getDecimalForPixel(s);return Math.pow(10,this._startValue+_*this._valueRange)}}On(LogarithmicScale,"id","logarithmic"),On(LogarithmicScale,"defaults",{ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}});function getTickBackdropHeight(o){const s=o.ticks;if(s.display&&o.display){const _=toPadding(s.backdropPadding);return valueOrDefault(s.font&&s.font.size,defaults.font.size)+_.height}return 0}function measureLabelSize(o,s,_){return _=isArray(_)?_:[_],{w:_longestText(o,s.string,_),h:_.length*s.lineHeight}}function determineLimits(o,s,_,j,$){return o===j||o===$?{start:s-_/2,end:s+_/2}:o$?{start:s-_,end:s}:{start:s,end:s+_}}function fitWithPointLabels(o){const s={l:o.left+o._padding.left,r:o.right-o._padding.right,t:o.top+o._padding.top,b:o.bottom-o._padding.bottom},_=Object.assign({},s),j=[],$=[],_e=o._pointLabels.length,et=o.options.pointLabels,tt=et.centerPointLabels?PI/_e:0;for(let nt=0;nt<_e;nt++){const rt=et.setContext(o.getPointLabelContext(nt));$[nt]=rt.padding;const ot=o.getPointPosition(nt,o.drawingArea+$[nt],tt),ut=toFont(rt.font),dt=measureLabelSize(o.ctx,ut,o._pointLabels[nt]);j[nt]=dt;const Ut=_normalizeAngle(o.getIndexAngle(nt)+tt),st=Math.round(toDegrees(Ut)),ct=determineLimits(st,ot.x,dt.w,0,180),pt=determineLimits(st,ot.y,dt.h,90,270);updateLimits(_,s,Ut,ct,pt)}o.setCenterPoint(s.l-_.l,_.r-s.r,s.t-_.t,_.b-s.b),o._pointLabelItems=buildPointLabelItems(o,j,$)}function updateLimits(o,s,_,j,$){const _e=Math.abs(Math.sin(_)),et=Math.abs(Math.cos(_));let tt=0,nt=0;j.starts.r&&(tt=(j.end-s.r)/_e,o.r=Math.max(o.r,s.r+tt)),$.starts.b&&(nt=($.end-s.b)/et,o.b=Math.max(o.b,s.b+nt))}function createPointLabelItem(o,s,_){const j=o.drawingArea,{extra:$,additionalAngle:_e,padding:et,size:tt}=_,nt=o.getPointPosition(s,j+$+et,_e),rt=Math.round(toDegrees(_normalizeAngle(nt.angle+HALF_PI))),ot=yForAngle(nt.y,tt.h,rt),ut=getTextAlignForAngle(rt),dt=leftForTextAlign(nt.x,tt.w,ut);return{visible:!0,x:nt.x,y:ot,textAlign:ut,left:dt,top:ot,right:dt+tt.w,bottom:ot+tt.h}}function isNotOverlapped(o,s){if(!s)return!0;const{left:_,top:j,right:$,bottom:_e}=o;return!(_isPointInArea({x:_,y:j},s)||_isPointInArea({x:_,y:_e},s)||_isPointInArea({x:$,y:j},s)||_isPointInArea({x:$,y:_e},s))}function buildPointLabelItems(o,s,_){const j=[],$=o._pointLabels.length,_e=o.options,{centerPointLabels:et,display:tt}=_e.pointLabels,nt={extra:getTickBackdropHeight(_e)/2,additionalAngle:et?PI/$:0};let rt;for(let ot=0;ot<$;ot++){nt.padding=_[ot],nt.size=s[ot];const ut=createPointLabelItem(o,ot,nt);j.push(ut),tt==="auto"&&(ut.visible=isNotOverlapped(ut,rt),ut.visible&&(rt=ut))}return j}function getTextAlignForAngle(o){return o===0||o===180?"center":o<180?"left":"right"}function leftForTextAlign(o,s,_){return _==="right"?o-=s:_==="center"&&(o-=s/2),o}function yForAngle(o,s,_){return _===90||_===270?o-=s/2:(_>270||_<90)&&(o-=s),o}function drawPointLabelBox(o,s,_){const{left:j,top:$,right:_e,bottom:et}=_,{backdropColor:tt}=s;if(!isNullOrUndef(tt)){const nt=toTRBLCorners(s.borderRadius),rt=toPadding(s.backdropPadding);o.fillStyle=tt;const ot=j-rt.left,ut=$-rt.top,dt=_e-j+rt.width,Ut=et-$+rt.height;Object.values(nt).some(st=>st!==0)?(o.beginPath(),addRoundedRectPath(o,{x:ot,y:ut,w:dt,h:Ut,radius:nt}),o.fill()):o.fillRect(ot,ut,dt,Ut)}}function drawPointLabels(o,s){const{ctx:_,options:{pointLabels:j}}=o;for(let $=s-1;$>=0;$--){const _e=o._pointLabelItems[$];if(!_e.visible)continue;const et=j.setContext(o.getPointLabelContext($));drawPointLabelBox(_,et,_e);const tt=toFont(et.font),{x:nt,y:rt,textAlign:ot}=_e;renderText(_,o._pointLabels[$],nt,rt+tt.lineHeight/2,tt,{color:et.color,textAlign:ot,textBaseline:"middle"})}}function pathRadiusLine(o,s,_,j){const{ctx:$}=o;if(_)$.arc(o.xCenter,o.yCenter,s,0,TAU);else{let _e=o.getPointPosition(0,s);$.moveTo(_e.x,_e.y);for(let et=1;et{const $=callback(this.options.pointLabels.callback,[_,j],this);return $||$===0?$:""}).filter((_,j)=>this.chart.getDataVisibility(j))}fit(){const s=this.options;s.display&&s.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(s,_,j,$){this.xCenter+=Math.floor((s-_)/2),this.yCenter+=Math.floor((j-$)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(s,_,j,$))}getIndexAngle(s){const _=TAU/(this._pointLabels.length||1),j=this.options.startAngle||0;return _normalizeAngle(s*_+toRadians(j))}getDistanceFromCenterForValue(s){if(isNullOrUndef(s))return NaN;const _=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-s)*_:(s-this.min)*_}getValueForDistanceFromCenter(s){if(isNullOrUndef(s))return NaN;const _=s/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-_:this.min+_}getPointLabelContext(s){const _=this._pointLabels||[];if(s>=0&&s<_.length){const j=_[s];return createPointLabelContext(this.getContext(),s,j)}}getPointPosition(s,_,j=0){const $=this.getIndexAngle(s)-HALF_PI+j;return{x:Math.cos($)*_+this.xCenter,y:Math.sin($)*_+this.yCenter,angle:$}}getPointPositionForValue(s,_){return this.getPointPosition(s,this.getDistanceFromCenterForValue(_))}getBasePosition(s){return this.getPointPositionForValue(s||0,this.getBaseValue())}getPointLabelPosition(s){const{left:_,top:j,right:$,bottom:_e}=this._pointLabelItems[s];return{left:_,top:j,right:$,bottom:_e}}drawBackground(){const{backgroundColor:s,grid:{circular:_}}=this.options;if(s){const j=this.ctx;j.save(),j.beginPath(),pathRadiusLine(this,this.getDistanceFromCenterForValue(this._endValue),_,this._pointLabels.length),j.closePath(),j.fillStyle=s,j.fill(),j.restore()}}drawGrid(){const s=this.ctx,_=this.options,{angleLines:j,grid:$,border:_e}=_,et=this._pointLabels.length;let tt,nt,rt;if(_.pointLabels.display&&drawPointLabels(this,et),$.display&&this.ticks.forEach((ot,ut)=>{if(ut!==0||ut===0&&this.min<0){nt=this.getDistanceFromCenterForValue(ot.value);const dt=this.getContext(ut),Ut=$.setContext(dt),st=_e.setContext(dt);drawRadiusLine(this,Ut,nt,et,st)}}),j.display){for(s.save(),tt=et-1;tt>=0;tt--){const ot=j.setContext(this.getPointLabelContext(tt)),{color:ut,lineWidth:dt}=ot;!dt||!ut||(s.lineWidth=dt,s.strokeStyle=ut,s.setLineDash(ot.borderDash),s.lineDashOffset=ot.borderDashOffset,nt=this.getDistanceFromCenterForValue(_.reverse?this.min:this.max),rt=this.getPointPosition(tt,nt),s.beginPath(),s.moveTo(this.xCenter,this.yCenter),s.lineTo(rt.x,rt.y),s.stroke())}s.restore()}}drawBorder(){}drawLabels(){const s=this.ctx,_=this.options,j=_.ticks;if(!j.display)return;const $=this.getIndexAngle(0);let _e,et;s.save(),s.translate(this.xCenter,this.yCenter),s.rotate($),s.textAlign="center",s.textBaseline="middle",this.ticks.forEach((tt,nt)=>{if(nt===0&&this.min>=0&&!_.reverse)return;const rt=j.setContext(this.getContext(nt)),ot=toFont(rt.font);if(_e=this.getDistanceFromCenterForValue(this.ticks[nt].value),rt.showLabelBackdrop){s.font=ot.string,et=s.measureText(tt.label).width,s.fillStyle=rt.backdropColor;const ut=toPadding(rt.backdropPadding);s.fillRect(-et/2-ut.left,-_e-ot.size/2-ut.top,et+ut.width,ot.size+ut.height)}renderText(s,tt.label,0,-_e,ot,{color:rt.color,strokeColor:rt.textStrokeColor,strokeWidth:rt.textStrokeWidth})}),s.restore()}drawTitle(){}}On(RadialLinearScale,"id","radialLinear"),On(RadialLinearScale,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(s){return s},padding:5,centerPointLabels:!1}}),On(RadialLinearScale,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),On(RadialLinearScale,"descriptors",{angleLines:{_fallback:"grid"}});const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(o,s){return o-s}function parse(o,s){if(isNullOrUndef(s))return null;const _=o._adapter,{parser:j,round:$,isoWeekday:_e}=o._parseOpts;let et=s;return typeof j=="function"&&(et=j(et)),isNumberFinite(et)||(et=typeof j=="string"?_.parse(et,j):_.parse(et)),et===null?null:($&&(et=$==="week"&&(isNumber(_e)||_e===!0)?_.startOf(et,"isoWeek",_e):_.startOf(et,$)),+et)}function determineUnitForAutoTicks(o,s,_,j){const $=UNITS.length;for(let _e=UNITS.indexOf(o);_e<$-1;++_e){const et=INTERVALS[UNITS[_e]],tt=et.steps?et.steps:Number.MAX_SAFE_INTEGER;if(et.common&&Math.ceil((_-s)/(tt*et.size))<=j)return UNITS[_e]}return UNITS[$-1]}function determineUnitForFormatting(o,s,_,j,$){for(let _e=UNITS.length-1;_e>=UNITS.indexOf(_);_e--){const et=UNITS[_e];if(INTERVALS[et].common&&o._adapter.diff($,j,et)>=s-1)return et}return UNITS[_?UNITS.indexOf(_):0]}function determineMajorUnit(o){for(let s=UNITS.indexOf(o)+1,_=UNITS.length;s<_;++s)if(INTERVALS[UNITS[s]].common)return UNITS[s]}function addTick(o,s,_){if(!_)o[s]=!0;else if(_.length){const{lo:j,hi:$}=_lookup(_,s),_e=_[j]>=s?_[j]:_[$];o[_e]=!0}}function setMajorTicks(o,s,_,j){const $=o._adapter,_e=+$.startOf(s[0].value,j),et=s[s.length-1].value;let tt,nt;for(tt=_e;tt<=et;tt=+$.add(tt,1,j))nt=_[tt],nt>=0&&(s[nt].major=!0);return s}function ticksFromTimestamps(o,s,_){const j=[],$={},_e=s.length;let et,tt;for(et=0;et<_e;++et)tt=s[et],$[tt]=et,j.push({value:tt,major:!1});return _e===0||!_?j:setMajorTicks(o,j,$,_)}class TimeScale extends Scale{constructor(s){super(s),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(s,_={}){const j=s.time||(s.time={}),$=this._adapter=new adapters._date(s.adapters.date);$.init(_),mergeIf(j.displayFormats,$.formats()),this._parseOpts={parser:j.parser,round:j.round,isoWeekday:j.isoWeekday},super.init(s),this._normalized=_.normalized}parse(s,_){return s===void 0?null:parse(this,s)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const s=this.options,_=this._adapter,j=s.time.unit||"day";let{min:$,max:_e,minDefined:et,maxDefined:tt}=this.getUserBounds();function nt(rt){!et&&!isNaN(rt.min)&&($=Math.min($,rt.min)),!tt&&!isNaN(rt.max)&&(_e=Math.max(_e,rt.max))}(!et||!tt)&&(nt(this._getLabelBounds()),(s.bounds!=="ticks"||s.ticks.source!=="labels")&&nt(this.getMinMax(!1))),$=isNumberFinite($)&&!isNaN($)?$:+_.startOf(Date.now(),j),_e=isNumberFinite(_e)&&!isNaN(_e)?_e:+_.endOf(Date.now(),j)+1,this.min=Math.min($,_e-1),this.max=Math.max($+1,_e)}_getLabelBounds(){const s=this.getLabelTimestamps();let _=Number.POSITIVE_INFINITY,j=Number.NEGATIVE_INFINITY;return s.length&&(_=s[0],j=s[s.length-1]),{min:_,max:j}}buildTicks(){const s=this.options,_=s.time,j=s.ticks,$=j.source==="labels"?this.getLabelTimestamps():this._generate();s.bounds==="ticks"&&$.length&&(this.min=this._userMin||$[0],this.max=this._userMax||$[$.length-1]);const _e=this.min,et=this.max,tt=_filterBetween($,_e,et);return this._unit=_.unit||(j.autoSkip?determineUnitForAutoTicks(_.minUnit,this.min,this.max,this._getLabelCapacity(_e)):determineUnitForFormatting(this,tt.length,_.minUnit,this.min,this.max)),this._majorUnit=!j.major.enabled||this._unit==="year"?void 0:determineMajorUnit(this._unit),this.initOffsets($),s.reverse&&tt.reverse(),ticksFromTimestamps(this,tt,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(s=>+s.value))}initOffsets(s=[]){let _=0,j=0,$,_e;this.options.offset&&s.length&&($=this.getDecimalForValue(s[0]),s.length===1?_=1-$:_=(this.getDecimalForValue(s[1])-$)/2,_e=this.getDecimalForValue(s[s.length-1]),s.length===1?j=_e:j=(_e-this.getDecimalForValue(s[s.length-2]))/2);const et=s.length<3?.5:.25;_=_limitValue(_,0,et),j=_limitValue(j,0,et),this._offsets={start:_,end:j,factor:1/(_+1+j)}}_generate(){const s=this._adapter,_=this.min,j=this.max,$=this.options,_e=$.time,et=_e.unit||determineUnitForAutoTicks(_e.minUnit,_,j,this._getLabelCapacity(_)),tt=valueOrDefault($.ticks.stepSize,1),nt=et==="week"?_e.isoWeekday:!1,rt=isNumber(nt)||nt===!0,ot={};let ut=_,dt,Ut;if(rt&&(ut=+s.startOf(ut,"isoWeek",nt)),ut=+s.startOf(ut,rt?"day":et),s.diff(j,_,et)>1e5*tt)throw new Error(_+" and "+j+" are too far apart with stepSize of "+tt+" "+et);const st=$.ticks.source==="data"&&this.getDataTimestamps();for(dt=ut,Ut=0;dt+ct)}getLabelForValue(s){const _=this._adapter,j=this.options.time;return j.tooltipFormat?_.format(s,j.tooltipFormat):_.format(s,j.displayFormats.datetime)}format(s,_){const $=this.options.time.displayFormats,_e=this._unit,et=_||$[_e];return this._adapter.format(s,et)}_tickFormatFunction(s,_,j,$){const _e=this.options,et=_e.ticks.callback;if(et)return callback(et,[s,_,j],this);const tt=_e.time.displayFormats,nt=this._unit,rt=this._majorUnit,ot=nt&&tt[nt],ut=rt&&tt[rt],dt=j[_],Ut=rt&&ut&&dt&&dt.major;return this._adapter.format(s,$||(Ut?ut:ot))}generateTickLabels(s){let _,j,$;for(_=0,j=s.length;_0?tt:1}getDataTimestamps(){let s=this._cache.data||[],_,j;if(s.length)return s;const $=this.getMatchingVisibleMetas();if(this._normalized&&$.length)return this._cache.data=$[0].controller.getAllParsedValues(this);for(_=0,j=$.length;_=o[j].pos&&s<=o[$].pos&&({lo:j,hi:$}=_lookupByKey(o,"pos",s)),{pos:_e,time:tt}=o[j],{pos:et,time:nt}=o[$]):(s>=o[j].time&&s<=o[$].time&&({lo:j,hi:$}=_lookupByKey(o,"time",s)),{time:_e,pos:tt}=o[j],{time:et,pos:nt}=o[$]);const rt=et-_e;return rt?tt+(nt-tt)*(s-_e)/rt:tt}class TimeSeriesScale extends TimeScale{constructor(s){super(s),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const s=this._getTimestampsForTable(),_=this._table=this.buildLookupTable(s);this._minPos=interpolate(_,this.min),this._tableRange=interpolate(_,this.max)-this._minPos,super.initOffsets(s)}buildLookupTable(s){const{min:_,max:j}=this,$=[],_e=[];let et,tt,nt,rt,ot;for(et=0,tt=s.length;et=_&&rt<=j&&$.push(rt);if($.length<2)return[{time:_,pos:0},{time:j,pos:1}];for(et=0,tt=$.length;et$-_e)}_getTimestampsForTable(){let s=this._cache.all||[];if(s.length)return s;const _=this.getDataTimestamps(),j=this.getLabelTimestamps();return _.length&&j.length?s=this.normalize(_.concat(j)):s=_.length?_:j,s=this._cache.all=s,s}getDecimalForValue(s){return(interpolate(this._table,s)-this._minPos)/this._tableRange}getValueForPixel(s){const _=this._offsets,j=this.getDecimalForPixel(s)/_.factor-_.end;return interpolate(this._table,j*this._tableRange+this._minPos,!0)}}On(TimeSeriesScale,"id","timeseries"),On(TimeSeriesScale,"defaults",TimeScale.defaults);var scales=Object.freeze({__proto__:null,CategoryScale,LinearScale,LogarithmicScale,RadialLinearScale,TimeScale,TimeSeriesScale});const registerables=[controllers,elements,plugins,scales];var __defProp=Object.defineProperty,__defNormalProp=(o,s,_)=>s in o?__defProp(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,__publicField=(o,s,_)=>(__defNormalProp(o,typeof s!="symbol"?s+"":s,_),_),__defProp2=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp2=(o,s,_)=>s in o?__defProp2(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,__spreadValues=(o,s)=>{for(var _ in s||(s={}))__hasOwnProp.call(s,_)&&__defNormalProp2(o,_,s[_]);if(__getOwnPropSymbols)for(var _ of __getOwnPropSymbols(s))__propIsEnum.call(s,_)&&__defNormalProp2(o,_,s[_]);return o},__spreadProps=(o,s)=>__defProps(o,__getOwnPropDescs(s)),__publicField2=(o,s,_)=>(__defNormalProp2(o,typeof s!="symbol"?s+"":s,_),_);const millisecond=1,second=1e3,minute=60*second,hour=60*minute,day=24*hour,week=7*day,month=30*day,year=365*day,duration={millisecond,second,minute,hour,day,week,month,year};class H264Decoder{constructor(s,_,j){__publicField2(this,"worker"),__publicField2(this,"onReceive"),__publicField2(this,"onError"),__publicField2(this,"onReceiveMessage",_e=>{const{data:et}=_e;if(et.error){const tt=new Error(`${et.error}`);tt.cause=et.error,console.warn("H264 worker failure",{error:tt}),this.onError(et.index);return}this.onReceive(et)});var $;this.worker=s,($=this.worker)==null||$.addEventListener("message",this.onReceiveMessage),this.onReceive=_,this.onError=j}post(s,_,j,$){var _e;(_e=this.worker)==null||_e.postMessage({timestamp:s,encodedFrame:_,flags:j,index:$})}release(){var s,_;(s=this.worker)==null||s.removeEventListener("message",this.onReceiveMessage),(_=this.worker)==null||_.terminate(),this.worker=void 0}}class YUVCanvas{constructor(s){__publicField2(this,"gl"),__publicField2(this,"program"),__publicField2(this,"texturePosBuffer"),__publicField2(this,"textureRef"),__publicField2(this,"height",0),__publicField2(this,"width",0),this.gl=s,this.program=this.initProgram();const{texturePosBuffer:_}=this.initBuffers();this.texturePosBuffer=_;const{textureRef:j}=this.initTextures();this.textureRef=j}draw(s){const{gl:_,height:j,width:$,texturePosBuffer:_e,textureRef:et}=this;_.viewport(0,0,$,j);const tt=new Float32Array([1,0,0,0,1,1,0,1]);return _.bindBuffer(_.ARRAY_BUFFER,_e),_.bufferData(_.ARRAY_BUFFER,tt,_.DYNAMIC_DRAW),_.activeTexture(_.TEXTURE0),_.bindTexture(_.TEXTURE_2D,et),_.texImage2D(_.TEXTURE_2D,0,_.LUMINANCE,$,j+j/2,0,_.LUMINANCE,_.UNSIGNED_BYTE,s),_.drawArrays(_.TRIANGLE_STRIP,0,4),_.getError()}initProgram(){const{gl:s}=this,_=` - attribute vec4 vertexPos; - attribute vec4 texturePos; - varying vec2 textureCoord; - - void main() { - gl_Position = vertexPos; - textureCoord = texturePos.xy; - } - `,j=` - precision highp float; - varying highp vec2 textureCoord; - uniform sampler2D yuvSampler; - uniform mat4 YUV2RGB; - - void main(void) { - highp vec2 yScale = vec2(1.0, 2.0 / 3.0); - highp vec2 yTextureCoord = textureCoord * yScale; - - highp vec2 uScale = vec2(0.5, 0.5 / 3.0); - highp vec2 uOffset = vec2(0.0, 2.0 / 3.0); - highp vec2 uTextureCoord = (textureCoord * uScale) + uOffset; - - highp vec2 vScale = vec2(0.5, 0.5 / 3.0); - highp vec2 vOffset = vec2(0.0, 2.5 / 3.0); - highp vec2 vTextureCoord = (textureCoord * vScale) + vOffset; - - highp float y = texture2D(yuvSampler, yTextureCoord).r; - highp float u = texture2D(yuvSampler, uTextureCoord).r; - highp float v = texture2D(yuvSampler, vTextureCoord).r; - - gl_FragColor = vec4(y, u, v, 1) * YUV2RGB; - } - `,$=[1.16438,0,1.59603,-.87079,1.16438,-.39176,-.81297,.52959,1.16438,2.01723,0,-1.08139,0,0,0,1],_e=s.createShader(s.VERTEX_SHADER);if(!_e)throw new Error("Failed to create vertex shader");s.shaderSource(_e,_),s.compileShader(_e);const et=s.createShader(s.FRAGMENT_SHADER);if(!et)throw new Error("Failed to create fragment shader");s.shaderSource(et,j),s.compileShader(et);const tt=s.createProgram();if(!tt)throw new Error("Failed to create webgl program");s.attachShader(tt,_e),s.attachShader(tt,et),s.linkProgram(tt),s.useProgram(tt);const nt=s.getUniformLocation(tt,"YUV2RGB");return s.uniformMatrix4fv(nt,!1,$),tt}initBuffers(){const{gl:s,program:_}=this,j=s.createBuffer();s.bindBuffer(s.ARRAY_BUFFER,j),s.bufferData(s.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),s.STATIC_DRAW);const $=s.getAttribLocation(_,"vertexPos");s.enableVertexAttribArray($),s.vertexAttribPointer($,2,s.FLOAT,!1,0,0);const _e=s.createBuffer();if(!_e)throw new Error("Failed to create WebGL buffer");s.bindBuffer(s.ARRAY_BUFFER,_e),s.bufferData(s.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),s.STATIC_DRAW);const et=s.getAttribLocation(_,"texturePos");return s.enableVertexAttribArray(et),s.vertexAttribPointer(et,2,s.FLOAT,!1,0,0),{texturePosBuffer:_e}}initTextures(){const{gl:s,program:_}=this,j=this.initTexture(),$=s.getUniformLocation(_,"yuvSampler");return s.uniform1i($,0),{textureRef:j}}initTexture(){const{gl:s}=this,_=s.createTexture();if(!_)throw new Error("Failed to initialize texture");return s.bindTexture(s.TEXTURE_2D,_),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.bindTexture(s.TEXTURE_2D,null),_}}const decoderNotWorkingThreshold=duration.second*2.5,warnPerformanceThreshold=duration.second/3,noSignalThreshold=duration.second*2,maxQueueSize=5,maxDropRatio=30/25,numRetries=5,hardwareIncompatibleErrorCode=1282;class H264BytestreamCanvasDrawer{constructor(s,_,j,$,_e){__publicField2(this,"_waitingForDecoder",!0),__publicField2(this,"_noSignal",!0),__publicField2(this,"_lostSignal",!1),__publicField2(this,"_overWaitingThreshold",!1),__publicField2(this,"_retries",0),__publicField2(this,"_webglYUVSupported"),__publicField2(this,"lastDecodedFrameTime"),__publicField2(this,"lastReceivedFrameTime"),__publicField2(this,"lastNoSignalTime",new Date().getTime()),__publicField2(this,"moduleStartTime",Date.now()),__publicField2(this,"moduleCreateTime",Date.now()),__publicField2(this,"timesRestarted",0),__publicField2(this,"canvas"),__publicField2(this,"decoder"),__publicField2(this,"yuvCanvas"),__publicField2(this,"webglContext"),__publicField2(this,"frameQueue",[]),__publicField2(this,"minFrameSize",1/0),__publicField2(this,"maxFrameSize",0),__publicField2(this,"decoderQueue",[]),__publicField2(this,"decoderQueueLocked",!1),__publicField2(this,"decodeNextFrameAttempted",!1),__publicField2(this,"numFramesDecoded",0),__publicField2(this,"numFramesReceived",0),__publicField2(this,"hasReceivedKeyframe",!1),__publicField2(this,"medianFrameSize",0),__publicField2(this,"currentFrameIndex"),__publicField2(this,"frameCheckpointMap",new Map),__publicField2(this,"lastDrawnFrameTime"),__publicField2(this,"minJitter"),__publicField2(this,"maxJitter"),__publicField2(this,"start",()=>{const{canvas:et}=this;if(!et)return;const tt=et.getContext("webgl");this.webglContext=tt||void 0,this.lastDecodedFrameTime=void 0,this.lastReceivedFrameTime=void 0,this.hasReceivedKeyframe=!1,this.currentFrameIndex=void 0,!(!this.canvas||!this.webglContext)&&(this.yuvCanvas||(this.yuvCanvas=new YUVCanvas(this.webglContext)),this.moduleStartTime=Date.now())}),__publicField2(this,"stop",()=>{var et;(et=this.decoder)==null||et.release(),this.webglContext=void 0,this.decoderQueueLocked=!1}),__publicField2(this,"reset",()=>{this.retries=0,this.restart()}),__publicField2(this,"notifyWarningTextChanged",()=>{var et;(et=this.onWarningTextChanged)==null||et.call(this,this.getWarningText())}),__publicField2(this,"restart",()=>{console.info("Restarting decoder"),console.info("BytestreamPlayer restarting",__spreadProps(__spreadValues({},this.trackInfo),{Restart:this.timesRestarted})),this.frameQueue=[],this.decoderQueue=[],this.stop(),this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),this.start(),this.retries++,this.timesRestarted++}),__publicField2(this,"onTrackTick",()=>{if(this.numFramesDecoded===0){if(this.lastDecodedFrameTime===void 0){const ot=Date.now();console.info("BytestreamPlayer waiting for video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Waited":ot-this.moduleCreateTime}))}return}this.numFramesReceived/this.numFramesDecoded>maxDropRatio&&this.warnPerformanceProblems(),this.numFramesReceived=0,this.numFramesDecoded=0;const tt=Array.from(this.frameCheckpointMap.entries()).reduce((ot,[ut,dt])=>{var Ut;return!this.currentFrameIndex||ut>this.currentFrameIndex-60||dt==="FrameDrawn"||(ot[dt]=((Ut=ot[dt])!=null?Ut:0)+1,this.frameCheckpointMap.delete(ut)),ot},{});Object.keys(tt).map(ot=>{console.info("BytestreamPlayer Frame Dropped",__spreadProps(__spreadValues({},this.trackInfo),{"Num Dropped":tt[ot],"Frame State":ot}))});const{minJitter:nt,maxJitter:rt}=this;nt&&rt&&(console.info("BytestreamPlayer Jitter",__spreadProps(__spreadValues({},this.trackInfo),{minJitter:nt,maxJitter:rt})),this.minJitter=void 0,this.maxJitter=void 0)}),__publicField2(this,"onTick",()=>{var et;const{lastReceivedFrameTime:tt,lastDecodedFrameTime:nt,moduleStartTime:rt,noSignal:ot,retries:ut}=this,dt=new Date().getTime();ot&&(this.lastNoSignalTime=dt),this.overWaitingThreshold=dt-rt>noSignalThreshold;const Ut=dt-rt>decoderNotWorkingThreshold;if(!nt){tt&&Ut&&utnoSignalThreshold&&stwarnPerformanceThreshold&&this.warnPerformanceProblems(),st>noSignalThreshold&&(this.lostSignal=!0)}this.overWaitingThreshold&&(this.waitingForDecoder||this.noSignal||this.lostSignal)&&((et=this.onCanvasDrawerWarning)==null||et.call(this,"ShouldDisableControl"))}),__publicField2(this,"receiveEncodedFrame",et=>{if(!et)return;const tt=et.index;if(tt&&this.frameCheckpointMap.set(tt,"FrameReceived"),!(!et||!this.canvas||!this.webglContext)){if(this.isKeyframe(et),!this.hasReceivedKeyframe)return console.info("Dropping frame because no keyframe detected"),!1;this.lastReceivedFrameTime===void 0&&console.debug("Received first frame on bytestream player",__spreadValues({},this.trackInfo)),this.checkOrder(et),this.numFramesReceived++,this.lastReceivedFrameTime=Date.now(),this.lostSignal&&this.restart(),this.noSignal=!1,this.lostSignal=!1,this.frameQueue.push(et),tt&&this.frameCheckpointMap.set(tt,"FrameQueued"),this.frameQueue.length>maxQueueSize&&(this.frameQueue=this.frameQueue.filter(nt=>this.isKeyframe(nt))),this.frameQueue.length>maxQueueSize&&(this.frameQueue=[],this.decoderQueue=[]),this.decodeNextFrame()}}),__publicField2(this,"onDecoderError",et=>{this.frameQueue=[],this.decoderQueue=[],this.hasReceivedKeyframe=!1,console.info("BytestreamPlayer decode error",__spreadProps(__spreadValues({},this.trackInfo),{"Frame Index":et}))}),__publicField2(this,"onReceiveDecodedFrame",et=>{var tt,nt;const{canvas:rt,yuvCanvas:ot,decoderQueue:ut}=this,{timestamp:dt,yuv:Ut,height:st,width:ct,index:pt}=et;this.frameCheckpointMap.set(pt,"FrameDecoded"),this.numFramesDecoded++;const Bt=Date.now();if(this.lastDecodedFrameTime===void 0&&console.info("BytestreamPlayer started video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Until Video":Bt-this.moduleCreateTime})),this.lastDecodedFrameTime=Bt,this.waitingForDecoder=!1,this.decoderQueue=ut.filter(ft=>Bt-ftduration.second||!ot||!rt||st===0||ct===0)return;st!==rt.height&&(rt.height=st,ot.height=st),ct!==rt.width&&(rt.width=ct,ot.width=ct);const Qt=ot.draw(Ut),gt=Date.now();if(this.lastDrawnFrameTime){const ft=gt-this.lastDrawnFrameTime;this.minJitter=Math.min(ft,(tt=this.minJitter)!=null?tt:Number.MAX_SAFE_INTEGER),this.maxJitter=Math.max(ft,(nt=this.maxJitter)!=null?nt:0)}this.lastDrawnFrameTime=gt,this.frameCheckpointMap.set(pt,"FrameDrawn"),Qt===0&&(this.webglYUVSupported=!0),Qt===hardwareIncompatibleErrorCode&&(this.webglYUVSupported=!1),this.frameQueue.length>0&&this.decodeNextFrame()}),this.workerFactory=s,this.onWebglYUVSupportedChanged=_,this.onWarningTextChanged=j,this.onCanvasDrawerWarning=$,this.trackInfo=_e,this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),setInterval(this.onTick,duration.millisecond*200),setInterval(this.onTrackTick,duration.second*5)}get waitingForDecoder(){return this._waitingForDecoder}set waitingForDecoder(s){this._waitingForDecoder=s,this.notifyWarningTextChanged()}get noSignal(){return this._noSignal}set noSignal(s){this._noSignal=s,this.notifyWarningTextChanged()}get lostSignal(){return this._lostSignal}set lostSignal(s){this._lostSignal=s,this.notifyWarningTextChanged()}get overWaitingThreshold(){return this._overWaitingThreshold}set overWaitingThreshold(s){this._overWaitingThreshold=s,this.notifyWarningTextChanged()}get retries(){return this._retries}set retries(s){this._retries=s,this.notifyWarningTextChanged()}get webglYUVSupported(){return this._webglYUVSupported}set webglYUVSupported(s){var _;this._webglYUVSupported=s,(_=this.onWebglYUVSupportedChanged)==null||_.call(this,s),this.notifyWarningTextChanged()}setCanvas(s){this.canvas=s}getWarningText(){var s;const{waitingForDecoder:_,noSignal:j,overWaitingThreshold:$,lostSignal:_e,retries:et,webglYUVSupported:tt}=this,nt=tt===!1,ot=_?et===numRetries?"Decoder failed to start":"Starting decoder":void 0,ut=nt?"Hardware decoding not supported on this device":void 0;return(s=ut??(_e?"Lost signal":j?$?"No signal":"Waiting for signal":void 0))!=null?s:ot}decodeNextFrame(){if(this.decoderQueueLocked&&(this.decodeNextFrameAttempted=!0),this.decoderQueueLocked=!0,this.decoderQueue.length>maxQueueSize){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const s=this.frameQueue.shift();if(!s){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const _=Date.now();this.frameCheckpointMap.set(s.index,"FrameSentToDecoder"),this.decoder.post(_,s.frame_data,s.flags,s.index),this.decoderQueue.push(_),this.decoderQueueLocked=!1,this.decodeNextFrameAttempted&&(this.decodeNextFrameAttempted=!1,this.decodeNextFrame())}warnPerformanceProblems(){var s;this.lastDecodedFrameTime&&this.overWaitingThreshold&&!this.lostSignal&&!this.noSignal&&((s=this.onCanvasDrawerWarning)==null||s.call(this,"ShouldDegradeVideo"))}checkOrder(s){if(this.currentFrameIndex!==void 0&&s.indexDate.now()?!1:$>this.medianFrameSize?(this.hasReceivedKeyframe=!0,!0):!1}}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsK",blob=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){const o=blob&&(window.URL||window.webkitURL).createObjectURL(blob);try{return o?new Worker(o,{}):new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{o&&(window.URL||window.webkitURL).revokeObjectURL(o)}}class RealtimePlayer extends HTMLElement{constructor(){super(),__publicField(this,"drawer"),this.drawer=new H264BytestreamCanvasDrawer(()=>new WorkerWrapper,()=>{},()=>{})}connectedCallback(){this.style.background="black",this.innerHTML='',this.drawer.start(),this.drawer.setCanvas(this.querySelector("canvas"))}drawVideoFrame(s){this.drawer.receiveEncodedFrame(s)}}customElements.define("formant-realtime-player",RealtimePlayer);var classnames$1={exports:{}};/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/(function(o){(function(){var s={}.hasOwnProperty;function _(){for(var _e="",et=0;et{const[s,_]=reactExports.useState();return reactExports.useEffect(()=>{K0(o).then(j=>_(j)).catch(j=>{throw console.log("Failed fetching device",{err:j}),new Error("Authentication failed, please authenticate and try again")})},[o]),s},z1=async o=>{try{if(await Authentication.waitTilAuthenticated())return o()}catch(s){throw s}},$1=(o,s)=>s?JSON.parse(o):o,J0=async(o,s)=>{await z1(async()=>{try{const _=await App$2.getCurrentModuleConfiguration();if(!_)return;const j=$1(_,s);o(j),App$2.addModuleConfigurationListener($=>{const _e=$1($.configuration,s);o(_e)})}catch(_){throw _}})},X0=o=>{const[s,_]=reactExports.useState("");return reactExports.useEffect(()=>{J0(_,o==null?void 0:o.parse)},[]),s};function Oe(){return reactExports.useContext(d0)}const d0=reactExports.createContext(void 0);function Ke({theme:o,children:s,parseConfiguration:_,scoped:j=!1}){const $=X0({parse:!!_}),_e=createTheme(o==="dark"?c0:o==="light"?P0:O0),et={configuration:$};return jsx$1(ThemeProvider,{theme:_e,children:jsx$1(j?D0:CssBaseline,{children:jsx$1(d0.Provider,{value:et,children:s})})})}Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);const I2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACGFjVEwAAAAwAAAAAChseJYAAAAaZmNUTAAAAAAAAAAwAAAAMAAAAAAAAAAAAAQAZAAAR67u9QAAAK9JREFUaN7t0zEKwkAQheEVCxvPYGFla+UFbD1CwNY6ra23sPEAxgRNNKBpLWITA6IsBCV6A/txV1svsPB/8GCYah/LKAUA/4hI4xQWAxs7O/X4JNGtY1BkeXCWX4pMm50zBUZx5U3WWmbRVRbhRQ6rUvJl6bnzBbun397W0kvuMowrGZsy0+jmu1Ng/+iaEm8TsWmaubMxO7cO4dVXaT3/xs4AAAAAAAAAAAAAYH0AgOhTVFHYG+UAAAAaZmNUTAAAAAEAAAALAAAADwAAABUAAAAGAAQAZAAAZ7Lt7AAAAWFmZEFUAAAAAmjefZG/S0JxFMXPveKv7wu0paBcAh0iaHYKHGsIJBD6LyQS2qopsCGClpZoaWp6BZo0uDcIEUE/ECG33veJkz6R926DT9OUDlwuX/icA+d+qVT6DBuOU1aQDAAAUo1H1GZqK9XDH7Hu9XOaOGMTowsCQJm209nHDLFmWrCJoImgidEihgM+qJm1pSn4G0FTE/c1sW8gaKI5yw2d/IUJAPbuPs4UJG+IQEGgRGBAJCpIZ7NrT6NkAGi5wWObWA/SGfZgk010LiI0AV9nV9oW4XAIj036wnzbnYABgDrJS030Ml7WJobNXDytPBsT8G2OXIsD+d/UgckiWracSGFUcFzrpYapBNuGX1RBYIh0oxxYnYITD81kxPNeDUjIv4pv8q5o1k/Nl5tFBSlMwqjPhPFYj4Xd8Lsh3qIC/Lt797NhAKh8bUD4JgJJREVqMbg7+FdHwqg24sPnD+oal8W6KwosAAAAGmZjVEwAAAADAAAAEQAAABkAAAAVAAAABQAEAGQAALMDT1sAAAImZmRBVAAAAARo3p3UPWgUQRQH8FUEbcQvLPRACxVRiU2QJGDwNKD4BRHR4oIYJIpK1OJSKBI5gqASBY1E8AOSIim8Yr9mdu4M5FIIKiJiuK/dzO3ebQ4EwUrSqJjn2xyrG6sZH/xhmeK3b94woyhYALDkrT7d8gETfCuyxRhfnlULuUktD6/VPLxTp3Mc16SQtFY6o2pFIFoBXmFyDeymFDKqlZNjehFeYjTEaAObmySfYsLIkMa3PNNLP0b0EowjlF7ACkD1/JhUN4+M8oNhowzPERr9i83rerFdGLln2CsHDfszYvBkMfYxlYKlwtAAcXruGDbcx0SxEaN4ThgJ/thvOu8HTBv+wb48TburhKE+wtuum848YhDFHuvlQakhXyUz40lzBhCDELtr2N8fGvZ2YeQicWKXCJ9DDELsFua26UxIddNNK/09hANiEGB9iN1AKEWcI+LIVHVFgrreWVKBALuMudbA+BWZe9VpuSdP0QokMN2InQ8x6iSltnWUuhOd1IXTCHUtYDzAvl3IljYII/uzfNdBy/t5DKETUYzyF1Ld7LW84QOWB4cwEexXl+nuEUaaqL+mlVW/tltVWIx5bxSZV7CJ1XqbWQ1aEfqDUQ+OW25CGIlPwbIdrJbfjVAzIiHWYXn1wzJHvinjd2xlPiAGIdaGiZNqXGrIGzOz6maEolgL83dKIetIPbY+M1tBDAJsG/OHlP8qnMFqVt+3NtLBb68GzUQnZ+QFAAAAGmZjVEwAAAAFAAAAFgAAACIAAAAVAAAABQAEAGQAAAaksUUAAALMZmRBVAAAAAZo3q3WW0gUYRTAcQu6EUQPUZAVZQhGF6noRkJiYWiKRVgYGEuJSWQkFsUuxYqaUVQqRkp2sSxSY+c+m5BW9JhBsM7uzM7szmw+JD1E0I2k9nRGZ2va19PAgWUe/r8z3zzMZmTgBQDThlllyysc+3fG/7hkWZ8lBUaHB5lReMaE4EUgNGzfI4f7mXAlwyjAY1jCsYGhQMhHDvcySv1jVoEBHAajNiAzo1+GhLeZpPA9JrSyhw1PPMSwDTz5AygPyFt3M8rVO2wY7uO4gGQgoOSRwu2yPu8mF3l/C8NuoI9R3vj9MJ0Ub+Mj1R1cBDpxbOBuCmAUDylsb3aNi7xuw3AaMN6LT0SKX+TU7Zc5NYkA2MANB7jNKi3kF9nIq30tnApXcFIAPsGPTiGcTQr7WGOpn1e/NvEquIF2LsySt/bxWsN5XoMGnCYMX3KAVjaymxSu6x+bc47XLC+GL7gBXg13dY3MIMVP8dGKej4KZzHqBpr5SC35SE7w0ZcIwGkH8E0C0Y9+QVtACtdw+vrjgv6rVoiCG/ByWgd56ypR764WdEAAbKBuCvjp5dR1pHBlwFjoEYxPRzF8zAFOTgL6EHnrCsk4UykY4MHov4C2jxQu71dmHhANrUI0IAVUTQExz3NzNileJsRL94sxQAAOuQFR95KPpESIyWUYTwM+H+HUxaRwoWDmFInxiRIM73WAgzYgGT3krQvk2PVCKQ4IgAtIlgsx2mcsnzHn75DiHwowngJKp4AR8mdsq2TW5EkmIAA7HaAY4yWCcZh2HrjZJskc2YbxNGC8iPoZyw0m8jbIVhIBSAH5NiDGm8kvcrVsDeTKFiAAm/8C33eJiSxSOCdoLs+RrW8IQBrQSt56hfSuMVtOAAKwxgE2StYjcnjR4PjcZcGEkYVxG1iF5742aBX/l//YS4SxzEx5rBWB3qyn1h773m+SXYWCYYXpgQAAABpmY1RMAAAABwAAABsAAAArAAAAFQAAAAUABABkAACqa+X8AAADYGZkQVQAAAAIaN612GlIFVEUB3CLKCgqqA8RFQmStBethPEorGglizLbLJFKLLV9p16FFZK2K9FitFhJvlnuzJgUBkVfwqLSmTfvzbx572W0QH1opYU8nZtvcPTzvRcODPPlx/9yuPdwk5JwAUCnOlGfXI9Fv5N4LU2zuimBpnpNaII6rPuBxnr6jwtWIxirBUEHCSEF6z8aaNzHBasS9G3Vog53sQSEEuhXQl4MYI5dFRpTbor671uIeVFZ0K9xSXdVNMquiQYgCi5aI+gtgYA+lTl2Q7N6XRaNd4iCi95uRRv8fujMHKwQ9Q0XEbqCRdHrCfSO1LSGOUYTlMvBhguIdEDf0+TMwbOSmXZOCraUS0HwopVisJhLs5yUgtWnEUMUXPSSaPyqJMYQ5lipaA8qlczviIKLVlBUMGq4pDsqmUdKJBNOYFH0TAI9T4Kz2DcLaeheLJnxY4hRtLQN1f0PH3ZhD0rmqsOyCYjCcQ9aJhv57PcSr5oDcuixXw7BES8qm5/OBYJ9mXt7iTVunxz6iyh0QE9xaZZdcrhyD0KIggf9U6wYI5ljRZLTb7sc/rxTDoMXPSSHHnBJt5mE9mxBDFHYiRBF91OUWAuYY0ur9a6bSDhcRMLgorsoSkJ2AY8RIo/Yi/KJBQUIUnRrAt1Nwju4bOc6YtXlIdgB/bK5xujPHMsRreG5xPqDKHjRQmJd5JIuW4mcX4sIouCiG4n1t0gOTWTfLPea+6xU7I/ZxAYXXd+KPkniMeBmqnbhcsWGlQhSNMdNqthZzLFpePIvUSKvMhGk6Ko2tHl13csezMEMEklfpEQAUVjWDrX8XJplvmJLCxFb3B79sUJ1BjPH5mhWylwl8nMBQl40S7GruKSboTolsxUHEAUvmqmGfcyxNMnsma46b2eqDnjRDOI85zJN+5RY7jTEEAUXnfcfdXLZ7yUmSFOjT31qFFx0FkWJ82HG/Uhv5t4kEpsyRY22TEXQh9D0NrSES7NMUKNVkxFDFDzor3Q1ksocG629GThOi31DFNqhmiNxSTeyNn5wjBYDRKEDOps5Np687T5ci8VHIeaiE1vRF1zSpda+zhqKCKJA0bEJlM/jCt5rKWr80RAtDhQd0Yo2c3vMSa6NJidr8WcpCKZq8eZhquP7ByfqQHlEWABmAAAAGmZjVEwAAAAJAAAAMAAAACUAAAAAAAAACwAEAGQAAKmGMjkAAANYZmRBVAAAAApo3tXYaUgUYRgH8C2kKDuwqOy+sMNOpAMzFsOSLumgzNKskFLssKL73AorJLtLwsqgg1qoZuadmd2lwA/Rl5CoaHdn59rdRjqgPhSdSD49kw6Osn6M7X3h//35vc/zMMPrcPyjc0tUelxjAu9uMAG4ibnN+OEuxs3461wu6Oig4VQx/uJqLP46xg65x75eQwXAvOnLXLDuChbeBvLe7BAViAuslHGRDTZeZoNgh9QwwXIHLecMG3SfQwBCwIJcZQK/akgghQpAJaMOrmSlbwgBC1JlQh4G7lPTheOsdKyCleAUxoScb4ZcIsFsOhaa1HUtZ6XoCQSYkMoWiN9VW5tAB4KVCo5yEiAETtogp7lAKR1zBNDhEBd64uJCcMwO4aRPFx8Ee1Nh2EeUtP1c6DdCoA3kLDULvZuTa/Zi8QgBG6ShnA+MpwJQxur9dnDy512cDHbIES70mJoubCWhvdsQgBDYhcWbkAMmhCg5VACWu/2dNhFZLiMyWJDdJoSE1M2i0pkKRAlRl5QSBTYjwoRsb4bsIfJOakZpPVF8JYhoA/my9X6gPxWAdYySWkSUBoSAHbKFKNXUdKGQ1y6txcIRAhZkI1F+l3GhqXQstNfolc+rHwuJChZkQxPkqfn1pgKRK6hbVvIq5CPChKyzOsKreVQAMvGPdBmvvcpFhAkpaIEYq30vE6lALCZa1hJeA4TAilYQxUXNQi/kVXYRApa2hnxfJehDqQDME5WR83ntZw4Wb4fk8eodarowW9Ar5vI6IATskFxBdlIByGCl7lmC/naOoIMdspjoz6l51XPykaJMBCAELMiCvxC9iI45wpvOEMLPnEIYLEi2CSH6h9mPtJ5UGKaRSHq6EG6ciQgnFj+rBVJBzUJPEcJ3piMAIWCD/MoStFFUACaK9YPSxMhXhEAriKiz/82sJ3vfHBzgMYKDPVFtmBjVhmNSMKMxqWJEmyBGfkwSI4AQsENmiHr8X/V6euqLe3veQB9MMmYgBiGAEBiBQQiMwcIRAggBCzK1CfLCMZOPJsUTkOgx3D08BiRhTEjfGJCRMSCTmyF/WxhPQCefcbiL14BuCGgPMiQGZFwTxIj/DvjeJyZ469nOXqOxPUj/GJBRYtQYK+jOP0moWT95E2zZAAAAGmZjVEwAAAALAAAADgAAAAUAAAAVAAAAKwAEAGQAAH1y1dMAAAB5ZmRBVAAAAAxo3n3MsQ3CQAxG4c93qZmAOeip2IE9WINpKLJBJmCCjBGIKe4UoQhh6cmy/fsFGOcrcYt0KKhSwYCykSobYZxPxNTvIPpQe7hkC++l5+8nSLyxCitKZOvZdhWDiKf0sxIvxE6wJsXl+MAdC/8Fi2gEHzF0I+cJ3N4OAAAAGmZjVEwAAAANAAAAJgAAACsAAAAKAAAABQAEAGQAAHinmB8AAAQvZmRBVAAAAA5o3sWYXYhVVRTHf/9976iZZfmgYL2kTOaYhigZJcFQWI2pZWZICX1ARUWTfSmIcDFRQ/xAqpcQ66UHH2oUHbGQiR56yAStRHQaxFQsSCGl6c7Z557Vw73n3jNnxmAg716wH849m3t++7/W2nvtJUZoZqaje3+6F2DOklk/SDKug2kkk7u7e0dPKPcfFGp3VcyeW8aMfay1o3Xg/wZzI5k8dqC83OPaPcIDFdR+udz/7vVQbERgMUz0Ai+owgmPW/P9nmO3BQWLoMsj76nBCWIxLm4pbAoK1vHkzD5vfNRQq+rSCJ7r+fLE/GBgAG7M6JIXv3ugOoRHisSOUslcMLCOjtYrHpVStRrD5sybdWJlMDCAE8faPvXiqJfwyrhUfNjd3XtzMLBSSUmsQqcHaySC8NKkcjla3fQNNm+fd53cI+xpAQ7DVVcaFQq6e9mitt6mK5ZahfgdD/2ZJMDDqIGYzUFcmdqLT8w858W2wUkgvFj62VcnFwQDA5Dr3+Sl3xqJUAWsyLaXenqKwcBeWTS3P0Zr64qlgFLb5L8mvRwk+LOl0NZ9p75z2HxX+1MHSFwm5s43lk6/1HTFACTZgEs6PUqyR1VsTKgUbF0wxVLb0HVqt5M9nypWG3GxkMzufLztl6Yrllq/WtZ46Uq1LKqPYjl2O4K4MrWNS6b84Y3N1S0jHeDFQxu6Ti4KBgZQHIi3etQ7eF8TlYLbvrO7d3QwsNLyGVEsWz2k+jCm/lmxN4MEf9be2nf6kIMFje3DcHBVvjJt41NtF5uuWP0cTbTKi7iRCMKjm+KWlvVBFQN4dX/vx854TY3KA2ckDrtv6+JpR4IoBuCL0boILg26IwgXiR2YKRjYrkdnXPZo/ZDqA3f/6wf6ngkGBnB23LlPKujnfJZGZltWHjp+YzCwb9vb4witqpffjbP09pZo7HtBgj9ry/b/utfB4mz14Yx/Rjk3fdfCKWebrli9veDsbY8GstWHFzeULdkUxJWpdXW09nnTTl/tgdRdGsGK5QdOPxgMDMAl0QceXcxnaZQUh9zimwq2b8ldVyNYl0sCYtnso3PPvBAMDODwj3fsjuBIvZ1Vg4yNjQ9/0zc+GBglJVHiOj2yxgUGvGOii7S26dtF3uYdOPNFAVakZ2jtPI0cNvPwwqmnXSgwFL/v4e9cO2uUl9vSUOzrCw+Q2GaMyYM2QIzcxaJeWwkoZOYW6rFhOGvESCGjSHa+qmNyAcY4G/wdyR4R+8/eSrFwBhg/3F6ShXSALA9qOejcOxvu3bUWDDXI40WKxTlg44dTO6k3T8Ch9BLb6OwYqPZ7HrL6LJwyMPVFaeiC02cJwT1FxCmMGPjPPkOSAU0hnTIwOcihqqi2qKGQufIbB+erMXbwwkso2QYaUTdQ14pHu0YYDOe6mrsz785jevZfJmHP8r30AXEAAAAaZmNUTAAAAA8AAAAwAAAAKgAAAAAAAAAGAAQAZAAAcRPiHgAABDJmZEFUAAAAEGje1ZlvaFV1GMc/z+9e3TSt6IWC+cZkmbMVli9EJBiK1WxaVqtRUb2ooMhhWRPG4GLgjLUc9udFIb4L8UXN4VYSMojozQomNsStYX8Ui9CW4vXu/M45Ty/uufeec3YnBS5+PvB7cQ6/+/x+n/M83/M893eEWbDxwfGayUL+S5DG4h0durV2/sN1TXVT13stMxsAk1cLLZXNA0jjZCG/czbWmhUADxb5QAhoBWLXd4dHbr8hAAqGPotYi1AcEMCCzBzpuiEANjzWMGHRD62AFSiDqHn2289H1zsPADBVOy/nifxuiSCKQwIJezWnxnmApqa6Sz6Sq6RRcXhw//F7Rp9zHgBgeKT+Ux/5wQKVIfjCu4OD4zc7D5DLSWiNtllES2KOxuKw4LVfjzWE/8EO9Y0eNvCkRAsaBUG9bGDubn6iftzZCJRMCd+0kC9HQMCKzC1k2Ot0CpWs9dGG36zK+/G6UATRbYe+OLnJeQCAqWy+y8KvJSGXh2T2DQ0NZZ0HeKV5Td4T05F8I4GF+p//Xvyy0yIua0FVPug/9U0GWV8RtCJwsSaUO5/ftvKCsxEAEBENDG0WwooOBCtyWz6jnc5HoGTv9Z0+iOgLgmKiTQj4ZHR12yP1PzobgbKgxdtl4VKqzcgGvul1OoVK1rG14Q8f3VvsVGND2NDdd6rZeQCAYCrssZjxSAPljtUT2bd/cLzGeYBcyyrPE22PN3nFuiDL/wp0u9Mijlt7/9gx0E0SPc1I0JdDG6zY83j9eWcjUDI/lB0W8ZOCZiFzMrtviAgAbD96+iNUXi12qVGBg1DRtT1bVgw7HQGAK1m/0yIX4mK2ggmFXlTFeYADD626aNHd6UbPw6x7bWDsKecBAJYuOPexhZPpZs9X073z2ImbnAfINTb6HmZHSsxYWDrpzX/LaRHH7emjPx0R2GIA0bKgr2aNWXlg8x2/OBuBkhWMvmGRqdR50ryChl1Op1DJ+prqJqzK/iqp1NoyMPaA8wAAGnrv+HA+3Wb4YbY3lzrVcxKgf+tdly3SmTpLwoquHllz5kXnAQDWfr/soBWGy91qqTao7tn49cQtzgPkchL6oWmzoAlBG1lkPOlw9jWatnUDZz4z0Frskcp/QT2DNhzfvHzMuA4QiP+2hSupNmOuJ6a7GIEjfy6kxusBbUQxJhaWDBrvDsv5luzdNXEd6+mnz9G478o8idaiio/oeomo1k7zL/qg8NW5T0BfmqlMJzeTBIpVyth9rfK76UDx1vlaPgwzzFPFwIkswsbYl7jk+5jKR7oAECTpRDTlFEw059qbEYzEN5YEivuo+uCKZ0wYuDdLoKMYlv2rAhONsByh6UBJmMqc9GaST1wQicFMi67MlLZns0jmdQiWAPf954pZBagCk0onrbYZrZImkQ9JRVCTERQ4KyrP/APT7dIdHNFWEAAAABpmY1RMAAAAEQAAACwAAAAMAAAAAAAAACEABABkAgD8ivGfAAACBmZkQVQAAAASaN7Flb1rFEEYh5/f3AWDhQSCEBRJYnIgNiI2MYUggpADPwoRxT9B1CaxCcoJ2gSLQFoh2NhLNKeNH4WIeJWIFjkS9UBRG5EouZvdfS12b+/2ONvNDwZm2HdmnnfejxX/0eTq2o7dFKci3M835dEP5KBLK2snHXoqwAHCSOaVe6dKtwDUb+OhlcZeVwhfCiacGUhLtfLY1TygLzyqPxScdoCMNvBfF3Jg+exkw/XbFBTCRQ8THvASAVw5vPr5YB7A3jTrUSu+Ox07fZGFvi88Wf101JleCeSSkAiQ7Pj7mfEXeUCfWVlfcLK59t0Jh5npWPaFzRSgux7kAY/a4+uWBa/JSa1CeNvD95gh5VAkFjPAI0++nPNo2ktxKJINAXajXi418wKulku/AzQfg3Y4WnCkA1yrDQSmOxmvJLz0bn1z9D45a6o2vuzF24QhjXYKvOvHyGUvlXq98sYc5xXmDVypKAoid82DdRegAIaebww1m8W6jGHXLrK4nTz7NbPvBNuo6ccbDxxcVNKXHcDmVnHeo+E0d+MRtczNss0KFVz38KedpqL6bQyFH4FB0j8MCLwza3S9dpo/ythZZt0ToayNdfpooctOQAHrc3a63iOzQQFFFN5swwJEHecGJO3PXm5ZGAMlhdDTM3ugFc/VcSCyLFSY2PSekZ6t+Ps/kTTHxalO1YsAAAAaZmNUTAAAABMAAAAnAAAAFQAAAAAAAAAYAAQAZAIAtADR+wAAAwVmZEFUAAAAFGjexZZNaBVXFMd/5848Y56hxSCI+IXGBCXdCFnUjRBdNJoYhFJRsKtCLYJBrREJ2EZLm42gNigoSLtrURdqYlT8WkpBFyIVk/hJWosFIyjSvrkzc7qYybyZmNQYX5I/nMUMh3P+93/OufcI74CvunrnGpxWIZxlhF86m2rOM07s7+rdI6odRkGIzABGtbl1/bIu4n9jwueXbs8o8/K3DVTFwdTBNB1ZV9UzHnLbevrLZvrhXQOLo3iKAUTpt4Xgo/YNtZ4ZazDx8q0+UmWB2MQT3Txe5TrXVhc8YVcxnkQmUm2m51rGrNxnXb1zc+L0CeQlW4bDP69bsp33wO5zfVcEXT1U1jj2y1BzNWNSLjC5HzwkbwEriXn/ONrJe8KGwQ6L+IlyCBY+ULHfv1W55p7+5YTmpoBJnQxBD5xuWtJKCdDS3XsEla3DhiN8q3KF0DlkEZPqNTwYFLesgxLhtevvtchzK5KujPlfcvXnH3zqCysjZ4kMIRD55lTD/MFSkTvRUDto0f2ZwUAYlVztyd+nWUxH3ANF1YR7z2YPHqfEmFfx51ELd9K5RiVXkS9vsVA9/DS+MV/fqquzpSbXXl/ve5gd6VwjDkTtxYHKaWHQL1BpVJMmdeDajcZFq5lAbOy+f1ag2YyqXBjss1AZXR0yZIGHu50Jxr9Gd1qkMGJZay49WmqRLRbBz0yonrjVOP/ORJM7s7b6gVX5ccSBsL45YCE3rNdeoXzLJEFD7zsf/sr03Oyex6tcMVeThzi+FI3S9rBxYQeTiIbuh1+4yddJdQIZOKjJCyAYAYEBDdzDTDI+vrnop0S5Dy/88SXoMROrluxXsOnZmgW/MgWIyF3/u6K8UOgTZU76/XSE3158Mm8FIjoV5FwA1/PaLDJHBAzJvaaq4a6pIhYpd/npAsLwHko52Z0qMKpPMit0Su6in2a+08q/4aPFBdLJbDjgoG/EdgnCdoiIAYRF4o6ILM4m0mxijQcnQ0gzSU08XAJDA4aghJolF8Q+6Rj/AQB4LsR2B2nNAAAAGmZjVEwAAAAVAAAAIgAAAB4AAAAAAAAADwAEAGQAACn7SAcAAAOxZmRBVAAAABZo3r1XT2gcZRT//b7ZLc1APfRqttSmEDSkHgKBiJdSikibiGxJQYh/DlLwYPEQO2CkkZYQuhZXRA+C1autpqlbElAQFL15CWiT7aLm0Cw0h/6xSZudb+Z7PUxmdmbapLubrA++wwxv3veb3/d+772P2KJ9dWVhF8Sct4CDBK8Zwcm3Xn12Me7z7fRflwgcIwACUAIoyprvm558/sA/AKC2CkTDfOEBb7vAfg0ZMpDv0z73RY1q4IEGoAFoAi6406hMIfThVkB8Oj3/giJ+I0Cu/xUBGEvvfufogdtx328uXztDYizwE4TsQOHQa0M9P7fMiIjQU/xEA4z+NFhLy3/03k37K1tPusBS4MNo+YbFixfFahnIxJXrI1rQHw+qQbjAR+PjNGn/1196flVTOSnQ0EDv6o75Ey0dzXipalPuLShIjgAo60kIzO2rdfcND9PfiMXPfpj/1QJfrCeugMCtlhjxsOJoIBcxwWDVYEY3AgEAJMVXOKkBU09cQpO7m2bk/ZlKJzwpE2KHybnOxtSZoe58IzE+ni5/DcqbhEQJ3jQjNV8KGrBTueGu0XcajkHX0cB/8RhNATlRqgx44HHNoBZoBvR6RLEw+Fyl0TgfvNJ704NMht/rphgRoQ8UA7nG2CCXV3ZaE80y69fMeQ1VCfOrYSBvXP17xAP70/JzwbEvD3fdbVp5wz2uSznVFCODpartKpwNqIznBubuPOi60GotmhzsvuyBPzYMJMs1RwtzYZ8Il6es0UubyLWhUmD4nga9J8r35ZlKZ9aoMoGEXAlMfXe0K49tsHevlj/PPDFHjSpo0I5rnoBrBA62yVYz3oebMnKotDgAZX5PdFcBSDk3e6TrFLbR1GZyrSkpajDZXYllvQMT2Gbb8Gj6Z/8d0WB/cByMyrCijP3SglxbAtJXqtoa+iwpYXeMumtu5ZkLaIM9Fsia5ToEcgSgyAiIJdyyXDfszOkX+2dudFrwywDs+EhHwdSfR/bm0SbLPDpreAUftIOjiNhwLaMctNESQJ6evTGgYY4HmwtUffIqXh/MVdoJRCXkClOsD8Ph5KWWkfUm0GaLGHlqdmlEM5Sr1OUqGFtqg1wfn6ylqt2R9RcoyKXGv7k79zr70CalPMJIJmscDebI5OVH0Yz+HyACRn6q7oExCxB0IHZbI2CUyGKMnSihmPCTxHOK0aSP1OuFlezkyMD3TwPsCJHFbkaK5L5kUEluIkH5T24uiQ0SLYJ1YEaSQB4CgnuSISYCxzkAAAAaZmNUTAAAABcAAAAhAAAAIwAAAAEAAAAHAAQAZAAApfNfPQAABAtmZEFUAAAAGGjetVddaBxVFP6+u5u0a2IffBGbkGgVEhNrS6VarYp5UMTmpw1tqI1FwScJKIltU4mBQLtNlPQnWPsgiogUyqJ2w6apCBKQIEKfRLPNpmDEbYSqhBqSmJ07M8eH3UxmNj/sJjsHDiyzc8/97nfOd88ZosB245ufuwCe9j6V93c37wivtoaFBDA6OL5VWUaCQKnKBM9sMKtNu/qZlp1TK61ThQShbeOMBks1iCUHLKA0UMRe35n49uv4roCybhBQzJyOACjObwHU88821476woSI0FL2BQ2qbBY0HadF+4L0iPIFRDQ6dlgDz2kAXqfHDeCJ7x8fO1rwdEQiyZBdPHMzAFR66Zd4hoQd7iJVwJ+bNKvqWmpnC8aEUTx73AQqndNndjaJDlOhTYPipCbtW+eCeK9gTHwRS5RZlpUgUOI5LTHU2lTTAABXomMRBRxy/hOAECNoqccaDtbc2jATC5b0aqAkqxb0AtQxp2hhv6uBeS9TLF4IoG/D6bgYi+8yKK2ahMeBi282VScW33t1//akFp7zKAaApjRfufrLS+sGISJM2WpAA8rDAjE9Z8jp7PdTwfleDfyxTDEMnB8ZGQmuqybC0ZtHAuRleqsepN3W0VhzaaU1lwbHX1Nif6my1wBteTNxLpIMmUqdcS4hhwmJz9x755PV1r3VWHXZIEazUgcNnMobxD+h+RMaqFyiNO2pADp66urMVfsDKZbCOxqwl9JHaPK+vNLRHkuUFQkThHglCYmdaqxuzCVGfzTxOShvEOL0l/yYEPSlJekuLmozIMdyDZGicVIDM+4YOYNouzbxlEHV6mpI0AAMmx/17nt0Itc4XU3b75iQPnc9qRw1yZTwrAaYxcI0NxnhfOvKStlnNdStxXrKCcTrQ78dMYV7s7ukCek6/3LtdL4gelpqDYPSmTMThyLJkKakJellIf5A6dSn671x+xqqrprgdzmBkJDRaYAVWQMKtEj7WpLMxUyb7Ro015RofSxRphhc1iUJDn5Vv21/IQait4cSHwfXRMqiDwiUuDVNwAhQThRqNp0Lmt2rMvHC8OSegMiPBOjc8wIQ6L9ev+14Iad0tZokTZF+DdKtBoP4+z/NMApsK6Zj97XJVk3uTaeA7o7X/cOBh+76DuLpSDK0oKxwehQTd9uNb77n98/ggy0DMVNqniRYkZ4V6QJht/+0QUnm9AX2yPDtcgVrPC1JcUkS0V9fefAAfDIPE6aYH5IsSZ/cYcFQEuiEj+aAuH/49h5N+3B6Y8mM5gAFA5P7yif8BKEWJWnRHkh3SbgmJvUXi80wfLYgAGy5PnVUk09mPt8cSSrY3VMvPvyv3yCISDIU2oJxCiqyJuGxu5vLd6KOpt8g/gfmUtaG5klergAAABpmY1RMAAAAGQAAAB8AAAAjAAAADwAAAAcABABkAAC7TR7vAAADymZkQVQAAAAaaN61V11sFFUU/r47C1ipUR8koiGSWLBLRZO69UFsDG8KJUvAWGLE6IM2UQnUStDU2JXUoobKopLYxpioMUoNv21Rn4xBTQho1MTWtStEEGOr1loxdefO3OPDzuzPQGF3s3OS83Jzz3z3O/c795whZrHj+7/tBNhdtCh8sGn98ndRJVMXWvz80A/XafBpB4ABIN46gQWookUutKiN3aPAWnqnIwBCNCLqUKjgH+8baXTgbiSzoHlw7Lkr3pCuJnhR2kWErjJJDSoNIu+Y1DKnG1W2IuYHD36/gUAz82yzpxM+t3pd9M/QwAcGztRkOL3D8oHFT7mMjv/+Xz9CsBy4PffcVgA3GB+cWXAFtLe1xXQY4ASAtwdT17uumyIwv0BgIGT4gbUNLYUB7x8YXRyh2a0EyyzKp2SkIx6v/6di5jPG9BCYH1C3FlodwQADs88BGhUBF6wj3BoAGytinjycarLEHGM204V1nWyLL2sv3Pze0HdXO05kMrtP/EOKRWlujd/8Rdml5ookNUANwHcb+MO1nO3BzWMnlv9tA2ez+3KlSFvU7kRCVNngGrijuKYJh9L1WMstfwU3JxI0GkgUHtTz2xbfOvpw+eAENAs/JCPTV4zPWloT30TfssnjmkTOAdhkT9/AT1eWydxj7H0oY+HJxMqVzmwBiQSNFmzRgOQOTEITC9x5mc5y055j7UAGu1qin1wqqGNt9EsN7PWe3gLn5tf3jy6thLl2LHmq1EDjRLZq4N+AXubaFnrLu3MAtuFrO1ZHfyw1cNv6Jb/YkJ3FegE02LLzcOqe0pmTk5xnv1CuWqcytS9p8Oe8+LLizYi80td3Yk5Jd+5AOnfd3TBZLviu+xbN2MS2Atb+FdaPL6x9vIS0c2Rh7dk3K20OL665aa8GPwvWvg12PXNk7JqLg4u0X6y0SjHbwhYNuoEB5Cpqd/slu1o1bNPgWD8hjygpGkSMKHV7b0vdVyVPr5WY1nxWg1OFwtOEco1JQoShgr+xrm5Ck92BpgNN3vnEcPreUMEBQF079aoGU+c1HkHvo4O/Xh4qeH8sprVRmwLCgwYWGZ7rCE1whdY6lB5WwCrlDaKe+GYErH9nzY2nQ2Gee/ddbNZgJtvxcl5jaHpCS7tvH8br0g6xJ5h+G7x/w9DJ5lDBASBD87wGfgs8vbQhSX/kCg38o1VLpm2orvN7Phq/jp18KDTB5aceUUebTh0jECsSn8iEfRmWhgoOAM1H0iuUqKPKG8398VxBXg4dHABWDJ/6gECr9z/g/xvY/wMSR7zfnh0m2AAAABpmY1RMAAAAGwAAACcAAAAdAAAACQAAAA8ABABkAACQMqAdAAADhWZkQVQAAAAcaN7FmF1oHFUUx///u8nqdpFCHwStobRpNVp8qAgigtiHomaThvpQjClSEPTBB9102ypRWdQ0taUmLXlSFMWPhwpq2AbrB6QK+qI+CBLcxYRiqqJGUUp2mzkz9/iwXzOTzTbNx/TAebgzw8zvno//vXeIJvZ2Lr/R87w8gaQBwIob4kxfz23dWGNraXbzkqdDAJIE4IMThckgAlsUbjQ3eYdjtY8gAnCqo0/0dOSjgDONLqoq5605KYARADUn/plz9GVEZLFGF+M7Hn5EybQFUXUFYamZ/oe2fxUV3IK0vnp6JnHRFI9YaCWNlSaATl667o/XEKEtgJtNFA8ZxSZTqTWyDAej/dmdO90o4egfpHP5ja3KPKFB6YDmXtrdsRsRWzByiqMCJAnWu5OQmLEZXAWrwT05XrjLsexjpdZMtd5UR4+lbi0s9wODY4WUge0lMBs3PN7ffcuvVyYlqpy3HBaAAqLm5Kx68ReXC5bN5Ttdak6IPpd4qmT1y+Of/pC8IrhHz0z3uuDdAU0r69oLI3s2/7tcOFHsC0yYbC86icNLhuvO/bZOjB4VAv6oOeCPNyYvvL6SmnHJPxdMWDUzMD65aUlwraZ0UJRtlUj5nOmVSodDnBJwPlAqQMJ6sWNLgnMVB8uz8r/AjL3f1f7FSrttuOvmaQFGylmpOiHg3gNjhXsvCydgMhR6x6MeWi05mFM7KDC/CxnIjEuMZLNqmsOVU1j28qxOfZRqL6wW3Js9HRcd6nPh7Ljkjr/v/Hn/ZSJXj5pD/FUSDq62mLZ9t/UtgX4bbg5HMfT451Prm6W1Phvw+XMrkI5F9S5LKzRPC6i+xoAA13sl++xSIjdp1p1/Y62Wone7tn4jBqdrdVdPb3p/bmrbIjVXqTdq+twa7zocakbAYki24kJ9pVnkPv6+c8tna72Qf9i57YIDngjpHgTY0zs+vatRzTmuthxGRHZNsXVIgF9Cuod51eH7JiZagnCKkz+lbipEBffB3raSCw74olb17euLbY8F4Bh3BxGxnU1tfs8hvg7pK0R55P6zMxtqcNO72v+LfBdJqgMeEECDzcEN8GSg4TY9artn/Pw7hO4rHwe0uvsWGNw+8eCWvLmacNbGnhFgLrS0tboWJwCA134yM2V8p+vgrwcNjIOHntAzWk9DzPccAcSgDd5dG99A1cSCe4oH/geA/qt59cXVmAAAABpmY1RMAAAAHQAAACkAAAAOAAAABAAAABgABABkAADVd96AAAABxGZkQVQAAAAeaN7N1E1PE0EAxvE1mhg9Ga/GBF+KaSkB1AIK2k0LKqRo0VaBKm0VtLE06Dfo3XjxM8ClB8DOS/XEhS+gCQc7s7tdqx5IuOGhl47PgjUYE4+bmeR32jn8D7OPYfznFFl9qEhEe4nUVQmW4VUV3ou3hhZHqSMLVGw9J0K9gAK8BETvvv6wfVqLxiyxMjkiVR5hT+EZLO4H1wtaBKYrzRNzVLoZKtVjhD6BechRuV3e3DymRWSKWOUUtdRDRD6CGZiFDBG3tAhMkC9n7lJr7x4ip+E+PIAUtTcMXc4daq9MUFtNIiwBU4Do1jSzurUINLkzHGd2e4zZahxuA6IVot9oMzmjzN66yRwVRZwJsQM75rpzSovGCG9khhB4Da7DCNw44Nvk5DdEKF8V0RIXx//5eIX8ODnAG83LvKGuIiwCgzDMnM/pijrqRyDm7l1n7rJEynn8wH9dCDOnHEZgL/RBPwx4am7cl13mInR47ua8uaNy7c+FCx+/n73E3Z+ggggLQY+n5vo2OUkizMNzl0akFz3LZWz/Qhf/unoOgefhIgSgm7utIGkG/IqcwBvE3H37PXcq2dloZn3yntsv5ZpZTXufdM4AAAAaZmNUTAAAAB8AAAAvAAAADAAAAAEAAAAhAAQAZAAAQRf7KAAAAX9mZEFUAAAAIGjezZUxa1NhFIaf9yRIYiS4FUoIiv0BLpZ2M0OXZnITrLuT4GQXoUsWt44OTt261EFau3bqD2hLcLCF3CxO1UFK7809DrnJvUluO38vfHDPx7mH57x8nCNK9OL7ry2T9gxQdrLvdyfdp18IRNX5i/X9Qf3GRj0B5l6Ev6g9vPpKQFqA//so2RZqCzCpAJ9+OO10kpDgVQxWDqOWMeoLGkbuuuDb2eaTVwSmGecTTz5Laoydnrp+a175SICawi8dRmux0tdjYMc8c93Zvey2foYIbwC4a6R0NwbFQIyIJWLZbz1IegSqKkDzaPg2llYtc30yGo3003Dj2Z9Q4cX+oF5v0pfTnpvr59e11nM6SkKFt2qT7Ri1x8+E6Ulc70MEf3lw+Zgdt7Hzx9E/nDr5FkWQmvtVcbtaYbbmeT4Tl2zkPMfzuVwp5Amo4CW1C/FkWYqaOctCkZG+ET8iv2sBzIL4XMEyYC/5b7GZ6STj/hqljWTNGIr+A3aWb1YDMT8GAAAAGmZjVEwAAAAhAAAAMAAAACgAAAAAAAAACAAEAGQBAH8nJFcAAAQ9ZmRBVAAAACJo3s2ZT2gcVRzHv9/frKnrxnhvNGlpDq1BsGmwleAhoCht2pqqEBN6qJd6EUmJbaW0eGhSK1aM1oNFBS8eFgoJadeDnkoFT0XBxmyotrBpQYvRRpRk3sz8PMzs7OxmTTfJ/pkvPBbmzbx5n/f7895vlqiyrk1e2+i6iSyA5uh1Kke6X3riXLXfJ9UecMlNjHklkwdgmJBJ1ECJag525eKPXQ54kAAECglWiMQnO/Z33qgFQNUsoKq0xfrQEGIIGDDf5j194DRqpKpZIDNxfUCAZwQEoRD6q2MpT/Uc2PZHrQCqYoF0Opc0wBkDwG/h6v+curt4ATVUdSzQtPCWAdtFA5/P+z8x3H2429QSgOsd4MupbGvCdbIEUvmgFQBQXnq5//G9qLHWbQHHdc8omGI4eYUAxhIZQR20LoBPp6a7HBdDXmBKH4AQ4Pyr+7dm6wGw5iBWVS55GDekGBKGDAIY87atp1EnWWt9sHn7wKCSwwpAAXgAlIQnGHn9QOeVegGsyYU+SOeSi/hnLBq0hILA9MLDv11AHbUmgL+T/x6Fsl2gKKROAqpH3untdeoJsOo0emIq2wpFVoCizANg6tS+rftQZ63aAkuKdwVMie8ywYZFY4k3ggZoVQBvXp7daTwM+W7DEICefnx277bZRgBUnkZVuaQ8Z0AaAmED5u0NzigapIot8NqlG4MG6IlsVr4FqCfOv9A5H2uAV9K5pMHSWJlCZbo1dfszNFAVATC5eMyQbcyvvuYPbDpc77S56jTaN5VtbWIiyzBthhaY/Kqv40U0WPe1gDJx1g6Oyiz4v50gjiIGWhHg2czNXbbqoAAQLRQqFvSji3s6ZuMAICulTVv1fQPQwE+ZDgkD3qWxRhET/a8Fdl6+OeSQPSWFCoQ8OdG/+a9YAzydziVtOqNlCpXpxEO3PkeMVBZgodk5boFtYeBqfvV1+GqD0+Z902hHZu5RC+6MQCOZBxBg4ofdm/oRMy2zgKPOex6ZKjouQG1V9xhiqCKA1szcLkNvoLhQAagc/2XPltk4Akg0bRp64w5Ag6BIJ2ETv2uTM4qYKrRAy9e3D9rkU0WFit9O/vrclntxBfCDOJ1LJlswI4q24sDV6/MPPvYkeunE2gLSwrcN0CbUQuAqkBAdjvPkfQt8c6cNnjcDRTIsEf3V90RxS4quhX0ovZ7frRmem/yPTvl+K+iL3g8AlkbGUt6B8Pj3u9u/qxwgM/cFBIfK+Vb0m084SV2hr9j9lt1bugDL+nyYextUNl/ta/+zIheioFfLneUAuEFjsCcEu3HhxRrtK50UIYxMWKMALA9PQoBHHAs7AHxbEYB6+AmCTSvWBBGY6NeIEEZL6uRlLsbwHxtGYIrGKmQ/hzTZyoOY1huAuxFAVyUPeMGvG11JRiwQgSnvYgUYgQb3hzALFvVI9vmOXKUA/wHPJ3pHqnUMtAAAABpmY1RMAAAAIwAAABsAAAAoAAAAAAAAAAgABABkAAAH2SvHAAADw2ZkQVQAAAAkaN6t1n2IFHUcx/ExlbpQz8cyT82uy/OhujxFvRCpRDMtkkCs6zCCMEsKQ3ugUE+xIktFCPEBQzqT2Lyd55k9jBa74+jsfLrd2b19mN2d2yUpuL86Ag/uvn3GnTnX88R/vgPvf+fFb/jMMILAfF2WL8/4M9j1L6LSOpsjO7gt4WKw6/RwCPVfkq0qVqiz+VotbjxwByZ2HWaFiGgUTvX7CKfq7QjGp7BirWL0jXbc/I87sW2sUHugvew3MZK7IEaoNRghF+0oQrHO451jWTEjaO1uEaP0KzCgdAFgm4ueu/oiK6SqVysUMdqnATORj4bFiMo+9YBk/dgsWiQCAUoe2m/K16pZoSY1VvuTZA38LFkElIbQYPQQ+9RPybHW01KMmhBQctFfJKs3ELAms2JHpXj9MSAn0Q/IR89KsfdZoUOBfNkRKZ77Xo7TUXT8FmqFw+ExrNg3cmLPd3I3HQZ0BPnoCSnOO/X9aqJiv9zd9zWwA2gIVeIK+9R3KYmmPUqC9ind9CUgD+0/GIzPZYV2SsllnymJwc+BAaVGD/1Kjh8UmLc+aruSatuhJOljBJS+KKK9jSHmqW9VU29uU5P0IdoOzEU/cVE1uZUV2oipv6OmnC1qit5DPvqRkrQauafeoKYa31LT9DYgoOSjH6ipNbynwtQ3aXZfvZamBoBDqJaS2Kf+qmafeU2zaSOwTchDb2zWbd6pv2Rkl6/T7MFXgG1APvq6lv6Wfeov6Jm21XqG1moZWg/IQ//ZIGYnslrPapmGlXqWnge2Cq3x0HV6+l1WqA5TX6pnnTpgK9BKQEXUtp7jnnqNkd27yMjREkDL0BBqZHinXmUUZi4wcn1PAqtBtbdQkX3qlXru7BOGQ9UIKD1VRG/UcE+9wigsn2U6g3MAVSIXnQdsoZ47wD71h8yejulmD1UgoOSijxvO35Xn7XJWa4JR2DzJzNMUQEDJR2ebzhbmP818WVko74wDNgGVoFEhTLxTvy9U2DcmVKD7Q3kCSj46ucVZzXuq83/NFloK/wnAgFIJOgDULkeTzB57KnoYPYJmIjxe+zHDsavQXITl2gvR0+gZtFjP2vgw2HhlrqzQc/VFLJQ/5UKluehYD33QO2m5e1I8WqAElIASUHoUIwJKQAkozcd63XcUKPkfBqADdWpmKbBCejh2N3T8COiMm6hzG1pdgtZ46GIt+6kgmAXlbthw9AEXNW9Hp42AVpagC3xUd14Gdn0ObnjpXqDb6BHQiSXodA+dVYLiw9A/z8zd/NX7HzEvJHngoXNkAAAAGmZjVEwAAAAlAAAADgAAAAUAAAANAAAAKwAEAGQBAJ/K/NgAAABTZmRBVAAAACZo3mOQ2f74uvyOB7UMDf+ZGEgB4tsf/ZcEYuntD9NJ0igE1CQCxOLbH68iSSPv9sf/+YFYaPvjepI0cux4/I9r+5ON4jtfcJOiDwCu9COhqRjjzAAAABpmY1RMAAAAJwAAAA0AAAAFAAAAAAAAACsABABkAQAanuSfAAAAYGZkQVQAAAAoaN5jYNj2RIZhx5OvQPyfCYhZgJh9x+P/nDsfr2PACXY8ngvSgIyBmn8ANarg0fTkDromhp2Puxjwgu1PNqFpesGw+y4/AU3PFYAKz0I1PGbY+ciOgQAAAF9eSoCTwHWxAAAAGmZjVEwAAAApAAAAGgAAACMAAAABAAAACAAEAGQAACJuQm4AAAK1ZmRBVAAAACpo3u3VW0gUYRTA8cmNLqggGmSJYCYUCUKBoBTZBQJNIioqhCipEIokySCwixRZgd2IioouqGRsOLNz25nNaCkwNAV1173O7s6us0ZFPRRhkeTpTO7m4vPpqQ78nwa+H99whmEYwnltHcrr73J97WddkNpAl/sYpcPgoe0zEezHAOdeSob0sa5yPHRyJvSGG24lQ5qbIe0l6+7rYd3Qm4qwrveD3GAWGaTaPLXdnBteYK8QM8G+KeggGcLz/kyeG3krcSOgYiboxPCGg1ar1UIGddq8F602D7CcBxCEJPiMdVWQIQ+6goWPbN7v7TYvdCKWBAXO84R0nW/xPv4OIvcxBKEDIQTHOzlfARlyWQxsvMr74AaGINxNgA85TzPdOjuds1t4v+sS74dWLAne5n1Gm2M4nQxqEoP1p4UAnBX8cB6hJHid9+4mQxpUT3ajEPx4AqEm7EwCvMD7ewBgFhl0SNJu1otBaBCCcBwzwZNC4OcpIVBKhtTatBUHRG2iTtTgMDYNavdI17lGDjv2iCHYhwiCkAC/HFW9i8iQLVJ423YpDDulENRgJliL0H4h1EiGVNq1uZVSJFiN0FbMBHdNgaEj+IwMWitFmjbIEdiEIQhJcIccriZDSmU9t0zWP6+WdahAKAlWSZFu0gUoUaJtK+1RQBAQhDVT4MR6VSsmQ4rsetkye2yyGKESbFUCLJf1K3RXwa88X432LrHHoAhbjkgC/FSuGtlkTo4S27tQGYXFWL4Sgz+gotfR3cb5ISNDMcayFANyEJoGR4cYK9D9ntMc8ZY5qgHzsUzETHABQrmKsY7uNs9jhYwa/4aBBUsBn5KuMwLXTCQ1iyM+Pk/RC4gh4/FMiHHEzzHkoxhVePhkChRiHO/Smb8yanwzo4x1/H6NopHH/J9/Yn4ByYxYN7/uQDkAAAAaZmNUTAAAACsAAAAVAAAAHgAAAAUAAAAJAAQAZAEAs3ud4wAAAfBmZEFUAAAALGje7dRPSBRhGMfx8Q9pggUZFoqBEQgSgQSCZbSQXhQURA8S5GE7FJUHFfKgsHkxaS9FeglBUC97mNnZd+Yd96Kgl7IlaLfR3XF23d1xV7xIFyFEfXpGZmnxEjx63B98rx/emRdeQTjHvonhhe9iGM50SAY1MdyyLEVO1sQIfM1D16WfXhLo8UCxJOnrivQLghji4OB7IV/oKgmdkzbci34dfJiEaA5fkSJuEjglRyun5c3sF/8GzGF5+A/7C0jopBzzfpCj8FHehBnMwU/m/fojEjgqm3fGArE/7wIxmETY6+B48gXyjb9mhjoUMOAtouPYRCBq4wfvmX6LBA4o8U4324IX2BtmwDDiozbOjDES2OfTL/WyeLRfMeEZM8HGX2KDzEh5WLaChLYpiZEOJQ7dWC9m4wOIP1eMHhL4IGhWt6rbv11qAtqxHN6nxJfJl9PIk7NNPAnN6jY8xBz8qEtO3COBNTzZVM9Txw08BXcR/ocnPtOOCFB0TUuv3tDSUKel4DbCDr5/n2Wvk8ySoPW0fMmCSs2CKoRvOni9mnxFOyXfKhOWdiwMSrDLiF+xcZ6OCCtQSnwsLZcN5leKlWs7T+hPOt9tPIsKwYwonHta5lMeagrMqhUuZPaJufX49B8XVlhh/99fDnKESFU/MpsAAAAaZmNUTAAAAC0AAAALAAAADQAAABAAAAAIAAQAZAEA9UdUDgAAAThmZEFUAAAALmjefZBPK0RhFMZ/58wted+ZspYssFCWslBKFkpZsGEhn0EpCwsLyp+NBWXFN7DRlBQb38ByjJpYkJKbycJcZsY9FjNu103z1Ls4T7/zvKdHyOiqWO4tfNfvAsinfTFZC7Jw1Zp7X6J5j+HMyLXshgRa/APvn92OhsKyx4gwHEZ76WhsbqSiCWkmrzk9CEU1FCX13qrN3DZAkrx0fr8Uik60UsEBHiGCjYXF4bcEHj997H7Vxq4zTb53rVNKXYXnk9/AAKCaj9c/0f7srZ/Y6vHUVDNppPviqc9JXHaY92Y4wJnhseLl7MB8uoAgUtuKUB/9SaVe0++1bK0ByCRADaEmgjejJvFhODNUycKKUUobHyIvYdDc4R8p5FaAm/b8hMSLTA++01HXDz1smnZCfgAx7nr6AIqbTAAAABpmY1RMAAAALwAAAAYAAAAEAAAAFQAAAAcABABkAADHjO1dAAAAQGZkQVQAAAAwaN5jOL32cuzpdZf+o2CgGMOZtZeL0SVAYgyn115SAuIvCNVANlCMAQROr7lgeHrtxTlgDGSDxAAF5EHBroZQLgAAABpmY1RMAAAAMQAAAA8AAAAJAAAAFQAAAAUABABkAACeX6S1AAABHWZkQVQAAAAyaN6Nj0ErRGEYhZ/3u/d+N5ntWFpM2ZgNo252UhaSYiFlMT/BD7DzF+QPyMKsJKXLykZJjVm4UmpCMigsxuY2zL3zWhjCqJlnc+qczqkjAKoqld0oaCkZJzXP4jVfCnOFB7og1bDq1xvxPsjkn+xVIRLkSFvpVrAwctFRLm+fFxHdpDsVQdf7EreUX8y/A5hD1x04djxOHY/IuFwal2vjUBPDkxjqIsQICYwpshG76U1552wJQKb2bnMeaWTRfotiAattRbH6qf5vX63qrAAQ3o9ao8u+as6iWR8GrWrme6BjULFQkn/fraphvJYDMw1aBIKfsQF8dE3ohYO7AFgBmW87VzR1orfyF+HjMCRZaJwwM/T2AQyzafxz+v/6AAAAGmZjVEwAAAAzAAAAFgAAAA8AAAAVAAAABgAEAGQAAK3aH+QAAAHSZmRBVAAAADRo3q2Sv2uTURSGn3PviSVEu0h1cwhULEG0igHHDoI/0IBWQaEKXcRBSgfBRcg/UEUUXIMFhThUqSZxdq2KFQcbRDEZFFOhQ0oa/b7jkDb9Uqsl2hcul3Pv5TnvuedIoVDu6WssFkGG6NSCwawgLywMHqSH97+jC8mzqbcjHrnvMRTwBorhAdf59qVgd+I/9WHqXKq5Edh9Q3fURKiJ+219F8eCCHURGsjBH0iursHHmak3V/L5vP+r41tP55ISBLMKCQ+otdwq0K4ich65e+UCLg8N751ZFwxw40l50Etw1UNSzfoU2eWxrauQPyZsaMjFzOnUo3XBa5XNmmsMfkjGCI6qMOLN0u0ERBKYoRCqyNilzMDdDcFrNT79Pu1DuaZiZzxI27W1v8YUxscye253BV7R6HT5cAzuKezrBBseTJHR7Kndua7BAMcK5Z7e0E167GwLHGkwVt/iggM3TwzMuW7BxeP9S+Fi8vy8SK4mwvzyaC7via9hLIeZdO14tcPm0oc+TSpc6Ghqq4oj/w4Gdj7/kugNll4r1h8dSzWu/xcYYHvpc8Ybj9uuDWLGSTZDrlSdiJWqzXip0txWrE6wqcpX4uQr8ZXwF/buq2nt8Lx5AAAAGmZjVEwAAAA1AAAAGQAAABkAAAAVAAAABQAEAGQAAFT/qnAAAAKNZmRBVAAAADZo3q2UT0iUURTFz3nvUxOFKKyFRgvD0PzXTDLYrhZhRFJqDrWwRUHQosIoajm7Ni3KJLdmYDAFkxgTQUTQpiIxLbUU0ijaJIHZ92b8M99tMc44M/ZHne/AXbzN+3HPvecSAESEL/uGfVpQqGPqO3MWpr1HvN/gkhgOT+TlRqOPNbFfC6ABaAg0MCPAMMEX4sR6fcd2j6wbEgqNtmk4PfHPk4B4yfKbwAAht/IXrXuV/sr5tUCUDdlqSBgSBhnF5YqCe+bBbtuKTb4JDZ0NBoN61ZB5JydkQDv+KZAOxAqgTRYbUbdLrIrXrx68q1uVXQDQ0TfiyaU6p0RKtWCLBrZroPBv1iVtJaLKkZP7mmvu/xeSqUBA1DbPaCmgDmqRNg34/gF0LPDCgabKzjVBMtUV+uiz6FzWkBYN8A9A0ZD2xqbqm+uGJNTZP7ZXO+jSIrXLtiW7EktwqqWpsjsrCAB0hCfynIXFuxpojXeSOifYuQ69x5srxtO2a62Q84fK5ornyk/Yoroz19yQBbNK7gQCorKCAIDfz1j07c7ThuhNzxZgyPoiz5g/K7tSdenJUEHeXP6ghpQlZxNfhFEzWF4dCNBZdycJXW+otW3yTFpwSRiqXdrz4WhWdqXqRmPZ8wj5bMVporriGgQAZqmu2SBsEDaT58nX/nCs2jVIz+EdTw04mOgiAYzonHrXIABgk/0Z6wwD1ACA5RYkQgxr4VL6GQ8nWeUuRPG9coi0cyNSlXVOUtUaFP2pYOqXBjak3rSY6M2uQQCgIjz1VQMlKZ3A0SxWbkIMOJlxYn6iaHraVUgEuGrImaXtWjTExYG6ugVX7QKAjY8+b4KGVytr/EdDyRcA+A3D0hL1rKSxAAAAABpmY1RMAAAANwAAABkAAAAiAAAAFQAAAAUABABkAACrOn62AAADL2ZkQVQAAAA4aN6t1llIVFEcx3FLWqAeCgLDoEXKAsnQ9oVWi6IgKgwLRSEKFNswKorKQikyipKixcwsra7jXeYu0+KWWWpOonM9M+M4zThD9dJLkNBLzb+fmS2itHgOfGFA8MOZ//9eJiwMh4iGVMlsfq3UuqrBYsbWKc2RYTyPYXSMsIltVY+kNqqQTKpGtaJJz0XzQ4PoqG0SzdyXlpaYQSHlkjNFAmBFOnqIngCqQk+B1aF60UFNosNuF1tTmcCG/zNSKrGsBzIjC5Ik1j8m/cReio63dqk1XRCE8L9GCss9UcWys6sEyH1UhkRgChAN2dBjVAmoBj0D9qIHe9VoMef8NVSgsLhC2VV4W3HW3JUZuyezjwKwcmAyABUZqJ+5fWoUHYn/NafsbBp6R2FT7yssE1jjH7AvdZIjc9AbWCKxeZhbGeYWGmBJQpjbXi7rXiq6FuJ2Lf3PzQxVSo40LtAlPFdYEmGAJemqEF3RXCBBoPAimd3CkhCWhH5bEtms754pF6j7HxXKrKRIdtIdVAqo93kTxbYkbq+k4keto65LTs9NIH0wxu023Sdfci2/orjoGoACdAvh4aYSxdzM9SV7QXFVXgJ0GV0FcKMHa+SK5MmehHOKm4DRD+zb7VwzuUI5iqv5DKA8dB7AxR5sJ1fkhLX95ClrO+UC+QXL54octnq2HAVyHJ1EOVY3nba6q7kiexX39ANWDx0CcAQdQ9nW9vdckUS8Bfaonk/7Af2KHdYcY7lCu9SOtxlqB+1WPbQPUBY6qLj5/ihJU73vdgABRukoE1gmTySt2j9yu+b9nKJ6CRh9x0IZAhvNDdmk+mZt0V7TVs1L21AyoFTVG+T6Va3VfMkbgGxEm1EioCTNa+OKJBi+vDW6j9ZpPurFcLuz3IDZdvuwJbo/sAzISrQa4Wa0HrfjhsTbAslzdT8tQIvRUiArdN8XgJO4AJOxVTFGp3+W0UnxqBdbpPslbreYogdSphkBmgEAGMWiODTHCCzmhkx4GMyaaAvQFEBT0XQUo3dqXLcqQgtEjbcFuybYgvQd64rS30SH8T5jjM64cbZgQQSKxOe+f/8KwVMMQUzpBO4AAAAaZmNUTAAAADkAAAAZAAAAKQAAABUAAAAFAAQAZAAAmL3pFAAAA+1mZEFUAAAAOmjerddrbFNlHMfx6jKQiC5DvOEUMycacUNAmQuKI6BGYzQi4I0Fb4iYEYKXKF5ivRAFJBIVvOEmOHAetnO/tCIdDpAVq1l7+uy0Xdv17AzemBiMBF4o+/sbQ6yAyVifk3xfrp895/88zzqfDw8RnRWSWXVIis5qb7GrdiuJcT6ej2l2j9TFeMiS4vQd2iHZtBPtFu2DP4qx9rBor9zX0jmxIESQuupEiZECQEeDmH0C2yXaBIzCYiwSEaMLmcBGnDGyVWLPfyszakESABUZKIC2AwmhH8RjK6O9wPaJsf0RKbpEEISiISMNranyJpkd+gaIgFqxKhmAhkwURN8DakPtgPagDmA/ibGfwy32jUOGNips8ibZafhaYTu3yowB+2OI2JGIGJs3rDn5/XS2oLAKVI95hf87r/jJ8zoalmL1Be9AQWLTRJFtw7z6T5nX4E7s75Ciy7hsd0F0arA5Ov9nc/TvkWKPcTtXrTLGdvp5Hdoldk7gsyKBirDlG089X8Bkey9hplyggc3RLLMt27DtT8aCYvwhblfS5mD0XBzm1GkOM/PzWs3A0yg5tU1yF504zPLg+dJFew7XS7ZBcnZsAoSbg/JujjBX5HO5a/ZGII1oM9oCpPkY5lRyhTYozi+fAcjHmpT4Iq7IOtV582PFoU8QVkZfoq8k9hFXZK3qPPABgA/RevQp+kLuauOKvK0krlmlJOh9lIf9yhUZuAXeURJH3gWyGq0Fsg5t0GOlXKE31OT+t9QErQTyHlqDVvH+UrJCSx54TU0SMPoH44r423rOeUFN/fUSgFfQ68ivJvv9AhvNDVmqJSct01L0nJqiF9HLQF5Vk71cX9VivXvBEq2b6gH9iyUtrsjjemrNU0AWo2fRUkDLldRqbsDTkUjxAi3tLtTS9ASAReiZgVVhddyQuVrm0fl6mh5GwOg4dvRJIzue21/Ie/UMu1/P0Fz0IKBHUJ2Wlrit4k4jW3eXnqV7ANyH5qB5aL6Zns4FqDW7y2qN7G+zjCzdgfKwEBdg6vZMyc1GT3i60UMz0EwgsxFWRncb2RkFA5W6WzrJzHVMMXN0EwBgdAu6DQCw5oKBci1zxQTTjV8HoBLdgKYCmIZqjJxXE/DGDPvDK/DN8TLLXTHedH8vN126Gl0LYCKqQpPN3OEpevbW4f/6+J/yAssNXWT10qWozHIJGOVhh6833NsLekWjDK/6fMujUgBj0cVoHLoc2JWme/AqPTez4DkUB73qUQGPRgMqQWMAXIgusXq9Msur4nPi8LqKAn2hEYCOY3+WWH3rz9MOjOV6y/oweF+gr6442Ld8ZMCrOJMf/RuAQ7maj2/maQAAABpmY1RMAAAAOwAAABkAAAArAAAAFQAAAAUABABkAADdrYtsAAAEPmZkQVQAAAA8aN6tl01oXFUUx//nnjdNUlMkgl2EGtqhak2aSWvbMYW6iAjmo9Km1QErqVAholJEQQKCMAvBjS7EqktThYijJq2RaWnVVLPQSkQz6aS0oYSQGBctxZSkybyPe1y8eW8+Mm2TybvwmDswc3/vfP3vOQQAIkLnTo9HQ2JXG466rkKhG/sObJtFQIuSyYkKZylzhgktDIAhYAAsmGNQSkGGWTt90ed2pMuGJAbGuwzIF/7h/uPDvP2fDPm4yja+aog1mKuBKBuy0SLAIoIF5D3Z7+TtaZcF6l0wnMmRgdFXE4kErxiypEMDFrDgHki5w30QuaAcrNYW+nSLse2Pi9+O7V6RuwDg5On0Tog6bpAOs+BBBupYUF3owrx9zoVLDBzdfSjyzT0hxSseF1W/czysgFbW0sVAtHSsAIZog/DGns7IiVVBitfAQDpKIm8z4TADVAImTPrN5s6mj8qGeKu///JeJuczBppKuFAMkmN7OyO9a4IAQDI5UWGamS+V4PllLtRYUOQ8/uShHVcLsmu1kPb2hzOm2fCCBepdloUK99mKT0pc1JogABCLkTM2Wv+yTdS3LOUFzT9F0rE1Q9wMJH27yu42gYnCQibYhHfjedaotQjf0WeaFizo7hKFXP9E5NLBQCAA0NXZeMES9bMvQR6MqCcwCADYJO/7wc/CTKLoqVOpxsAgxw7W/2gBfxUIK4AMqebAIABgKRosTmlbUwQAjKAgJpAyiKABaBH3k2h7oJCM0CWBf7gH2l6WrNxpJRLCUxVX5hlSmX/DClsPBBaTWIwcC7hZkGUAHGddVWDuygaftAi0ABpufNYFmV3xoclKS7AxW4ieJaIyzq3ALLk1bz4aAlgDueBDZl6PNcwHBnFINcJL3WyWOaB0oClsQZo0Za0QNx5K9FhgFd89MhKyhGIFLRQAG5wKzJLb/9bEDEid5yYNgibRJvNwIJbE46IckndyzZ+vX99/0hGeCsSSv/dMvshC9QyBplw8ROODsruV/NWWnNiktEoxUFPUuQz17d/6lPe7si15+vy1+02TvmNCjVvhuXgIOfH835YF2ffDVM2iqc8wENWem5BVXqKv+zse+XVNkF2D1+oWoZMMNPiZlJP4GYdDrxX/Z+WQhPBjG6ZeWRK8x0BNweXkiuGiI3Lkl9aHbq66Ta0dnF3PbL+kIG8ZwNZlPTAAFllUkAMXO8LnV9ZwJ6arqtc7m1mpCBNaGXKYQRv8w2XZyDenNDpH928euvvocHb6CEA9BIQZecOPlBiA3Df39v8octqvtIVTdx+Czk5HAfotv/pV/psKSk1bwoTPqyyj5+qztTfu5XIDQEuxvPh3gqtBWWUFNEg05BxExWfbNv2+0pwxQJSG3OGOyGXOfxqSEI0Tcx11Y6ue492YzHwI4DiAUFbfrgO4DGAMIsOotJNo2bJUrjr8DzgKCvJ3CR9TAAAAGmZjVEwAAAA9AAAAIgAAACsAAAAMAAAABQAEAGQAAHrt1WoAAAS9ZmRBVAAAAD5o3r2Yb2iVZRjGf/f9nunmZrbAPoiKDu2Pc5t/h4J+MKJsM3SaByxUMDCKIgoi6NP5EAQRQWT1yVADo1M2TZuW2aQRWExkm1NKzcbUCEUU57Zz3vM+dx/On51zXDVl573h4cB77ufl4rru+3qf5xbGGGYmJw90Nzqjygv0qpT51xatXXSFcQoZS1Jb27mJ1cODhxVZpYV/3TToFqTDXLC38ZkFvSUFcry1Z7MaexRQjPTvqJtPCvZhRSryeW20Nnk3QHQsSUl40BfwBXwkt1KAK0xdbMiuwUhwsbO168V4PO6NLxBnrT5y20fIASoABQFgI1ummcnHsyOP/PrLVz1Lxk0agAMHehdGAveKitZ42FTBZipUKaBGTq586TIxLLBlyfr6L8cFSHHEYqbLFp6p8VywWpDNCo2FoApqySG8urSlfse4AymOI629jWrBG57IBgUZhSUTsdcaWxo+KCmQbBz+unu5J/KJQkMOyAhLJsK25S31u0oOJOs7kkx8psbGfInUQI3bSLBo5foFv99119xtNDXNTdxKntnkw678zvIFfKUyUG+3xUxLDgQgGo0GnV21z6dgr0+h//jGsmP1vdGSS5Mfe77rqqwajJxSbO5I8YLCmRNdtXWxmLiSMpKNLU823E7gtvuSJ1F6zVtSf3pdyaXJj00tdcd948e0IwtZUCmRN0MFAuCLvFPAiEBKpHH//rN1oQLZum7eDz6cSn8s0x9MH0hIsCxUIAAp7GAqVyMZeZzUA0TCBJJQ7Y4YqI2YXCAyP3Qggclpw1CRPLe1+aH4SH7E4+b1T/xtQLHyfE8Rz38g1BqJRiXw4XqB7QNBMKEiVGkAfEXUZdlIS5QIW5pY+8Vydys5oODlzimGJRPBfaEyMjSQfHgERIYR4VIsWjsQKhDfaZ2KFR8le0Nv36RnDZ5lT2zp+hBzPaE66/bOzrKUSbTgSgKk8LpDZST115SowMz8blHB4XkdoTESi5kmRd4q9g8fvvmouaYvNEZ6l55/Tk3mqWRtPc0IjvdCOyqubzs33TntVqgu6pb2vWvmPJbNKykjjx+9MGU4IfsEqy7wDsCTIJafWzIgKw71VbtkcDgpNCqSadk0GyLyxcHmh34qOZAVBy/MNFybj9TmpJAcG5fwyl4q3hMBmHKor8Y8b60K1264oThNcxP3AmBj3Lw/Jve9kHD2tuRqQvLvwEOe8eyx1TOu33HlLGu7vFDVdShUZu6o59Xs/cogsvvK09MGxwJg8cErkwa9xFZFXleYk3foyb/HDCm29ufmmqOjX8KP9O9UZFvxKEGNW4rsE3NHIs51Vwx6f16KzhgCmB7vr/AmBbOcar1ntlqFDQqT73jHyLopjpaTa2a1//tY4kj/TpBt2V6+Y+BSMF5gIPO8SotzjVEAGAqXRVzT6adquv97dOV0B8IQmdFTUHTKLhxVUeUjVUXumMnLrtxz89FP/WDCgv8DMWJoh/vrEX0X7IlikxsDS8VymMD3YkHsctPsE/c23vy2vw6VlxGiwP2jTf5GqaVse95QI17m2PF384ye8Zmztl8sZzjShMhKoA54FJgKlGU2+QpXFc4qrkdNOobKU22smj18r97zD55t9cK/Y9FxAAAAGmZjVEwAAAA/AAAAKAAAACoAAAAFAAAABgAEAGQAABkw4gcAAAUQZmRBVAAAAEBo3s3Ye0yVdRzH8ccbitc0BS+EhCh5AWaa6PA6pcuareFMVzKrpYU6rbTbWo1yrmY1ui1npdSapUd5nnN4riiCl0oOUIPznEeQA+f2HPynDZk43Fzy7fPAOXm42JDg8Py293Z2+D0Pr/34nd+eA8P8z+GSXCMr2OqSCtZBXWouZx0XKlj1QPmpqvnMYI2yAjW7vDuupyor2eqtmkWLiijwYoG69zdWpUtAlKFeYBsrueoci8UyLCLA4gJH4jlOvXEByIvIwP7eO+wf9lPq4oggz9i0hWdZ9WgJp54DVjvPqi29xN6sZB0bI74vc3NpaKlNSyrlHLuAtXfF2jsjb1dgHjOY4yynLTnHOk4C22Zgf+2ObSvnqvcwgz2KWccybIOqUk6l88E9G4YF0vH8oCMlnJunrU5LMZDAUidsgXrDzlbNGXSkccTInDO/iHPSaQA7Ya3qJcIeHnSk8UHiOecxEUhgKRxbzDo3M2YYRUXVYzjOWVcInIBCWIVzarlmWEVjnOTU1QWcRhyyAmdgeQPMqlmMWcYJTjtrsWp0EoVh7aYB/mi9vO4YcD+j4yiEtVprUkyD/MF6+U9A6ScUwp6wObeZBvitVfvge+COImCpHctpX5kGeKiwZsMhWw0dBuw7FMSWmgb4ua02+UsAv0bfoCD2L9MALRYa9pmt5mYeYF+gEJYx0/jYVtt40FZLnyJgKc9swP187dUDwH2EgCUDaxpcbqln1PuFV/7OLbxCH6L9hbUEbJtpgG/xV9LeAexd9B4CloD1mwb4us215Y3COnoTvQ1cECubBrhbqPvkVb6OXgNwL9pnYG11B02B215ZOSKHd/l28i7aBeRutAcZq9oxg2hIquhJX4SM15EGvsi7nnsJuO3oZQQs7eBdt3eK7plMEr4jzJO9JfMlL6WgNLw23ovkk3W2UK9t5evpBcCAJQO7jXdx7ROSRF/2bMlHc9BDAM5DC0TPK5ECbhZd2ZuFenoWbQEyGxnYrbb6jPYJMyXvvgTgHkSzUBDblCQF4gYalyW54jYIDU2INgK4CQWxJf9Omi55F86Q/RQn+ygehbBYWXvimYYJA4Vbh3s/KTTY1wP3FHoaZSED+4xYt7LT5Cmy/5dYIKehcCxWtyxe8E3sb9xy3DNTdJc9KrrpccFNTwAFLBnY9aL7eLcLxiv6pEmyX58MXAwKYae3Y/1OrGR8v+H4hvhVgse5Grg1aC1ah4JY/TFYerxwnOJfMUHWWyfKOgFLXbBNwO5g8EjUV9hGXPuI4N2RLnqalokeykDL0Uq0qgPbulZwr/jPm4wp8mWOBXIckMBSOHZKB9Y1VfLnTOevju4tbBHmpkqenDTJ61qIE+JhtBioJQhYCmJbM0R3Zq9uOEoJrIlW9ObRik7AUgh7Xyes7zpWNz9W8m+aJnjnxln06ND1xuuZeG8WfjZb9OUnS77rc0PHV+isRWHY5nTBu+ae/hxRsp46vCgQGAnkKGRgx/SAvf/OytJU2d+CbdCCPUsPtH/AOk6ERONECB5fyeFnbQc2sEB2p/Zt0/BXJw9V9CPDlEDbCCVAUfeGbf+Azbg7ti1Z8h+Zg9/RD/8vCyxllEZlCKDA0t2w43vAxnTHtsVLPiVB8izt/5NV1FMYOXCYUQLXgKWu2OgesBNDWMV/LUbWD8ca9xjwgUdzRtazAM1DxcA2Antr+B3sLWAbgS0eq/jzAM1KMK7p4/gHhfht8rs3/k0AAAAaZmNUTAAAAEEAAAArAAAAKQAAAAIAAAAHAAQAZAAAz3myWAAABXlmZEFUAAAAQmjezZhtTJVlGMf///s5xwAxZFM+kJKedL4Qh0wF23JFs0zAEp3HmlqrNluu1mpzbs4P50Nf2lxby16/qLWsKCIlEULFjbVpUY5DUFMZAidaL5NShMPzdvXhwHl5eBEQOefant3bc5499++5z/++7uv6E1MYP1Y07wTl43E8+hMh76Sars9yfbn6eN+vphJWB7JMADYAGfvRlQIe7nNZ7Y2VTS+Vl5dr0w5rQyoN4Q0DhAHCBGCNDZ4twvcWupb+cP6r5lU3ez8xxVF3rGWFZtmvaISHgrkEchSQTgjU4ISjrFCIwDOrNnu/nDZYZ/j9oh5a0erRbOtxCncSKFCQCDTjIWwQr64u8x5MCKwzTle2FGhi7VHgFgUwDB0HL0J5raAs/+2Eww7Fqa8DD2jk+wTylSAGVqAAUcTzBWXew0kBCwDV1ZfumKEPfEKRrRFYiYw33LTuL9x838Xbkg0mGsXFiweu6q1PG+DhcAYBDA5eCjND0I6IX1RSwAKAz+ezzjXlvqADR4dSXgz4mtPeFl9SyCA2amubZob6tAsEFsemOAKt55py8/x+2ipZYNevz7+hQ3ZFVjV6LV/l/WVTUsggNraW5Z01gTMGCZNDpyBhknuTSgZD8ek3resAqXNIAW4or0o22O2blp8ywAtxGw3AAK01SQcbrt6kKqrZMLRu0+tKRlhLqYAtACWm+CHvdQHArqrutD7071GQZZqg/tDGez4CKQmDNdEsGkAyplKTXAUAPew7alL8BrFNV/hgx4m2/Ylc2SxzaZsBhOJTGOeqrXVtGSb4hEPQOxJ7qtEywKvOTeYa6HPPtDWD0eUmCMxKtG4NBdIeSl1hOahrd16/ZoDiODmyHq5vT0kUqL++PcUUZhlktLABRJ0tyu3ViWD4JsMXqKX3ypJEwfb36kt0QItNXQYZVABggi1xYiYwQOQlTAK2ynPq1QBaVDgJs3lYeaaQnyhYU5N856FgCJsVABhiBxxpAobQt7Kx0T3doLsaG92G0BenVwImGFAAIESDQdpRzQIGkOP+a45v2lf1jwyfAeTErSpoD7i0BgUAF0o8HSZwPKrZMLQO7ENMWzEdbbtF7huhpj3+bomnIwJigAdGKnzzV3duny7Y31Zf3q4Dy8OpirFFzIFh9aznZMcZJShytMU9Lri8geJ5wdsJurn60jzaKkAg0+He1B8tXfTIsE7BsOkfttHAzJBYFZ66tozbBbquri1Dt1WFDmQ6tAqTtn/UhjG7pvNzCrZFXBIZsnjkvGlzQ2fp3T1TCVrybUemTuukAgrDnkHUnQH5RVWJ56lRW/FecLcBBGNOjnDqIAup0OCpasuZKtAHq9pyemE3GEBh1DOInKJBXXPvvqkjk1nTuVYJagmkOnshBfQQ2N91ff6H8NGaVGNYLlpnWseLpLyhgEzHHgGBfiVYf7rU0zAu+yijtuNR2OqYAlKdduXgeJmCt8RyHenemN03HsiVVd1phjbwrAJfV8CiuE4gOvYD8uT3JZ66CRlz6TXBIohUEsiIqdgdL5frCqyAoMZt2wGrT7sS9M3vB4B55V2pqWnWAirlhcjjirJFAbMccIN7Q0DgP01Ydr50Qf2kLM8ZJ7u8SqFaCe6KmGbD/zbn2Dv4e3q8Qxj3kc77v7toF/+8wRO4NTO5qnuO2229SeC5iKcqN508MkY+bGRw0SCHLGvG3osbs/8ZC2NiJkd1cI2m6CfkMQWJdhcjQoy66kMfJkrwHWD7rxQvPDee6SfnyJzoylOKL5PwEZg9DG6sVSf+pbAcNg7+WTK/eSLT3pp9VN+egpCrWJFrBcjTgGUE5iqIexDOoOBvDfgVlGYlbJidYlZfKVoYmsx0/wMN5mfvJKM07gAAABpmY1RMAAAAQwAAACsAAAAMAAAAAgAAAA8ABABkAACqQq/DAAABy2ZkQVQAAABEaN7Flb9rFEEYhp939k7QQhC0sbQwel4uihYRIRCIpL0IHng2VmlFUayELQOp7O1EkUsTibExqKUIGjgTA0YL/4FgYSB7s7ufxW72stff3QvDwvxgHmaeb1YMZHl1px1IjwU4s+X7zYuvGGI6nU5wslp7LrjnMAQ4yL7G55lu/YZCpeR9RZbe/Jwx0o8OXL4odamuP1yY+DJM4DA0d3Vq+0UA7T6s4QBMd+Zu1V+T9xcLIuyZF84LPODBRYHNMuSEodJjJ5JFD7v5vniER8TiaRiaK8FGV3abXlw+nOQlvCDGthlB5uen9nvYYrY/R1vtWmOrWYKNxaOBSXjc1+TbhXeMKLcXJj/F8MFLxMpPFhFLTwpnH6zvTFoSdAuxD51JdXOpeX6DEebl6o85sPdlFqjiGg4gSqvTXlC0zJnNUYMC3G3WNjzaLHTMbzlSMu0APNboD2a+xs7WGFN62NpgofVSNSoZLPXBY3epuuOCTZzrpgYy6/NI9UpWXLokK/taCYLv44KNTFsBhqQjPwiru/bbP6d6cKbsrA7+7p/7PS7Ys9HELw8HpZdJOu3+JTpe8hXwYm+lpWRcsK2WEo/2BovsP/LZyUqNvyewAAAAGmZjVEwAAABFAAAADQAAAAwAAAAFAAAACAAEAGQAABBMi7MAAAFBZmRBVAAAAEZo3n2STSuEURiGr/vxamws/QKbySTEwlYWVlNGGSULRWyUhY2NmrK0kI+yQ8LGYhpZSfIPSIMiSxtsKd5557GYDzMac+p06vRc57rPeY5oMtxdF9l8CmPMnHeCaG042fui/4Cz7G2/S9vmGhRggOA5isUSDaGT3N24OQdy2gynBqIFHwr+Ake5u4XQ2TAwCQyVIAfhFGSvddBe7n4xdNYFKp3sVYMJQFsTo4n7aryd04dpK/qugWrjlNe8ebQ0leo+p7zPZvap06xwDbRXi90rsXJR8Dk5nxz4rAiCTMbt2x4PDdrrDBJy9jvC+Gw6paj2Gtba95gO8cEQ8TuhII7fbuIz6XQ9ABAUxErV4BWTnoqxr7lMRsVGLQlC6BIqFQsMR/K55ZGej/8aH4T1r4Shy9Vk/KrZ9/oBXY1omw5NKvUAAAAaZmNUTAAAAEcAAAAgAAAAKQAAAAsAAAAFAAQAZAAAZJZ0ogAABJ5mZEFUAAAASGjexVhdbFRVEP6+ubtY/mxqJCYVGmwEhA1bfrdoNBpDFIuEtOBNwKiJJBBJfNCEF+PDPpj4QGJCJDH6QEpIUBZL25QAK5ImEuVHLG1xG40U+an1AUJCKOz2nnvv+LA/7K5tLbRcJzm5D+ec+31nZs6cmSHGKV3tXdVqwo97lj8LACxPrjNsbixbv2wQExCONnH22+4Ixdqs0BcIRAFUjrL0lgK9BE+q7+2PbVySemACqURqyo2QbhLo+wIsJxSSWyTj/+cvhH4+1Q19HbEjzrgIJBIJqyq8cCugHwtYnQekooiAFohwLNXdk0FSP7lkfv/Ktm1vVALt7RdWiI8vBVxWDFAO+F+ExnIf3+e2+o2Lz41IoKUtlaaiYkTAwlchwBCBqwJcz5GZRaBGgBnjMFWGwNsrmqIHyydCBqggAQGzP9ACIAicJbgvLDz20/lFl+Jx+sWb43GVF5f21Vq+t4bKtwjERjFVhQLf/Nza+8TKxujuEg3sa+vTshMogRYodtqNkbP349EnWlMxS70dAm4QgCOYSpX6QayxbleBwJ62Pi0sIHtCHt7b3LTw1ETu9veHep+1yC8I1GU1WmJKFeLdWGO0GQDEADAAjKI9LXeemyg4AKxuip5KP1JR75IHDYHCAGFAOj53nznUPT9LgIQBmx81CzdsW7fiLiZJGhrmDd90+jYZsDkLXEREMD0Da6/GVcQl9l/vfmaLbdPDJItt297pnsgWB9ifOz2KyKw6EU3Z3Jnsmb7j1bo7eIiSTPZMz9y1zhOYV3bN+4iA5GDrhZcE0vkAEXXy5EBr6gSJl/PxRu7vjZm4uOSnBoBb5JCBagAAmtv6ugRYmg9SEjQBB9pRiD0gQkET8ER6fQWo2dMHTmBY+asFBcngnRAAqocXXDRAJm+GwAnYNj0D3sxHxcBNAABGQPrjyqYmX+Kdf1bgtjMEwPpfnDA95CywACsfjgMnYHxZ7FMLiW3gBFxL63w//yIy2Fuw9dy5sFHahiy8BYFqwP270vazqTyIgANRPK7ikR8VMqLcCEwDv628+CaVi0hAlIWkRKJHBmY/bPCmI3/MNiq7/pWcEp2SUa+l9nh/5cMCX328v9LxpcUBqvJPcH649ONiiBiMlaw5fKVqssHXHr5SRYdJQ8bKbe+QBxJr5/8ghoBL1lNwsrajv2aywJ/v6K8Zgn/SAPX31E7k6pABxwpvz1VGOZWQEScU7p5z9Op2JNR6UOA3EmrVH7683RXpNkSkpBbIjrQBNifXzLkJAHzs6FUdoSS/SMVn6oX2Dq6rHle1tLxjcJqxht8R8EMBns5nPGX/TQO6/se1tccLxenMo9d09KaE3hawBYpjYd/v9e5alwfsOWkAmJ24NnXqNG8uRaJQXSPUDQLMHLHHoAoCtyxl45nX53aWlOcVyWsDoniytPtR0iMo/w7l5meUVr5jdlf+CtFv6Hqttrdcc5JxrCUG2GMIvVfFll6XYu81wIzsyDqUm4vrbm7eze11s3vVA/ZkvClLRgIv7ZIdGVhlCeOEviJQFiKVjtqyGev0KorvAD9+ueGp02P5zj9F+PJVVhzSogAAABpmY1RMAAAASQAAAA0AAAAJAAAAGAAAAAUABABkAAAnmz+BAAAAvWZkQVQAAABKaN5jOLPhovn///8ZGUgBp9dd+n963cV9t7fdZidRExCvvRxLtKZTUE1n1l4uRpc7tuqC9Jl1lyecWXdpyal1l4Pg3ji67vL/42svfTm99pISsgaQc4GG3YG7BIiBFhw/u/6SMcOBdZfnHVxz1RDdluPrLzsga0DC33E6+9CGq1rHgIqOA/FJiC1wjXj9e2j95UmHgM4/AsRgbwA1nCCkCQT2rr/stn/95csH1l/+DzLgMBADAOTpoMvneFgUAAAAGmZjVEwAAABLAAAADQAAAAwAAAAeAAAACAAEAGQBAGnzyCEAAAB4ZmRBVAAAAExo3u3OoQ3CUACE4f+uzENQtaQz4NiDKVAsQepKXRMGAE1SdgHxDlH/cCh+fV9y8O/H6dvgennsm+ggwCXH7W59rqJpmNuQm8EiGIqcblVDb6Uj2IAQBqvoVEWvktkyJghYMJvqvSTqx+e9gVaAs8APAjUhlh67PNsAAAAaZmNUTAAAAE0AAAATAAAAHAAAABsAAAARAAQAZAEAxHV91wAAAgZmZEFUAAAATmje7ZQ9aJNRFIaf935plUgt2bVoKREsouLP5KI4tKbiH1bQwa0FR0dxCOIiOrjo6CgqOLSVOhQJKA5CcYhIK1okpeomiNGafF/ucciPSe3fl7kHLme55+U57zn3wkZsxLKhdorMTPfHZkfkdFRmM879uj168uDvRDtid8dnriPdcGYIcD65HzjdFtmtsdkPgrQDhOHASqXOVFtkoaNLHqpiwoG0KdwSmyyb+7yZn+UiEDTIDAtLla2xyRaL5V0BBKKJTCxkh/uLscVC7/Z41YynnnkPEFssCmyv99REVM3GO2qk646R6emO0DQcSoSicSKUj00Wfese9tDTNEUEPkoEr2KRZbPmKtK1EBFC8xm/l+ktxCKbPfTpkky7JXCmuvHguRPrbZ6d/LhN3uUFqdrG18VyD4f6jtXvrUl2fGquu1ziqSC1xCsCVbLNd1cVyzwrpMrlyvNQHJa17BVIjycy6ZfrEjsyMddTxE8K+h0gtezVggUdV5bW/Cd2/okF88nCaCS76SH1r62GV4sOLr4Y2P59xc/xwMTXZBiULjt01UGfrMXoel4EO/U60zu17E+bnpy/gNmAk51z0LWkuNaWIfgRmM68GdqRW8maRBl75NQ6pWajBTjpS0L+xPTgzvxqA3P1dxbVNrqaRYQIkVXgwZ9K5763g735tdboL3R+tcS6Adb4AAAAGmZjVEwAAABPAAAAKAAAACkAAAADAAAABwAEAGQBAFnJ6ywAAAUEZmRBVAAAAFBo3s2YW2xUVRiF1/rPmdISSJ0IPFSug1EotIRbig8kNlGRUmILMgZMVKKBKBCjkfiCySSaGKPBeEkML6KihgypTa29IEo1jREJiLYpJC0FWgaMYqiGXpieOef3YWbOXCvl0nZWcjInM3Nyvqz97/3vvYibUEewI6/P1M2A7hLocgFAADLSA8qnVm4sOYDbkDmaPwWDQcPrWbjtD9h7BCwiAFEiAajIBktgBm5TNwSsq2tfYTjYZ4HLiCiUQEEiAZUGG/0OAwKtHVPAQ3UdmyKKzxxofrJDArr3hEKisP0C9BK8QsU5U+WDsscXnbtdQI70wxd1HTtF8R4BkTiMZgzncQEPiKD52Knic4EAHdxhZQXcX3f6RSreFYBZakwJ1JiKt6urFx3HGCsD8KOvzzxjOPoxAbrOxT/J3w0bz2/ZsPBnjJNSAN+v7ZovEjlFYKpbbxoteirqbHNwy/b1KwYxjnInSSCgMiydnwswNWVCkBDFJ3dbC57zV9PGOMtdtjxLO/0R6CoLROICLOLLP39b8KzfP/5w7hAHAipc1tku0OLoTHUd7JL88NLda5YMYIJkAkB4aVeVARQLmLQAK2jrttcmEM4FjBCvOOkzFjz6evWCHzDBMl9qOFNi2XhAkNauHL6JHJAZdjyrSAep3YKn9lbd911OAFrQ0sQmACAVQq1Hjsi0wMWMtbJY7UEctOUMYIRYBE1yEArTMNpzBnAYmB5fWqI1yOv9A77uXBripH2egsTVQxPUNUYATF7/CP7PHnEiJBapbt+NXjMebDmfnzOAw0DIImCR0Qs0pvTr/TkDGAE7ktyDRSBMlOSQg2zP2GIJluRODarTluIgCEvpX37ihCcnAJVotUgnWn8u6GzPX9P8406jym0NnWU7GjrLoEp3w7q48UItgKq0Q9Lpk8fnlGAMjpLZtKuxa9KAjSYC5TGGlkkG1gqiw/pO2lIDCyhesrL3yfEy76otWy2wPGkulA9G4HcXZV9Tz1FRlz4eYfSZMEvbKmaGxhJuQ2PXTNNhmwBeJm37DMVu99BkOQxkTBbQG1a7xneku3Cs4DYd6S60HamxQG/aYQ1hU79PaWtFzb0HRfEEoRBNzmL0l2GHa3sr5/TdSbh13/R4HdhNhJZlhATAwa8q529Oifb6wReGgZAFJjoLAQssE0Grr7579p2Ce6i+e/YQnFaLKIt1MCTNg5Bh5u3IGn14m3tXi+KwAAUJB9267BNwT8+1WftwizueTUE1Lk3u2S7UNwh43bgu8Z4hUaw5XOlrHTE8Kjzc8zAdqSO0IN362P1ZUey1bfPTy+uLRhWFLK+/PBlG+Gk4fFmo96YNZ7yUhgA89uM635Ebxm9TmkPlVK0lUOjmgBl1otcErBFFszhOmz1oXAj5Zw0BwMzgxYKCyfZcU7SUKo+SulGSMx8A1JTU7F9DWf1T5dyWUeWDAJDXdLHUEDSKg3tSHdRsrsZd6I8lrFOylMgIz+AS6FT8utbXNuoA01X95Wl5HvstAlsFYPLszpZPpzkcS8iyDicYzRr3F9h5r55cX/T3TSWsGWoMrTKFAYHziJsd3gA2q+vR7EcF+JZwAmcr5h27pQh4RDVcLBHhTiH8AtyV9uLsDsa/I/4RZZAOPgytmzWqk+Otnz9azufjulkh5GoBSgAsNKDTBfDEYC0CVwQ4Y1DbqWydmh9pvFA+7/rNvOY/L9Lne0Dh1moAAAAaZmNUTAAAAFEAAAAiAAAAKQAAAAIAAAAHAAQAZAEACVOYiAAABG5mZEFUAAAAUmjexZhdTFxFFMf/58xdCtiKKO0DSqtoVBahUkqkMTzw4AdtSYrVNdZE22hqNBgToyYaHvZNjUbjx0t9INYa06yhZEUoVdPW8GBsGlE2iIFCC2yIESOmLCwwe+/x4S67e7fAbgl7Pclks7tzZ35z7pnzPzOE67TBwGDeVSP2FINeZqA24wNCz9QdrDqRqZuRLUAgEFC3eCqOTsNsY+FSBsAQ2J8ArfIcAduyGT8rkO5gaDdbOBYD7bIAMNmTs1ACJBUq6Q3MCaRzQ0BOnRp8Qot8wUC+PVHK5JScPA4VYciEAqYJGCOxPql7/P6xbEBorT9PBgdbSfARA8ziXHVKu8CwThisen/s9475/WRhHbYqyPHg76+Q4EOG0DWTC4RFOhTRe80tlRewAbYiyGedQ4eJpJ2BNAgBE35TJr/oe6ziJ2ygXQPycefIncyxfga22KtP2RmC4JIxf+iF5t3z2GBzBKvfL6x5+MsEBAAmikNYn9+svc8faSETOTDHbvPUDPs0pF6DYDdAA1gifPXnr97nfL7cQDhejd8vTLuGQwzx2jsk0UaQv1jz+iM755BDS7yaxZqRAwrwMiiesAQsgLLk6Js5hnCAxAivWY4dQmDC2baWe8/DBTMAoLV7qEqb2OPImhAYFr0Nl8wAAMvy1GuSZOYUgEH97xy4+wdXQTSkmlJ1hASKpAsumgEAS6D7nDpCiFkYcB1EEyqTkm4DKaVCroIc+na8WENvTdQYILBgYXaufNRVkIhJBawoXdj++TqHWXRFkCiAvPT8kaFOyYnW6Btnr2oiSdUWDWw7fO5yvqsg5xsrIxoIawI0LYsdqb8jco+rIHYeocGEN8hui4Sq/wMklJT++Cti7HQfhGkgJT6gQYgJ+WovXvS4ChK1zD5NZNkxkgDa7vmrxOcqyNC+8nENfGPHCCWbyFvwC7sGAgAm6P20LYwYkbembuJpN0Aciav89PhZFjSmHSFnGEb1wN7bwq54BAC0Rf7UgI23Yi1mR+33o0WueQQASnsnTrLIk8kCKaFBP2+yqCm0f8dMzj0CABHQS0ugsMZy0MbjBfRAlNFX3jW63RWPAEBx70SDEpxRQIFDlW0PzSiitkuzZcewToVu6hnZFBPlI0iJR4xg9/4dY6uqbNGZ8YeURUF2wCShSHBJgT5YMI3jU82lWR1Ba7umCgvV4rNk0atM1l3x8eZA3LCm3G/uDTcqkU4Gila+khCwYFYJOoioly1rIDqvroR9ZVEA2BOYLFgsNG8HSzUJP8qwDjqOs4kxqD1j3XHD6clqAnoYuDX9ZmgFqOXvkfhvm1fsK5J+zdGeVQG0pWuqxPSY75LgiPOqQjIBYc2+NlDUIHrwuioxT0+4XrH4GXiYJRPQalCJvsKg7wwy3/ilqXxgXSVhXvdkFTFameBjwU0ZV+4E+peBgBL+9I99ZaGs7tAy2rnL+XkLxl4iaWBQlRJUMLCVAU8cSDMwzaAhRRIioT4jP9ZzpfGOhfSh/gMVwbrySbrr8QAAABpmY1RMAAAAUwAAABkAAAApAAAAAgAAAAcABABkAABi76wSAAAD82ZkQVQAAABUaN6tl19oW3UUx7/nd25qx+i2yLqHyWqpaFlqMtturnvYQxEVVwKraEAHMlEGSsUHFYbsIS8iQ1F0T/NB1MnASC2x3daqbMMJwzGpa4kdq22Xtfig4sD+W/O7+R0ffkmam9k2ae6B30O4uefD+Z7f+XMJFVoqkapZdNznBPQagPY1XxB6wSnXeSKR4B2B5iPzkj1GoO3lvkfANirnj98lR3c7BidZ0MYAGAK2DtaIAvMAImtGMvBN6llX5AsBag0JDAAjBFMEK7I5Am4J8BeASYg5seeZRyZXhSSSqZ6MwUcsUAaAgXVeArvCJKccxYNtw6FJipMp9bMi5FTyt9ddkQ+FQAYEIznHFiZZMb1M/N5j3S1XysjL3fZJ39hhh+RTBigvCQNgARzINSXmlejTkcsVJN9rH/eNP+Aod5hF6grO8/oLkhudxeej0d0LlVx7j1zxuChXXf9SgDpDOf2XZfosoEMvR7spW2ltqeIfgdYbMQ3q0CBowB4iZBSdvvlr6KVYrHKAR654XBS13RhlkZBHImBc12Za33py1zzWaQW5llrHDzIQsjIJjOSurJEj1QA8EE14s+iKwhBgIOePdu+8iCrNAYCeM2NhbbAvX8kGNtkw6l34YA4AuCbQYSC2kqVQ2cPvHHzoB98gS5CIU5Ap3zKkHz6ZjQT0sEDg6U/AiK8QTWix/Wk5Hy7zqG+QroF0UMOttzkpdNY7C/NNE75BOEsbNN/Vxv/5ep3V/b+QRQAOqCCThQnBR1N60+y/miCefgXadvjCVK1vkIudLXMamNFkm2EOxn/PSbNvkNwVThUiycFcQthXiAaN5mQqSOYq7PIVsqRopCgf9ghi7VevBnyDZEz2kiYyNicFWMPGP7fGfIOMdTWlNfBtfhLmYRmRtxEX5QsEADKg90vHrgZCe/dMHaoW4im6pnPp8yzodIrXIOB2ADry84EHZ6qOBAC0obhbnHwbVXBJanrbv5/Y7Atkuqvhx4yir7w3DdAkj2rNQ+GBdLBqiNWPXtVEtgN4o9oLJZfa+ycaqspJ3uoHb+1nwRADG3KbY/EmedshHGuevf9kuZ16xW5771D6ccdQ0oIAFkHJPvY7Qz4IZO/5/Jfo9oV1QQBgy+BMpyOmj4HNRftwKWyWhXqZzGCNoRFa4JuXYzsWy4YAQPDcdIQgZxm4r2T5LoUtH4M5Jplk0PGfuhpPlzWc6vr/2MqB7HEWedF+TuQ/JWRlkH1mlJF9FU3ATWdnOpgkzpAnlmGrR+UYObquMRs8Mx0mhR4mibFgy2owJRStapY3Xpiqnb3jHFAk+1ko7EB2skg9AwEGNJOcuP5U4xv/AaU65cQdibPpAAAAGmZjVEwAAABVAAAAGQAAACcAAAACAAAACQAEAGQAADJpvUAAAAOJZmRBVAAAAFZo3t2WS2hcZRiGn+//T0wKtiWg4iKNEK9M2tTEFuNCMbiwTRxsREfQjaAUFMGNLhQXs/KCoqgg6EK8IVKsYazSeKEpZCENhWhCFBKTknQ2XrBQc5tz+T8X58zNVJPMnJUvHGZz5n/O+36Xc4Qt6JvC9AHreMdCn1WwKBYwm/1RWQF6vM3uK3w+80Cg+qGDNofiBJwKjipMqrcvCywp/A4soO6tg/ffvPCfkGOFmSdDxxuqGAc44sOdaPwbwyY80Y88Y0f7JjMLkhf3z3Pk3wAfFH56yqq+bkEsUBuTBbXKcU/klbuGuyc2S+OSkHdHfn7EiL5XAVQPxyo/tmj0ePa+nu/ZojZA3hyZu9aYcNLCTqs1hwOeauFyb+2hbPbAKttQXU3yeTXrZvZjD3ZawIokT69Y9P3WIPNYdlgitqm6LjS9s7kQ7Q8Q4gsCwDfyyfkfMo/mctsH1MWVz6txfbPTFjIWTQoNHsxFbaXeZ+7ev0KDqsS12jt3xEAmzl+wEscUOT36bBOAOogvPG3Lc0AyByKnnh++6TRNygM4+tX8vsC52xyK0/LQKTh5kRTkAYRO+7USU9K2KpMvH7nhu/Qg0BPHVF0datwJUpKX1GOvRZKo4nqok6l0IUi3ReOOQrAKvjXTqUGGvlxsDwivdLWdJayHK13zqUH8SHYYKzVLUPDQPz9rcLovCVkFWiUpeKUmIqQo07Lrr4sBogEQCAQiBMhVd46da0sNcnqge9mHoo8QX+ALtnVZb0wNAhAYmSlv3PL2LQn7UoX4julAJIkqBkXG7E/byZQPSVRxZCXV3C1nz7ak6CQaDxBXiSx21Wl+uyKXGuTcUNdigH6x4Y0Iz5FXkwokWS2v+pJEVu20zN6DSw83C6kbuqtPLp6yyEDt69fChVZsz9RgR7FpJwCRk3yljSudRvuaRse7vp3fnYoTgPbR4qdG3YPV762yKz0TOjm8dM81F5pyAhChT/hIsW4442671RjGu07MdzbtBKBtdOl2T+VrCzvqPlFjZxc9x0tG/Nd+Gby+1JATgPVDneOBcff6hrW6nRZ33q6SkRd8uewkqtKwk8p7YLQ4YNERC7ur3VbjzEl/cWjPmYaclBUe6hgrKXf4SDGQ2gVaHdiG46rT4T1TYWB6fZG3fZGwPLAlZOzXwY6JpuPaoNHz1xmRrFX+CNzaMbZY+P+P/gZjNJnGDOT1EQAAABpmY1RMAAAAVwAAABMAAAAmAAAAAgAAAAgABABkAQCkfZTAAAACtmZkQVQAAABYaN7tlF1oT3EYxz/P7zn/mYtdSEYWeSkzMwu74I4bJMqUv+JGWZMoJa642J28lCgXSigvabI1TJJQklqrsTVqa5mQi2kXspdz5n8eF+f/Nm32P3O7b/3q/OqcT8/zPd/nEQpUY2OjliXK69XktMLCid6RQkDPWrpqXMhVhXVqoIBi6F/v6VSgpqbuPaHwKEQWhQihEB2EMF2L5J1Jdael+6galxRcVJHhMb4yhTbFbjmnTyeFXWv5cEyNiwqS9yFpqKnxwBM5v622su2fnl1++PGAGtcVRC0PhKHCe025w8ndFW+n/AHnmnuXO5fqUKwkBwE1Q42WMW9436GdNcMTFeHlXxoazI1oz23PKFHkL2/kZunYyrpkraQms8blX0bW9iQD2OCL4IvgAz6CL3L3x7uVB5PJyUHjotHQYG5k4eA9Q+YZYICJYOJ6i2aN7jhVtyCYKkbZNr/X9O7yTFYphlquxYSk6k9urR4qJNxZWGByIhV5g0raK3Mvzu4sf1XoyHkA+1v7qgKzjZlgpg3HOTtDDHkAw6FsUAEViyoz8LCOGztWPI8NCyRc4xCycRDjNzwipjwA37nVaulgZn2TzunBTCqjUZHs/AnWFRtW9fjzHJ9w3rjEC6Nzh5b1xYZ5RTI7+C25+YuiMXh/irRPCBtOz1RkfBYqTENuMFH800fMJzOL4IuUbnr5qTg2bGBz6a9A5GsABEj6oAO+lceGEVXTnd0Ukt4UplXTggVIV7ZFMutHqqdbWWeuRSEAAiO5vr09ERs2GuprXyT0hVybIov7B+bvjQPLReDpl2aQXfmr2pn0DxWPVbB56WjBlUVP7gJAKu+vjoktKfYTe2K1CcCWsjdAa+aag1IaHxYRjgP5K3oo9FLN8T3L6Mm3tWh4JIK7K2wv62BGM/o//QFuzQanlLTaOQAAABpmY1RMAAAAWQAAABQAAAAWAAAAAgAAAAgABABkAQDPl48GAAAB/2ZkQVQAAABaaN6dlL9rU2EUhp/zna/SpYOgi0UcioGmVlHuUP8ClxZUMIOToBQFQRAFB4dsDgri2EXEFikRkagVBREHQSnYUIMorYmIOAgVUdqbSJsch+ZHbzBtcl84cO/H5eE953vPFTpUJpPR/p7BcWd2VWGXtPlOOoHNZPOBqzKhcEgBBdRAMRRw3QCnsx9OOOOuGr11QLOsFb68KXAi+/G8N7ul4CIAQK3xPKvIJI5nb3PJYlvgjeynCx67qSAtABTMYw+8cT11bGh2yxmmHy2cUqq31WqwDe48zLsK584eH3zT0aVcfrg4IGo5xfoiMAOFbNktn0yPBWG7znzEWdrcD/95SqFPkTpkvYQ7C+XEmfspqWw29403TiEopEJkJEQIEUIRQoFQ5F7PXOL0VrBIy+m0ufmgmPdYsiVri2vbwoOTRw6sdJLZRsuvg+JRjyQjORPwZuPTHcIiwJJzl9ajIU13Zi+fju19RRfyAMMz34ZDKodb3Sl2jS7lAUKpjnikBmlsQu7d6MCLWMASsl/FUJMG0Is9JoZqDmVfs81akKvyPjawJAy5liA7NB8P+OTr9r/ITgDXnGG5vNJfiAf01lt/qdZqVeQnHWzF/1dvx9IS2J/IqfGFmHIEwSrmLgJrtbPfOLkSF9j8fT3/vpuqJahU5hjd8ysu8B/6h7Fbz1BUNQAAABpmY1RMAAAAWwAAABUAAAANAAAABQAAAAgABABkAQBGTvCFAAABdmZkQVQAAABcaN6tkcsrrVEYh593rfdzGVBmcimlk8gIfwIx2RNlIspIKWXCzMDEhHLSGZ2JtJXBV9KXS+r8Aaf2RAaKhHIZyOiULdvlew32pYNNmzy1Wq3eelq/3yt8QBiGviZoHQ2waW9SpxgeED7m3XkyOujy8dNvFTo8oJYVekABj6GWf2dnABjpotK56GBAsaSHCs2LctKCEPAGit14OAuQa2fxSZl3v95IJ6PDcSeyqJgrSCwnyf9KLBWYrATEOxe7bSczMxK/G39o43jCYz8VkyIxzRtr6mx+NtGSKqnTnq3TEW+25DF58ats9D2BsWTix19KQADat8+alXhXzape96YQlccVgxuJultKxGMm7vjfZkak+Q4hI8KdZO8Mbrk+3TS03l99zycQ3bnsFuyPYrltFnpcvUo1DvNqCaWgj8SdIDwg/zUsRzgd/YoQwCGyXyTAFL21ab6Io7dhE1gAHnJngb76iG8hPK8kPK/8DtUztGqCyuea2MoAAAAaZmNUTAAAAF0AAAAPAAAABgAAAAwAAAAIAAQAZAAAeXELuwAAAMFmZEFUAAAAXmjejY4xTgJRGIS/yXv7HlcQsDK21FyAxNBQk3AMD2BHY6VH8AIGjJBY2e4BoCBsAR3barbZ3d9iSTRbqF8zyZ+Z+UcAD4vtNBr3iVk3YAQg2FkxgjXq+EamW41W+3FS8RJAP42xFWwVfrrSDfybwsx56RcjoeYjyA4JlkeUeZWPq8l15kGnCigQhQB03kUKeoJ6TdrPuFNNC7E89kj0Dlw1J3sG5txcpvxB8+Z1F6EzBJ8zvtjwT74AljFC6d2II+4AAAASdEVYdFNvZnR3YXJlAGV6Z2lmLmNvbaDDs1gAAAAxdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBBbmltYXRlZCBQTkcgbWFrZXKphWVeAAAAAElFTkSuQmCC",z2=()=>jsx$1(D2,{children:jsx$1("img",{src:I2})}),D2=createStyled$2("div",{target:"e1ho5dd50"})({name:"hmtpto",styles:"height:24px;width:24px;overflow:hidden;img{height:100%;}"}),at=({device:o,id:s,cameraName:_,height:j,width:$})=>{const[_e,et]=reactExports.useState(!0),tt=async ut=>{await Authentication.waitTilAuthenticated();const dt=await rt();o.addRealtimeListener((Ut,st)=>{st.header.stream.streamName===_&&ut.drawVideoFrame(st.payload.h264VideoFrame)}),o.startListeningToRealtimeVideo(dt),et(!1)},nt=async()=>{const ut=await Fleet.getCurrentDevice(),dt=await rt();await ut.stopListeningToRealtimeVideo(dt)},rt=reactExports.useCallback(async()=>{const ut=(await o.getRealtimeVideoStreams()).filter(dt=>dt.name===_);return ut.length===0&&console.error("Error: Camera name is incorrect or doesn't exist"),ut[0]},[_]),ot=reactExports.useCallback(async()=>{const ut=document.querySelector(`#${s}`);ut.drawer.start(),await tt(ut)},[]);return reactExports.useLayoutEffect(()=>{if(o)return ot().then(ut=>console.warn("video mounted")),()=>{nt()}},[o]),jsxs(T2,{height:j,width:$,children:[_e&&jsx$1(z2,{}),jsx$1("formant-realtime-player",{id:s,style:{display:_e?"none":"block",backgroundColor:"transparent",height:"100%",width:"100%"}})]})},T2=createStyled$2("div",{target:"ee073z40"})("display:flex;align-items:center;justify-content:center;width:",o=>o.width?o.width:"100%",";height:",o=>o.height?o.height:"100%",";");Chart.register(...registerables);const App$1="";function timeout(o){return new Promise(s=>setTimeout(s,o))}function App(){const o=Oe(),{camera:s,isTeleopModule:_}=o.configuration,j=s0(),[$,_e]=reactExports.useState(!0),et=reactExports.useCallback(async()=>{if(!j)return;await j.startRealtimeConnection({sessionType:SessionTypeConstants.OBSERVE,maxConnectRetries:10,deadlineMs:1e4});let tt=!1;for(;!tt;)tt=await j.isInRealtimeSession(),console.warn("Waiting for the main connection to establish."),await timeout(2e3);console.warn("Main connection completed"),_e(!1)},[j]);return reactExports.useEffect(()=>{if(!(!j||!s)){if(!_){j.startRealtimeConnection({sessionType:SessionTypeConstants.OBSERVE,maxConnectRetries:50,deadlineMs:2e4}).then(()=>_e(!1));return}return et(),()=>{j.stopRealtimeConnection()}}},[j,s]),jsx$2("div",{className:"App",children:$||!j?jsx$2(z2,{}):jsx$2(at,{cameraName:s,device:j,id:"rtc-video"})})}const index="";client.createRoot(document.getElementById("root")).render(jsx$2(Ke,{parseConfiguration:!0,children:jsx$2(App,{})})); diff --git a/examples/realtime-video/dist/assets/index-90298d3b.js b/examples/realtime-video/dist/assets/index-90298d3b.js new file mode 100644 index 000000000..6fdbc81f3 --- /dev/null +++ b/examples/realtime-video/dist/assets/index-90298d3b.js @@ -0,0 +1,264 @@ +var Wy=Object.defineProperty;var wy=(o,s,_)=>s in o?Wy(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_;var fr=(o,s,_)=>(wy(o,typeof s!="symbol"?s+"":s,_),_);function _mergeNamespaces(o,s){for(var _=0;_j[$]})}}}return Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const $ of document.querySelectorAll('link[rel="modulepreload"]'))j($);new MutationObserver($=>{for(const et of $)if(et.type==="childList")for(const tt of et.addedNodes)tt.tagName==="LINK"&&tt.rel==="modulepreload"&&j(tt)}).observe(document,{childList:!0,subtree:!0});function _($){const et={};return $.integrity&&(et.integrity=$.integrity),$.referrerPolicy&&(et.referrerPolicy=$.referrerPolicy),$.crossOrigin==="use-credentials"?et.credentials="include":$.crossOrigin==="anonymous"?et.credentials="omit":et.credentials="same-origin",et}function j($){if($.ep)return;$.ep=!0;const et=_($);fetch($.href,et)}})();var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$2(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var jsxRuntimeExports={},jsxRuntime={get exports(){return jsxRuntimeExports},set exports(o){jsxRuntimeExports=o}},reactJsxRuntime_production_min={},reactExports={},react={get exports(){return reactExports},set exports(o){reactExports=o}},react_production_min={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var l$2=Symbol.for("react.element"),n$2=Symbol.for("react.portal"),p$3=Symbol.for("react.fragment"),q$2=Symbol.for("react.strict_mode"),r$2=Symbol.for("react.profiler"),t$1=Symbol.for("react.provider"),u=Symbol.for("react.context"),v$2=Symbol.for("react.forward_ref"),w$1=Symbol.for("react.suspense"),x$1=Symbol.for("react.memo"),y$1=Symbol.for("react.lazy"),z$2=Symbol.iterator;function A$2(o){return o===null||typeof o!="object"?null:(o=z$2&&o[z$2]||o["@@iterator"],typeof o=="function"?o:null)}var B$1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C$1=Object.assign,D$1={};function E$1(o,s,_){this.props=o,this.context=s,this.refs=D$1,this.updater=_||B$1}E$1.prototype.isReactComponent={};E$1.prototype.setState=function(o,s){if(typeof o!="object"&&typeof o!="function"&&o!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,o,s,"setState")};E$1.prototype.forceUpdate=function(o){this.updater.enqueueForceUpdate(this,o,"forceUpdate")};function F(){}F.prototype=E$1.prototype;function G$1(o,s,_){this.props=o,this.context=s,this.refs=D$1,this.updater=_||B$1}var H$1=G$1.prototype=new F;H$1.constructor=G$1;C$1(H$1,E$1.prototype);H$1.isPureReactComponent=!0;var I$1=Array.isArray,J=Object.prototype.hasOwnProperty,K$1={current:null},L$1={key:!0,ref:!0,__self:!0,__source:!0};function M$1(o,s,_){var j,$={},et=null,tt=null;if(s!=null)for(j in s.ref!==void 0&&(tt=s.ref),s.key!==void 0&&(et=""+s.key),s)J.call(s,j)&&!L$1.hasOwnProperty(j)&&($[j]=s[j]);var nt=arguments.length-2;if(nt===1)$.children=_;else if(1setTimeout(o,0,...s)),globalThis.clearImmediate=globalThis.clearImmediate||(window==null?void 0:window.clearImmediate)||(o=>clearTimeout(o)));var client={},reactDomExports={},reactDom={get exports(){return reactDomExports},set exports(o){reactDomExports=o}},reactDom_production_min={},schedulerExports={},scheduler={get exports(){return schedulerExports},set exports(o){schedulerExports=o}},scheduler_production_min={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(o){function s($t,rn){var Pt=$t.length;$t.push(rn);e:for(;0>>1,ln=$t[qt];if(0<$(ln,rn))$t[qt]=rn,$t[Pt]=ln,Pt=qt;else break e}}function _($t){return $t.length===0?null:$t[0]}function j($t){if($t.length===0)return null;var rn=$t[0],Pt=$t.pop();if(Pt!==rn){$t[0]=Pt;e:for(var qt=0,ln=$t.length,an=ln>>>1;qt$(Ht,Pt))Un$(Sn,Ht)?($t[qt]=Sn,$t[Un]=Pt,qt=Un):($t[qt]=Ht,$t[Gt]=Pt,qt=Gt);else if(Un$(Sn,Pt))$t[qt]=Sn,$t[Un]=Pt,qt=Un;else break e}}return rn}function $($t,rn){var Pt=$t.sortIndex-rn.sortIndex;return Pt!==0?Pt:$t.id-rn.id}if(typeof performance=="object"&&typeof performance.now=="function"){var et=performance;o.unstable_now=function(){return et.now()}}else{var tt=Date,nt=tt.now();o.unstable_now=function(){return tt.now()-nt}}var rt=[],it=[],st=1,Ut=null,ct=3,Ft=!1,ut=!1,Qt=!1,pt=typeof setTimeout=="function"?setTimeout:null,ft=typeof clearTimeout=="function"?clearTimeout:null,mt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function ht($t){for(var rn=_(it);rn!==null;){if(rn.callback===null)j(it);else if(rn.startTime<=$t)j(it),rn.sortIndex=rn.expirationTime,s(rt,rn);else break;rn=_(it)}}function Vt($t){if(Qt=!1,ht($t),!ut)if(_(rt)!==null)ut=!0,Tt(Rt);else{var rn=_(it);rn!==null&&_t(Vt,rn.startTime-$t)}}function Rt($t,rn){ut=!1,Qt&&(Qt=!1,ft(Mt),Mt=-1),Ft=!0;var Pt=ct;try{for(ht(rn),Ut=_(rt);Ut!==null&&(!(Ut.expirationTime>rn)||$t&&!Zt());){var qt=Ut.callback;if(typeof qt=="function"){Ut.callback=null,ct=Ut.priorityLevel;var ln=qt(Ut.expirationTime<=rn);rn=o.unstable_now(),typeof ln=="function"?Ut.callback=ln:Ut===_(rt)&&j(rt),ht(rn)}else j(rt);Ut=_(rt)}if(Ut!==null)var an=!0;else{var Gt=_(it);Gt!==null&&_t(Vt,Gt.startTime-rn),an=!1}return an}finally{Ut=null,ct=Pt,Ft=!1}}var Dt=!1,Ct=null,Mt=-1,yt=5,Yt=-1;function Zt(){return!(o.unstable_now()-Yt$t||125<$t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):yt=0<$t?Math.floor(1e3/$t):5},o.unstable_getCurrentPriorityLevel=function(){return ct},o.unstable_getFirstCallbackNode=function(){return _(rt)},o.unstable_next=function($t){switch(ct){case 1:case 2:case 3:var rn=3;break;default:rn=ct}var Pt=ct;ct=rn;try{return $t()}finally{ct=Pt}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=function(){},o.unstable_runWithPriority=function($t,rn){switch($t){case 1:case 2:case 3:case 4:case 5:break;default:$t=3}var Pt=ct;ct=$t;try{return rn()}finally{ct=Pt}},o.unstable_scheduleCallback=function($t,rn,Pt){var qt=o.unstable_now();switch(typeof Pt=="object"&&Pt!==null?(Pt=Pt.delay,Pt=typeof Pt=="number"&&0qt?($t.sortIndex=Pt,s(it,$t),_(rt)===null&&$t===_(it)&&(Qt?(ft(Mt),Mt=-1):Qt=!0,_t(Vt,Pt-qt))):($t.sortIndex=ln,s(rt,$t),ut||Ft||(ut=!0,Tt(Rt))),$t},o.unstable_shouldYield=Zt,o.unstable_wrapCallback=function($t){var rn=ct;return function(){var Pt=ct;ct=rn;try{return $t.apply(this,arguments)}finally{ct=Pt}}}})(scheduler_production_min);(function(o){o.exports=scheduler_production_min})(scheduler);/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var aa=reactExports,ca=schedulerExports;function p$1(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,_=1;_"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,la={},ma={};function oa(o){return ja.call(ma,o)?!0:ja.call(la,o)?!1:ka.test(o)?ma[o]=!0:(la[o]=!0,!1)}function pa(o,s,_,j){if(_!==null&&_.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return j?!1:_!==null?!_.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function qa(o,s,_,j){if(s===null||typeof s>"u"||pa(o,s,_,j))return!0;if(j)return!1;if(_!==null)switch(_.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function v$1(o,s,_,j,$,et,tt){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=j,this.attributeNamespace=$,this.mustUseProperty=_,this.propertyName=o,this.type=s,this.sanitizeURL=et,this.removeEmptyString=tt}var z$1={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){z$1[o]=new v$1(o,0,!1,o,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var s=o[0];z$1[s]=new v$1(s,1,!1,o[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(o){z$1[o]=new v$1(o,2,!1,o.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){z$1[o]=new v$1(o,2,!1,o,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(o){z$1[o]=new v$1(o,3,!1,o.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(o){z$1[o]=new v$1(o,3,!0,o,null,!1,!1)});["capture","download"].forEach(function(o){z$1[o]=new v$1(o,4,!1,o,null,!1,!1)});["cols","rows","size","span"].forEach(function(o){z$1[o]=new v$1(o,6,!1,o,null,!1,!1)});["rowSpan","start"].forEach(function(o){z$1[o]=new v$1(o,5,!1,o.toLowerCase(),null,!1,!1)});var ra=/[\-:]([a-z])/g;function sa(o){return o[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(o){z$1[o]=new v$1(o,1,!1,o.toLowerCase(),null,!1,!1)});z$1.xlinkHref=new v$1("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(o){z$1[o]=new v$1(o,1,!1,o.toLowerCase(),null,!0,!0)});function ta(o,s,_,j){var $=z$1.hasOwnProperty(s)?z$1[s]:null;($!==null?$.type!==0:j||!(2nt||$[tt]!==et[nt]){var rt=` +`+$[tt].replace(" at new "," at ");return o.displayName&&rt.includes("")&&(rt=rt.replace("",o.displayName)),rt}while(1<=tt&&0<=nt);break}}}finally{Na=!1,Error.prepareStackTrace=_}return(o=o?o.displayName||o.name:"")?Ma(o):""}function Pa(o){switch(o.tag){case 5:return Ma(o.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return o=Oa(o.type,!1),o;case 11:return o=Oa(o.type.render,!1),o;case 1:return o=Oa(o.type,!0),o;default:return""}}function Qa(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case Ca:return(o.displayName||"Context")+".Consumer";case Ba:return(o._context.displayName||"Context")+".Provider";case Da:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ga:return s=o.displayName||null,s!==null?s:Qa(o.type)||"Memo";case Ha:s=o._payload,o=o._init;try{return Qa(o(s))}catch{}}return null}function Ra(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(s);case 8:return s===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Ta(o){var s=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function Ua(o){var s=Ta(o)?"checked":"value",_=Object.getOwnPropertyDescriptor(o.constructor.prototype,s),j=""+o[s];if(!o.hasOwnProperty(s)&&typeof _<"u"&&typeof _.get=="function"&&typeof _.set=="function"){var $=_.get,et=_.set;return Object.defineProperty(o,s,{configurable:!0,get:function(){return $.call(this)},set:function(tt){j=""+tt,et.call(this,tt)}}),Object.defineProperty(o,s,{enumerable:_.enumerable}),{getValue:function(){return j},setValue:function(tt){j=""+tt},stopTracking:function(){o._valueTracker=null,delete o[s]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var s=o._valueTracker;if(!s)return!0;var _=s.getValue(),j="";return o&&(j=Ta(o)?o.checked?"true":"false":o.value),o=j,o!==_?(s.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function Ya(o,s){var _=s.checked;return A$1({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_??o._wrapperState.initialChecked})}function Za(o,s){var _=s.defaultValue==null?"":s.defaultValue,j=s.checked!=null?s.checked:s.defaultChecked;_=Sa(s.value!=null?s.value:_),o._wrapperState={initialChecked:j,initialValue:_,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ab(o,s){s=s.checked,s!=null&&ta(o,"checked",s,!1)}function bb(o,s){ab(o,s);var _=Sa(s.value),j=s.type;if(_!=null)j==="number"?(_===0&&o.value===""||o.value!=_)&&(o.value=""+_):o.value!==""+_&&(o.value=""+_);else if(j==="submit"||j==="reset"){o.removeAttribute("value");return}s.hasOwnProperty("value")?cb(o,s.type,_):s.hasOwnProperty("defaultValue")&&cb(o,s.type,Sa(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(o.defaultChecked=!!s.defaultChecked)}function db(o,s,_){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var j=s.type;if(!(j!=="submit"&&j!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+o._wrapperState.initialValue,_||s===o.value||(o.value=s),o.defaultValue=s}_=o.name,_!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,_!==""&&(o.name=_)}function cb(o,s,_){(s!=="number"||Xa(o.ownerDocument)!==o)&&(_==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+_&&(o.defaultValue=""+_))}var eb=Array.isArray;function fb(o,s,_,j){if(o=o.options,s){s={};for(var $=0;$<_.length;$++)s["$"+_[$]]=!0;for(_=0;_"+s.valueOf().toString()+"",s=mb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}});function ob(o,s){if(s){var _=o.firstChild;if(_&&_===o.lastChild&&_.nodeType===3){_.nodeValue=s;return}}o.textContent=s}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(o){qb.forEach(function(s){s=s+o.charAt(0).toUpperCase()+o.substring(1),pb[s]=pb[o]})});function rb(o,s,_){return s==null||typeof s=="boolean"||s===""?"":_||typeof s!="number"||s===0||pb.hasOwnProperty(o)&&pb[o]?(""+s).trim():s+"px"}function sb(o,s){o=o.style;for(var _ in s)if(s.hasOwnProperty(_)){var j=_.indexOf("--")===0,$=rb(_,s[_],j);_==="float"&&(_="cssFloat"),j?o.setProperty(_,$):o[_]=$}}var tb=A$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(o,s){if(s){if(tb[o]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(p$1(137,o));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(p$1(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(p$1(61))}if(s.style!=null&&typeof s.style!="object")throw Error(p$1(62))}}function vb(o,s){if(o.indexOf("-")===-1)return typeof s.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(p$1(280));var s=o.stateNode;s&&(s=Db(s),yb(o.stateNode,o.type,s))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,s=Ab;if(Ab=zb=null,Bb(o),s)for(o=0;o>>=0,o===0?32:31-(pc(o)/qc|0)|0}var rc=64,sc=4194304;function tc(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function uc(o,s){var _=o.pendingLanes;if(_===0)return 0;var j=0,$=o.suspendedLanes,et=o.pingedLanes,tt=_&268435455;if(tt!==0){var nt=tt&~$;nt!==0?j=tc(nt):(et&=tt,et!==0&&(j=tc(et)))}else tt=_&~$,tt!==0?j=tc(tt):et!==0&&(j=tc(et));if(j===0)return 0;if(s!==0&&s!==j&&!(s&$)&&($=j&-j,et=s&-s,$>=et||$===16&&(et&4194240)!==0))return s;if(j&4&&(j|=_&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=j;0_;_++)s.push(o);return s}function Ac(o,s,_){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-oc(s),o[s]=_}function Bc(o,s){var _=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var j=o.eventTimes;for(o=o.expirationTimes;0<_;){var $=31-oc(_),et=1<<$;s[$]=0,j[$]=-1,o[$]=-1,_&=~et}}function Cc(o,s){var _=o.entangledLanes|=s;for(o=o.entanglements;_;){var j=31-oc(_),$=1<=be),ee=String.fromCharCode(32),fe=!1;function ge(o,s){switch(o){case"keyup":return $d.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie=!1;function je(o,s){switch(o){case"compositionend":return he(s);case"keypress":return s.which!==32?null:(fe=!0,ee);case"textInput":return o=s.data,o===ee&&fe?null:o;default:return null}}function ke(o,s){if(ie)return o==="compositionend"||!ae&&ge(o,s)?(o=nd(),md=ld=kd=null,ie=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:_,offset:s-o};o=j}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=Je(_)}}function Le(o,s){return o&&s?o===s?!0:o&&o.nodeType===3?!1:s&&s.nodeType===3?Le(o,s.parentNode):"contains"in o?o.contains(s):o.compareDocumentPosition?!!(o.compareDocumentPosition(s)&16):!1:!1}function Me(){for(var o=window,s=Xa();s instanceof o.HTMLIFrameElement;){try{var _=typeof s.contentWindow.location.href=="string"}catch{_=!1}if(_)o=s.contentWindow;else break;s=Xa(o.document)}return s}function Ne(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s&&(s==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||s==="textarea"||o.contentEditable==="true")}function Oe$1(o){var s=Me(),_=o.focusedElem,j=o.selectionRange;if(s!==_&&_&&_.ownerDocument&&Le(_.ownerDocument.documentElement,_)){if(j!==null&&Ne(_)){if(s=j.start,o=j.end,o===void 0&&(o=s),"selectionStart"in _)_.selectionStart=s,_.selectionEnd=Math.min(o,_.value.length);else if(o=(s=_.ownerDocument||document)&&s.defaultView||window,o.getSelection){o=o.getSelection();var $=_.textContent.length,et=Math.min(j.start,$);j=j.end===void 0?et:Math.min(j.end,$),!o.extend&&et>j&&($=j,j=et,et=$),$=Ke$1(_,et);var tt=Ke$1(_,j);$&&tt&&(o.rangeCount!==1||o.anchorNode!==$.node||o.anchorOffset!==$.offset||o.focusNode!==tt.node||o.focusOffset!==tt.offset)&&(s=s.createRange(),s.setStart($.node,$.offset),o.removeAllRanges(),et>j?(o.addRange(s),o.extend(tt.node,tt.offset)):(s.setEnd(tt.node,tt.offset),o.addRange(s)))}}for(s=[],o=_;o=o.parentNode;)o.nodeType===1&&s.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,s,_){var j=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;Te||Qe==null||Qe!==Xa(j)||(j=Qe,"selectionStart"in j&&Ne(j)?j={start:j.selectionStart,end:j.selectionEnd}:(j=(j.ownerDocument&&j.ownerDocument.defaultView||window).getSelection(),j={anchorNode:j.anchorNode,anchorOffset:j.anchorOffset,focusNode:j.focusNode,focusOffset:j.focusOffset}),Se&&Ie(Se,j)||(Se=j,j=oe(Re,"onSelect"),0Tf||(o.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(o,s){Tf++,Sf[Tf]=o.current,o.current=s}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(o,s){var _=o.type.contextTypes;if(!_)return Vf;var j=o.stateNode;if(j&&j.__reactInternalMemoizedUnmaskedChildContext===s)return j.__reactInternalMemoizedMaskedChildContext;var $={},et;for(et in _)$[et]=s[et];return j&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=$),$}function Zf(o){return o=o.childContextTypes,o!=null}function $f(){E(Wf),E(H)}function ag(o,s,_){if(H.current!==Vf)throw Error(p$1(168));G(H,s),G(Wf,_)}function bg(o,s,_){var j=o.stateNode;if(s=s.childContextTypes,typeof j.getChildContext!="function")return _;j=j.getChildContext();for(var $ in j)if(!($ in s))throw Error(p$1(108,Ra(o)||"Unknown",$));return A$1({},_,j)}function cg(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,o),G(Wf,Wf.current),!0}function dg(o,s,_){var j=o.stateNode;if(!j)throw Error(p$1(169));_?(o=bg(o,s,Xf),j.__reactInternalMemoizedMergedChildContext=o,E(Wf),E(H),G(H,o)):E(Wf),G(Wf,_)}var eg=null,fg=!1,gg=!1;function hg(o){eg===null?eg=[o]:eg.push(o)}function ig(o){fg=!0,hg(o)}function jg(){if(!gg&&eg!==null){gg=!0;var o=0,s=C;try{var _=eg;for(C=1;o<_.length;o++){var j=_[o];do j=j(!0);while(j!==null)}eg=null,fg=!1}catch($){throw eg!==null&&(eg=eg.slice(o+1)),ac(fc,jg),$}finally{C=s,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg="";function tg(o,s){kg[lg++]=ng,kg[lg++]=mg,mg=o,ng=s}function ug(o,s,_){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=o;var j=rg;o=sg;var $=32-oc(j)-1;j&=~(1<<$),_+=1;var et=32-oc(s)+$;if(30>=tt,$-=tt,rg=1<<32-oc(s)+$|_<<$|j,sg=et+o}else rg=1<Mt?(yt=Ct,Ct=null):yt=Ct.sibling;var Yt=ct(ft,Ct,ht[Mt],Vt);if(Yt===null){Ct===null&&(Ct=yt);break}o&&Ct&&Yt.alternate===null&&s(ft,Ct),mt=et(Yt,mt,Mt),Dt===null?Rt=Yt:Dt.sibling=Yt,Dt=Yt,Ct=yt}if(Mt===ht.length)return _(ft,Ct),I&&tg(ft,Mt),Rt;if(Ct===null){for(;MtMt?(yt=Ct,Ct=null):yt=Ct.sibling;var Zt=ct(ft,Ct,Yt.value,Vt);if(Zt===null){Ct===null&&(Ct=yt);break}o&&Ct&&Zt.alternate===null&&s(ft,Ct),mt=et(Zt,mt,Mt),Dt===null?Rt=Zt:Dt.sibling=Zt,Dt=Zt,Ct=yt}if(Yt.done)return _(ft,Ct),I&&tg(ft,Mt),Rt;if(Ct===null){for(;!Yt.done;Mt++,Yt=ht.next())Yt=Ut(ft,Yt.value,Vt),Yt!==null&&(mt=et(Yt,mt,Mt),Dt===null?Rt=Yt:Dt.sibling=Yt,Dt=Yt);return I&&tg(ft,Mt),Rt}for(Ct=j(ft,Ct);!Yt.done;Mt++,Yt=ht.next())Yt=Ft(Ct,ft,Mt,Yt.value,Vt),Yt!==null&&(o&&Yt.alternate!==null&&Ct.delete(Yt.key===null?Mt:Yt.key),mt=et(Yt,mt,Mt),Dt===null?Rt=Yt:Dt.sibling=Yt,Dt=Yt);return o&&Ct.forEach(function(vt){return s(ft,vt)}),I&&tg(ft,Mt),Rt}function pt(ft,mt,ht,Vt){if(typeof ht=="object"&&ht!==null&&ht.type===ya&&ht.key===null&&(ht=ht.props.children),typeof ht=="object"&&ht!==null){switch(ht.$$typeof){case va:e:{for(var Rt=ht.key,Dt=mt;Dt!==null;){if(Dt.key===Rt){if(Rt=ht.type,Rt===ya){if(Dt.tag===7){_(ft,Dt.sibling),mt=$(Dt,ht.props.children),mt.return=ft,ft=mt;break e}}else if(Dt.elementType===Rt||typeof Rt=="object"&&Rt!==null&&Rt.$$typeof===Ha&&uh(Rt)===Dt.type){_(ft,Dt.sibling),mt=$(Dt,ht.props),mt.ref=sh(ft,Dt,ht),mt.return=ft,ft=mt;break e}_(ft,Dt);break}else s(ft,Dt);Dt=Dt.sibling}ht.type===ya?(mt=Ah(ht.props.children,ft.mode,Vt,ht.key),mt.return=ft,ft=mt):(Vt=yh(ht.type,ht.key,ht.props,null,ft.mode,Vt),Vt.ref=sh(ft,mt,ht),Vt.return=ft,ft=Vt)}return tt(ft);case wa:e:{for(Dt=ht.key;mt!==null;){if(mt.key===Dt)if(mt.tag===4&&mt.stateNode.containerInfo===ht.containerInfo&&mt.stateNode.implementation===ht.implementation){_(ft,mt.sibling),mt=$(mt,ht.children||[]),mt.return=ft,ft=mt;break e}else{_(ft,mt);break}else s(ft,mt);mt=mt.sibling}mt=zh(ht,ft.mode,Vt),mt.return=ft,ft=mt}return tt(ft);case Ha:return Dt=ht._init,pt(ft,mt,Dt(ht._payload),Vt)}if(eb(ht))return ut(ft,mt,ht,Vt);if(Ka(ht))return Qt(ft,mt,ht,Vt);th(ft,ht)}return typeof ht=="string"&&ht!==""||typeof ht=="number"?(ht=""+ht,mt!==null&&mt.tag===6?(_(ft,mt.sibling),mt=$(mt,ht),mt.return=ft,ft=mt):(_(ft,mt),mt=xh(ht,ft.mode,Vt),mt.return=ft,ft=mt),tt(ft)):_(ft,mt)}return pt}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(o){if(o===Dh)throw Error(p$1(174));return o}function Ih(o,s){switch(G(Gh,s),G(Fh,o),G(Eh,Dh),o=s.nodeType,o){case 9:case 11:s=(s=s.documentElement)?s.namespaceURI:lb(null,"");break;default:o=o===8?s.parentNode:s,s=o.namespaceURI||null,o=o.tagName,s=lb(s,o)}E(Eh),G(Eh,s)}function Jh(){E(Eh),E(Fh),E(Gh)}function Kh(o){Hh(Gh.current);var s=Hh(Eh.current),_=lb(s,o.type);s!==_&&(G(Fh,o),G(Eh,_))}function Lh(o){Fh.current===o&&(E(Eh),E(Fh))}var M=Uf(0);function Mh(o){for(var s=o;s!==null;){if(s.tag===13){var _=s.memoizedState;if(_!==null&&(_=_.dehydrated,_===null||_.data==="$?"||_.data==="$!"))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if(s.flags&128)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var Nh=[];function Oh(){for(var o=0;o_?_:4,o(!0);var j=Qh.transition;Qh.transition={};try{o(!1),s()}finally{C=_,Qh.transition=j}}function Fi(){return di().memoizedState}function Gi(o,s,_){var j=lh(o);if(_={lane:j,action:_,hasEagerState:!1,eagerState:null,next:null},Hi(o))Ii(s,_);else if(_=Yg(o,s,_,j),_!==null){var $=L();mh(_,o,j,$),Ji(_,s,j)}}function ri(o,s,_){var j=lh(o),$={lane:j,action:_,hasEagerState:!1,eagerState:null,next:null};if(Hi(o))Ii(s,$);else{var et=o.alternate;if(o.lanes===0&&(et===null||et.lanes===0)&&(et=s.lastRenderedReducer,et!==null))try{var tt=s.lastRenderedState,nt=et(tt,_);if($.hasEagerState=!0,$.eagerState=nt,He(nt,tt)){var rt=s.interleaved;rt===null?($.next=$,Xg(s)):($.next=rt.next,rt.next=$),s.interleaved=$;return}}catch{}finally{}_=Yg(o,s,$,j),_!==null&&($=L(),mh(_,o,j,$),Ji(_,s,j))}}function Hi(o){var s=o.alternate;return o===N||s!==null&&s===N}function Ii(o,s){Th=Sh=!0;var _=o.pending;_===null?s.next=s:(s.next=_.next,_.next=s),o.pending=s}function Ji(o,s,_){if(_&4194240){var j=s.lanes;j&=o.pendingLanes,_|=j,s.lanes=_,Cc(o,_)}}var ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(o,s){return ci().memoizedState=[o,s===void 0?null:s],o},useContext:Vg,useEffect:vi,useImperativeHandle:function(o,s,_){return _=_!=null?_.concat([o]):null,ti(4194308,4,yi.bind(null,s,o),_)},useLayoutEffect:function(o,s){return ti(4194308,4,o,s)},useInsertionEffect:function(o,s){return ti(4,2,o,s)},useMemo:function(o,s){var _=ci();return s=s===void 0?null:s,o=o(),_.memoizedState=[o,s],o},useReducer:function(o,s,_){var j=ci();return s=_!==void 0?_(s):s,j.memoizedState=j.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},j.queue=o,o=o.dispatch=Gi.bind(null,N,o),[j.memoizedState,o]},useRef:function(o){var s=ci();return o={current:o},s.memoizedState=o},useState:qi,useDebugValue:Ai,useDeferredValue:function(o){return ci().memoizedState=o},useTransition:function(){var o=qi(!1),s=o[0];return o=Ei.bind(null,o[1]),ci().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,_){var j=N,$=ci();if(I){if(_===void 0)throw Error(p$1(407));_=_()}else{if(_=s(),R===null)throw Error(p$1(349));Rh&30||ni(j,s,_)}$.memoizedState=_;var et={value:_,getSnapshot:s};return $.queue=et,vi(ki.bind(null,j,et,o),[o]),j.flags|=2048,li(9,mi.bind(null,j,et,_,s),void 0,null),_},useId:function(){var o=ci(),s=R.identifierPrefix;if(I){var _=sg,j=rg;_=(j&~(1<<32-oc(j)-1)).toString(32)+_,s=":"+s+"R"+_,_=Uh++,0<_&&(s+="H"+_.toString(32)),s+=":"}else _=Vh++,s=":"+s+"r"+_.toString(32)+":";return o.memoizedState=s},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},useDebugValue:Ai,useDeferredValue:function(o){var s=di();return Di(s,O.memoizedState,o)},useTransition:function(){var o=fi(ei)[0],s=di().memoizedState;return[o,s]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(o){var s=di();return O===null?s.memoizedState=o:Di(s,O.memoizedState,o)},useTransition:function(){var o=gi(ei)[0],s=di().memoizedState;return[o,s]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(o,s){try{var _="",j=s;do _+=Pa(j),j=j.return;while(j);var $=_}catch(et){$=` +Error generating stack: `+et.message+` +`+et.stack}return{value:o,source:s,stack:$,digest:null}}function Li(o,s,_){return{value:o,source:null,stack:_??null,digest:s??null}}function Mi(o,s){try{console.error(s.value)}catch(_){setTimeout(function(){throw _})}}var Ni=typeof WeakMap=="function"?WeakMap:Map;function Oi(o,s,_){_=ch(-1,_),_.tag=3,_.payload={element:null};var j=s.value;return _.callback=function(){Pi||(Pi=!0,Qi=j),Mi(o,s)},_}function Ri(o,s,_){_=ch(-1,_),_.tag=3;var j=o.type.getDerivedStateFromError;if(typeof j=="function"){var $=s.value;_.payload=function(){return j($)},_.callback=function(){Mi(o,s)}}var et=o.stateNode;return et!==null&&typeof et.componentDidCatch=="function"&&(_.callback=function(){Mi(o,s),typeof j!="function"&&(Si===null?Si=new Set([this]):Si.add(this));var tt=s.stack;this.componentDidCatch(s.value,{componentStack:tt!==null?tt:""})}),_}function Ti(o,s,_){var j=o.pingCache;if(j===null){j=o.pingCache=new Ni;var $=new Set;j.set(s,$)}else $=j.get(s),$===void 0&&($=new Set,j.set(s,$));$.has(_)||($.add(_),o=Ui.bind(null,o,s,_),s.then(o,o))}function Vi(o){do{var s;if((s=o.tag===13)&&(s=o.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return o;o=o.return}while(o!==null);return null}function Wi(o,s,_,j,$){return o.mode&1?(o.flags|=65536,o.lanes=$,o):(o===s?o.flags|=65536:(o.flags|=128,_.flags|=131072,_.flags&=-52805,_.tag===1&&(_.alternate===null?_.tag=17:(s=ch(-1,1),s.tag=2,dh(_,s,1))),_.lanes|=1),o)}var Xi=ua$1.ReactCurrentOwner,Ug=!1;function Yi(o,s,_,j){s.child=o===null?Ch(s,null,_,j):Bh(s,o.child,_,j)}function Zi(o,s,_,j,$){_=_.render;var et=s.ref;return Tg(s,$),j=Xh(o,s,_,j,et,$),_=bi(),o!==null&&!Ug?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~$,$i(o,s,$)):(I&&_&&vg(s),s.flags|=1,Yi(o,s,j,$),s.child)}function aj(o,s,_,j,$){if(o===null){var et=_.type;return typeof et=="function"&&!bj(et)&&et.defaultProps===void 0&&_.compare===null&&_.defaultProps===void 0?(s.tag=15,s.type=et,cj(o,s,et,j,$)):(o=yh(_.type,null,j,s,s.mode,$),o.ref=s.ref,o.return=s,s.child=o)}if(et=o.child,!(o.lanes&$)){var tt=et.memoizedProps;if(_=_.compare,_=_!==null?_:Ie,_(tt,j)&&o.ref===s.ref)return $i(o,s,$)}return s.flags|=1,o=wh(et,j),o.ref=s.ref,o.return=s,s.child=o}function cj(o,s,_,j,$){if(o!==null){var et=o.memoizedProps;if(Ie(et,j)&&o.ref===s.ref)if(Ug=!1,s.pendingProps=j=et,(o.lanes&$)!==0)o.flags&131072&&(Ug=!0);else return s.lanes=o.lanes,$i(o,s,$)}return dj(o,s,_,j,$)}function ej(o,s,_){var j=s.pendingProps,$=j.children,et=o!==null?o.memoizedState:null;if(j.mode==="hidden")if(!(s.mode&1))s.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=_;else{if(!(_&1073741824))return o=et!==null?et.baseLanes|_:_,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null,transitions:null},s.updateQueue=null,G(fj,gj),gj|=o,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},j=et!==null?et.baseLanes:_,G(fj,gj),gj|=j}else et!==null?(j=et.baseLanes|_,s.memoizedState=null):j=_,G(fj,gj),gj|=j;return Yi(o,s,$,_),s.child}function hj(o,s){var _=s.ref;(o===null&&_!==null||o!==null&&o.ref!==_)&&(s.flags|=512,s.flags|=2097152)}function dj(o,s,_,j,$){var et=Zf(_)?Xf:H.current;return et=Yf(s,et),Tg(s,$),_=Xh(o,s,_,j,et,$),j=bi(),o!==null&&!Ug?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~$,$i(o,s,$)):(I&&j&&vg(s),s.flags|=1,Yi(o,s,_,$),s.child)}function ij(o,s,_,j,$){if(Zf(_)){var et=!0;cg(s)}else et=!1;if(Tg(s,$),s.stateNode===null)jj(o,s),ph(s,_,j),rh(s,_,j,$),j=!0;else if(o===null){var tt=s.stateNode,nt=s.memoizedProps;tt.props=nt;var rt=tt.context,it=_.contextType;typeof it=="object"&&it!==null?it=Vg(it):(it=Zf(_)?Xf:H.current,it=Yf(s,it));var st=_.getDerivedStateFromProps,Ut=typeof st=="function"||typeof tt.getSnapshotBeforeUpdate=="function";Ut||typeof tt.UNSAFE_componentWillReceiveProps!="function"&&typeof tt.componentWillReceiveProps!="function"||(nt!==j||rt!==it)&&qh(s,tt,j,it),$g=!1;var ct=s.memoizedState;tt.state=ct,gh(s,j,tt,$),rt=s.memoizedState,nt!==j||ct!==rt||Wf.current||$g?(typeof st=="function"&&(kh(s,_,st,j),rt=s.memoizedState),(nt=$g||oh(s,_,nt,j,ct,rt,it))?(Ut||typeof tt.UNSAFE_componentWillMount!="function"&&typeof tt.componentWillMount!="function"||(typeof tt.componentWillMount=="function"&&tt.componentWillMount(),typeof tt.UNSAFE_componentWillMount=="function"&&tt.UNSAFE_componentWillMount()),typeof tt.componentDidMount=="function"&&(s.flags|=4194308)):(typeof tt.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=j,s.memoizedState=rt),tt.props=j,tt.state=rt,tt.context=it,j=nt):(typeof tt.componentDidMount=="function"&&(s.flags|=4194308),j=!1)}else{tt=s.stateNode,bh(o,s),nt=s.memoizedProps,it=s.type===s.elementType?nt:Lg(s.type,nt),tt.props=it,Ut=s.pendingProps,ct=tt.context,rt=_.contextType,typeof rt=="object"&&rt!==null?rt=Vg(rt):(rt=Zf(_)?Xf:H.current,rt=Yf(s,rt));var Ft=_.getDerivedStateFromProps;(st=typeof Ft=="function"||typeof tt.getSnapshotBeforeUpdate=="function")||typeof tt.UNSAFE_componentWillReceiveProps!="function"&&typeof tt.componentWillReceiveProps!="function"||(nt!==Ut||ct!==rt)&&qh(s,tt,j,rt),$g=!1,ct=s.memoizedState,tt.state=ct,gh(s,j,tt,$);var ut=s.memoizedState;nt!==Ut||ct!==ut||Wf.current||$g?(typeof Ft=="function"&&(kh(s,_,Ft,j),ut=s.memoizedState),(it=$g||oh(s,_,it,j,ct,ut,rt)||!1)?(st||typeof tt.UNSAFE_componentWillUpdate!="function"&&typeof tt.componentWillUpdate!="function"||(typeof tt.componentWillUpdate=="function"&&tt.componentWillUpdate(j,ut,rt),typeof tt.UNSAFE_componentWillUpdate=="function"&&tt.UNSAFE_componentWillUpdate(j,ut,rt)),typeof tt.componentDidUpdate=="function"&&(s.flags|=4),typeof tt.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof tt.componentDidUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||(s.flags|=4),typeof tt.getSnapshotBeforeUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||(s.flags|=1024),s.memoizedProps=j,s.memoizedState=ut),tt.props=j,tt.state=ut,tt.context=rt,j=it):(typeof tt.componentDidUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||(s.flags|=4),typeof tt.getSnapshotBeforeUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||(s.flags|=1024),j=!1)}return kj(o,s,_,j,et,$)}function kj(o,s,_,j,$,et){hj(o,s);var tt=(s.flags&128)!==0;if(!j&&!tt)return $&&dg(s,_,!1),$i(o,s,et);j=s.stateNode,Xi.current=s;var nt=tt&&typeof _.getDerivedStateFromError!="function"?null:j.render();return s.flags|=1,o!==null&&tt?(s.child=Bh(s,o.child,null,et),s.child=Bh(s,null,nt,et)):Yi(o,s,nt,et),s.memoizedState=j.state,$&&dg(s,_,!0),s.child}function lj(o){var s=o.stateNode;s.pendingContext?ag(o,s.pendingContext,s.pendingContext!==s.context):s.context&&ag(o,s.context,!1),Ih(o,s.containerInfo)}function mj(o,s,_,j,$){return Ig(),Jg($),s.flags|=256,Yi(o,s,_,j),s.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(o){return{baseLanes:o,cachePool:null,transitions:null}}function pj(o,s,_){var j=s.pendingProps,$=M.current,et=!1,tt=(s.flags&128)!==0,nt;if((nt=tt)||(nt=o!==null&&o.memoizedState===null?!1:($&2)!==0),nt?(et=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&($|=1),G(M,$&1),o===null)return Eg(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(s.mode&1?o.data==="$!"?s.lanes=8:s.lanes=1073741824:s.lanes=1,null):(tt=j.children,o=j.fallback,et?(j=s.mode,et=s.child,tt={mode:"hidden",children:tt},!(j&1)&&et!==null?(et.childLanes=0,et.pendingProps=tt):et=qj(tt,j,0,null),o=Ah(o,j,_,null),et.return=s,o.return=s,et.sibling=o,s.child=et,s.child.memoizedState=oj(_),s.memoizedState=nj,o):rj(s,tt));if($=o.memoizedState,$!==null&&(nt=$.dehydrated,nt!==null))return sj(o,s,tt,j,nt,$,_);if(et){et=j.fallback,tt=s.mode,$=o.child,nt=$.sibling;var rt={mode:"hidden",children:j.children};return!(tt&1)&&s.child!==$?(j=s.child,j.childLanes=0,j.pendingProps=rt,s.deletions=null):(j=wh($,rt),j.subtreeFlags=$.subtreeFlags&14680064),nt!==null?et=wh(nt,et):(et=Ah(et,tt,_,null),et.flags|=2),et.return=s,j.return=s,j.sibling=et,s.child=j,j=et,et=s.child,tt=o.child.memoizedState,tt=tt===null?oj(_):{baseLanes:tt.baseLanes|_,cachePool:null,transitions:tt.transitions},et.memoizedState=tt,et.childLanes=o.childLanes&~_,s.memoizedState=nj,j}return et=o.child,o=et.sibling,j=wh(et,{mode:"visible",children:j.children}),!(s.mode&1)&&(j.lanes=_),j.return=s,j.sibling=null,o!==null&&(_=s.deletions,_===null?(s.deletions=[o],s.flags|=16):_.push(o)),s.child=j,s.memoizedState=null,j}function rj(o,s){return s=qj({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function tj(o,s,_,j){return j!==null&&Jg(j),Bh(s,o.child,null,_),o=rj(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function sj(o,s,_,j,$,et,tt){if(_)return s.flags&256?(s.flags&=-257,j=Li(Error(p$1(422))),tj(o,s,tt,j)):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(et=j.fallback,$=s.mode,j=qj({mode:"visible",children:j.children},$,0,null),et=Ah(et,$,tt,null),et.flags|=2,j.return=s,et.return=s,j.sibling=et,s.child=j,s.mode&1&&Bh(s,o.child,null,tt),s.child.memoizedState=oj(tt),s.memoizedState=nj,et);if(!(s.mode&1))return tj(o,s,tt,null);if($.data==="$!"){if(j=$.nextSibling&&$.nextSibling.dataset,j)var nt=j.dgst;return j=nt,et=Error(p$1(419)),j=Li(et,j,void 0),tj(o,s,tt,j)}if(nt=(tt&o.childLanes)!==0,Ug||nt){if(j=R,j!==null){switch(tt&-tt){case 4:$=2;break;case 16:$=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:$=32;break;case 536870912:$=268435456;break;default:$=0}$=$&(j.suspendedLanes|tt)?0:$,$!==0&&$!==et.retryLane&&(et.retryLane=$,Zg(o,$),mh(j,o,$,-1))}return uj(),j=Li(Error(p$1(421))),tj(o,s,tt,j)}return $.data==="$?"?(s.flags|=128,s.child=o.child,s=vj.bind(null,o),$._reactRetry=s,null):(o=et.treeContext,yg=Lf($.nextSibling),xg=s,I=!0,zg=null,o!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=o.id,sg=o.overflow,qg=s),s=rj(s,j.children),s.flags|=4096,s)}function wj(o,s,_){o.lanes|=s;var j=o.alternate;j!==null&&(j.lanes|=s),Sg(o.return,s,_)}function xj(o,s,_,j,$){var et=o.memoizedState;et===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:j,tail:_,tailMode:$}:(et.isBackwards=s,et.rendering=null,et.renderingStartTime=0,et.last=j,et.tail=_,et.tailMode=$)}function yj(o,s,_){var j=s.pendingProps,$=j.revealOrder,et=j.tail;if(Yi(o,s,j.children,_),j=M.current,j&2)j=j&1|2,s.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&wj(o,_,s);else if(o.tag===19)wj(o,_,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break e;for(;o.sibling===null;){if(o.return===null||o.return===s)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}j&=1}if(G(M,j),!(s.mode&1))s.memoizedState=null;else switch($){case"forwards":for(_=s.child,$=null;_!==null;)o=_.alternate,o!==null&&Mh(o)===null&&($=_),_=_.sibling;_=$,_===null?($=s.child,s.child=null):($=_.sibling,_.sibling=null),xj(s,!1,$,_,et);break;case"backwards":for(_=null,$=s.child,s.child=null;$!==null;){if(o=$.alternate,o!==null&&Mh(o)===null){s.child=$;break}o=$.sibling,$.sibling=_,_=$,$=o}xj(s,!0,_,null,et);break;case"together":xj(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function jj(o,s){!(s.mode&1)&&o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2)}function $i(o,s,_){if(o!==null&&(s.dependencies=o.dependencies),hh|=s.lanes,!(_&s.childLanes))return null;if(o!==null&&s.child!==o.child)throw Error(p$1(153));if(s.child!==null){for(o=s.child,_=wh(o,o.pendingProps),s.child=_,_.return=s;o.sibling!==null;)o=o.sibling,_=_.sibling=wh(o,o.pendingProps),_.return=s;_.sibling=null}return s.child}function zj(o,s,_){switch(s.tag){case 3:lj(s),Ig();break;case 5:Kh(s);break;case 1:Zf(s.type)&&cg(s);break;case 4:Ih(s,s.stateNode.containerInfo);break;case 10:var j=s.type._context,$=s.memoizedProps.value;G(Mg,j._currentValue),j._currentValue=$;break;case 13:if(j=s.memoizedState,j!==null)return j.dehydrated!==null?(G(M,M.current&1),s.flags|=128,null):_&s.child.childLanes?pj(o,s,_):(G(M,M.current&1),o=$i(o,s,_),o!==null?o.sibling:null);G(M,M.current&1);break;case 19:if(j=(_&s.childLanes)!==0,o.flags&128){if(j)return yj(o,s,_);s.flags|=128}if($=s.memoizedState,$!==null&&($.rendering=null,$.tail=null,$.lastEffect=null),G(M,M.current),j)break;return null;case 22:case 23:return s.lanes=0,ej(o,s,_)}return $i(o,s,_)}var Aj,Bj,Cj,Dj;Aj=function(o,s){for(var _=s.child;_!==null;){if(_.tag===5||_.tag===6)o.appendChild(_.stateNode);else if(_.tag!==4&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===s)break;for(;_.sibling===null;){if(_.return===null||_.return===s)return;_=_.return}_.sibling.return=_.return,_=_.sibling}};Bj=function(){};Cj=function(o,s,_,j){var $=o.memoizedProps;if($!==j){o=s.stateNode,Hh(Eh.current);var et=null;switch(_){case"input":$=Ya(o,$),j=Ya(o,j),et=[];break;case"select":$=A$1({},$,{value:void 0}),j=A$1({},j,{value:void 0}),et=[];break;case"textarea":$=gb(o,$),j=gb(o,j),et=[];break;default:typeof $.onClick!="function"&&typeof j.onClick=="function"&&(o.onclick=Bf)}ub(_,j);var tt;_=null;for(it in $)if(!j.hasOwnProperty(it)&&$.hasOwnProperty(it)&&$[it]!=null)if(it==="style"){var nt=$[it];for(tt in nt)nt.hasOwnProperty(tt)&&(_||(_={}),_[tt]="")}else it!=="dangerouslySetInnerHTML"&&it!=="children"&&it!=="suppressContentEditableWarning"&&it!=="suppressHydrationWarning"&&it!=="autoFocus"&&(ea.hasOwnProperty(it)?et||(et=[]):(et=et||[]).push(it,null));for(it in j){var rt=j[it];if(nt=$!=null?$[it]:void 0,j.hasOwnProperty(it)&&rt!==nt&&(rt!=null||nt!=null))if(it==="style")if(nt){for(tt in nt)!nt.hasOwnProperty(tt)||rt&&rt.hasOwnProperty(tt)||(_||(_={}),_[tt]="");for(tt in rt)rt.hasOwnProperty(tt)&&nt[tt]!==rt[tt]&&(_||(_={}),_[tt]=rt[tt])}else _||(et||(et=[]),et.push(it,_)),_=rt;else it==="dangerouslySetInnerHTML"?(rt=rt?rt.__html:void 0,nt=nt?nt.__html:void 0,rt!=null&&nt!==rt&&(et=et||[]).push(it,rt)):it==="children"?typeof rt!="string"&&typeof rt!="number"||(et=et||[]).push(it,""+rt):it!=="suppressContentEditableWarning"&&it!=="suppressHydrationWarning"&&(ea.hasOwnProperty(it)?(rt!=null&&it==="onScroll"&&D("scroll",o),et||nt===rt||(et=[])):(et=et||[]).push(it,rt))}_&&(et=et||[]).push("style",_);var it=et;(s.updateQueue=it)&&(s.flags|=4)}};Dj=function(o,s,_,j){_!==j&&(s.flags|=4)};function Ej(o,s){if(!I)switch(o.tailMode){case"hidden":s=o.tail;for(var _=null;s!==null;)s.alternate!==null&&(_=s),s=s.sibling;_===null?o.tail=null:_.sibling=null;break;case"collapsed":_=o.tail;for(var j=null;_!==null;)_.alternate!==null&&(j=_),_=_.sibling;j===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:j.sibling=null}}function S(o){var s=o.alternate!==null&&o.alternate.child===o.child,_=0,j=0;if(s)for(var $=o.child;$!==null;)_|=$.lanes|$.childLanes,j|=$.subtreeFlags&14680064,j|=$.flags&14680064,$.return=o,$=$.sibling;else for($=o.child;$!==null;)_|=$.lanes|$.childLanes,j|=$.subtreeFlags,j|=$.flags,$.return=o,$=$.sibling;return o.subtreeFlags|=j,o.childLanes=_,s}function Fj(o,s,_){var j=s.pendingProps;switch(wg(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(s),null;case 1:return Zf(s.type)&&$f(),S(s),null;case 3:return j=s.stateNode,Jh(),E(Wf),E(H),Oh(),j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),(o===null||o.child===null)&&(Gg(s)?s.flags|=4:o===null||o.memoizedState.isDehydrated&&!(s.flags&256)||(s.flags|=1024,zg!==null&&(Gj(zg),zg=null))),Bj(o,s),S(s),null;case 5:Lh(s);var $=Hh(Gh.current);if(_=s.type,o!==null&&s.stateNode!=null)Cj(o,s,_,j,$),o.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!j){if(s.stateNode===null)throw Error(p$1(166));return S(s),null}if(o=Hh(Eh.current),Gg(s)){j=s.stateNode,_=s.type;var et=s.memoizedProps;switch(j[Of]=s,j[Pf]=et,o=(s.mode&1)!==0,_){case"dialog":D("cancel",j),D("close",j);break;case"iframe":case"object":case"embed":D("load",j);break;case"video":case"audio":for($=0;$<\/script>",o=o.removeChild(o.firstChild)):typeof j.is=="string"?o=tt.createElement(_,{is:j.is}):(o=tt.createElement(_),_==="select"&&(tt=o,j.multiple?tt.multiple=!0:j.size&&(tt.size=j.size))):o=tt.createElementNS(o,_),o[Of]=s,o[Pf]=j,Aj(o,s,!1,!1),s.stateNode=o;e:{switch(tt=vb(_,j),_){case"dialog":D("cancel",o),D("close",o),$=j;break;case"iframe":case"object":case"embed":D("load",o),$=j;break;case"video":case"audio":for($=0;$Hj&&(s.flags|=128,j=!0,Ej(et,!1),s.lanes=4194304)}else{if(!j)if(o=Mh(tt),o!==null){if(s.flags|=128,j=!0,_=o.updateQueue,_!==null&&(s.updateQueue=_,s.flags|=4),Ej(et,!0),et.tail===null&&et.tailMode==="hidden"&&!tt.alternate&&!I)return S(s),null}else 2*B()-et.renderingStartTime>Hj&&_!==1073741824&&(s.flags|=128,j=!0,Ej(et,!1),s.lanes=4194304);et.isBackwards?(tt.sibling=s.child,s.child=tt):(_=et.last,_!==null?_.sibling=tt:s.child=tt,et.last=tt)}return et.tail!==null?(s=et.tail,et.rendering=s,et.tail=s.sibling,et.renderingStartTime=B(),s.sibling=null,_=M.current,G(M,j?_&1|2:_&1),s):(S(s),null);case 22:case 23:return Ij(),j=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==j&&(s.flags|=8192),j&&s.mode&1?gj&1073741824&&(S(s),s.subtreeFlags&6&&(s.flags|=8192)):S(s),null;case 24:return null;case 25:return null}throw Error(p$1(156,s.tag))}function Jj(o,s){switch(wg(s),s.tag){case 1:return Zf(s.type)&&$f(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return Jh(),E(Wf),E(H),Oh(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 5:return Lh(s),null;case 13:if(E(M),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(p$1(340));Ig()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(s.type._context),null;case 22:case 23:return Ij(),null;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Mj(o,s){var _=o.ref;if(_!==null)if(typeof _=="function")try{_(null)}catch(j){W(o,s,j)}else _.current=null}function Nj(o,s,_){try{_()}catch(j){W(o,s,j)}}var Oj=!1;function Pj(o,s){if(Cf=dd,o=Me(),Ne(o)){if("selectionStart"in o)var _={start:o.selectionStart,end:o.selectionEnd};else e:{_=(_=o.ownerDocument)&&_.defaultView||window;var j=_.getSelection&&_.getSelection();if(j&&j.rangeCount!==0){_=j.anchorNode;var $=j.anchorOffset,et=j.focusNode;j=j.focusOffset;try{_.nodeType,et.nodeType}catch{_=null;break e}var tt=0,nt=-1,rt=-1,it=0,st=0,Ut=o,ct=null;t:for(;;){for(var Ft;Ut!==_||$!==0&&Ut.nodeType!==3||(nt=tt+$),Ut!==et||j!==0&&Ut.nodeType!==3||(rt=tt+j),Ut.nodeType===3&&(tt+=Ut.nodeValue.length),(Ft=Ut.firstChild)!==null;)ct=Ut,Ut=Ft;for(;;){if(Ut===o)break t;if(ct===_&&++it===$&&(nt=tt),ct===et&&++st===j&&(rt=tt),(Ft=Ut.nextSibling)!==null)break;Ut=ct,ct=Ut.parentNode}Ut=Ft}_=nt===-1||rt===-1?null:{start:nt,end:rt}}else _=null}_=_||{start:0,end:0}}else _=null;for(Df={focusedElem:o,selectionRange:_},dd=!1,V=s;V!==null;)if(s=V,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,V=o;else for(;V!==null;){s=V;try{var ut=s.alternate;if(s.flags&1024)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ut!==null){var Qt=ut.memoizedProps,pt=ut.memoizedState,ft=s.stateNode,mt=ft.getSnapshotBeforeUpdate(s.elementType===s.type?Qt:Lg(s.type,Qt),pt);ft.__reactInternalSnapshotBeforeUpdate=mt}break;case 3:var ht=s.stateNode.containerInfo;ht.nodeType===1?ht.textContent="":ht.nodeType===9&&ht.documentElement&&ht.removeChild(ht.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p$1(163))}}catch(Vt){W(s,s.return,Vt)}if(o=s.sibling,o!==null){o.return=s.return,V=o;break}V=s.return}return ut=Oj,Oj=!1,ut}function Qj(o,s,_){var j=s.updateQueue;if(j=j!==null?j.lastEffect:null,j!==null){var $=j=j.next;do{if(($.tag&o)===o){var et=$.destroy;$.destroy=void 0,et!==void 0&&Nj(s,_,et)}$=$.next}while($!==j)}}function Rj(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var _=s=s.next;do{if((_.tag&o)===o){var j=_.create;_.destroy=j()}_=_.next}while(_!==s)}}function Sj(o){var s=o.ref;if(s!==null){var _=o.stateNode;switch(o.tag){case 5:o=_;break;default:o=_}typeof s=="function"?s(o):s.current=o}}function Tj(o){var s=o.alternate;s!==null&&(o.alternate=null,Tj(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&(delete s[Of],delete s[Pf],delete s[of],delete s[Qf],delete s[Rf])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Uj(o){return o.tag===5||o.tag===3||o.tag===4}function Vj(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Uj(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Wj(o,s,_){var j=o.tag;if(j===5||j===6)o=o.stateNode,s?_.nodeType===8?_.parentNode.insertBefore(o,s):_.insertBefore(o,s):(_.nodeType===8?(s=_.parentNode,s.insertBefore(o,_)):(s=_,s.appendChild(o)),_=_._reactRootContainer,_!=null||s.onclick!==null||(s.onclick=Bf));else if(j!==4&&(o=o.child,o!==null))for(Wj(o,s,_),o=o.sibling;o!==null;)Wj(o,s,_),o=o.sibling}function Xj(o,s,_){var j=o.tag;if(j===5||j===6)o=o.stateNode,s?_.insertBefore(o,s):_.appendChild(o);else if(j!==4&&(o=o.child,o!==null))for(Xj(o,s,_),o=o.sibling;o!==null;)Xj(o,s,_),o=o.sibling}var X=null,Yj=!1;function Zj(o,s,_){for(_=_.child;_!==null;)ak(o,s,_),_=_.sibling}function ak(o,s,_){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,_)}catch{}switch(_.tag){case 5:U||Mj(_,s);case 6:var j=X,$=Yj;X=null,Zj(o,s,_),X=j,Yj=$,X!==null&&(Yj?(o=X,_=_.stateNode,o.nodeType===8?o.parentNode.removeChild(_):o.removeChild(_)):X.removeChild(_.stateNode));break;case 18:X!==null&&(Yj?(o=X,_=_.stateNode,o.nodeType===8?Kf(o.parentNode,_):o.nodeType===1&&Kf(o,_),bd(o)):Kf(X,_.stateNode));break;case 4:j=X,$=Yj,X=_.stateNode.containerInfo,Yj=!0,Zj(o,s,_),X=j,Yj=$;break;case 0:case 11:case 14:case 15:if(!U&&(j=_.updateQueue,j!==null&&(j=j.lastEffect,j!==null))){$=j=j.next;do{var et=$,tt=et.destroy;et=et.tag,tt!==void 0&&(et&2||et&4)&&Nj(_,s,tt),$=$.next}while($!==j)}Zj(o,s,_);break;case 1:if(!U&&(Mj(_,s),j=_.stateNode,typeof j.componentWillUnmount=="function"))try{j.props=_.memoizedProps,j.state=_.memoizedState,j.componentWillUnmount()}catch(nt){W(_,s,nt)}Zj(o,s,_);break;case 21:Zj(o,s,_);break;case 22:_.mode&1?(U=(j=U)||_.memoizedState!==null,Zj(o,s,_),U=j):Zj(o,s,_);break;default:Zj(o,s,_)}}function bk(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var _=o.stateNode;_===null&&(_=o.stateNode=new Lj),s.forEach(function(j){var $=ck.bind(null,o,j);_.has(j)||(_.add(j),j.then($,$))})}}function dk(o,s){var _=s.deletions;if(_!==null)for(var j=0;j<_.length;j++){var $=_[j];try{var et=o,tt=s,nt=tt;e:for(;nt!==null;){switch(nt.tag){case 5:X=nt.stateNode,Yj=!1;break e;case 3:X=nt.stateNode.containerInfo,Yj=!0;break e;case 4:X=nt.stateNode.containerInfo,Yj=!0;break e}nt=nt.return}if(X===null)throw Error(p$1(160));ak(et,tt,$),X=null,Yj=!1;var rt=$.alternate;rt!==null&&(rt.return=null),$.return=null}catch(it){W($,s,it)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)ek(s,o),s=s.sibling}function ek(o,s){var _=o.alternate,j=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(dk(s,o),fk(o),j&4){try{Qj(3,o,o.return),Rj(3,o)}catch(Qt){W(o,o.return,Qt)}try{Qj(5,o,o.return)}catch(Qt){W(o,o.return,Qt)}}break;case 1:dk(s,o),fk(o),j&512&&_!==null&&Mj(_,_.return);break;case 5:if(dk(s,o),fk(o),j&512&&_!==null&&Mj(_,_.return),o.flags&32){var $=o.stateNode;try{ob($,"")}catch(Qt){W(o,o.return,Qt)}}if(j&4&&($=o.stateNode,$!=null)){var et=o.memoizedProps,tt=_!==null?_.memoizedProps:et,nt=o.type,rt=o.updateQueue;if(o.updateQueue=null,rt!==null)try{nt==="input"&&et.type==="radio"&&et.name!=null&&ab($,et),vb(nt,tt);var it=vb(nt,et);for(tt=0;tt$&&($=tt),j&=~et}if(j=$,j=B()-j,j=(120>j?120:480>j?480:1080>j?1080:1920>j?1920:3e3>j?3e3:4320>j?4320:1960*mk(j/1960))-j,10o?16:o,xk===null)var j=!1;else{if(o=xk,xk=null,yk=0,K&6)throw Error(p$1(331));var $=K;for(K|=4,V=o.current;V!==null;){var et=V,tt=et.child;if(V.flags&16){var nt=et.deletions;if(nt!==null){for(var rt=0;rtB()-gk?Lk(o,0):sk|=_),Ek(o,s)}function Zk(o,s){s===0&&(o.mode&1?(s=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):s=1);var _=L();o=Zg(o,s),o!==null&&(Ac(o,s,_),Ek(o,_))}function vj(o){var s=o.memoizedState,_=0;s!==null&&(_=s.retryLane),Zk(o,_)}function ck(o,s){var _=0;switch(o.tag){case 13:var j=o.stateNode,$=o.memoizedState;$!==null&&(_=$.retryLane);break;case 19:j=o.stateNode;break;default:throw Error(p$1(314))}j!==null&&j.delete(s),Zk(o,_)}var Wk;Wk=function(o,s,_){if(o!==null)if(o.memoizedProps!==s.pendingProps||Wf.current)Ug=!0;else{if(!(o.lanes&_)&&!(s.flags&128))return Ug=!1,zj(o,s,_);Ug=!!(o.flags&131072)}else Ug=!1,I&&s.flags&1048576&&ug(s,ng,s.index);switch(s.lanes=0,s.tag){case 2:var j=s.type;jj(o,s),o=s.pendingProps;var $=Yf(s,H.current);Tg(s,_),$=Xh(null,s,j,o,$,_);var et=bi();return s.flags|=1,typeof $=="object"&&$!==null&&typeof $.render=="function"&&$.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Zf(j)?(et=!0,cg(s)):et=!1,s.memoizedState=$.state!==null&&$.state!==void 0?$.state:null,ah(s),$.updater=nh,s.stateNode=$,$._reactInternals=s,rh(s,j,o,_),s=kj(null,s,j,!0,et,_)):(s.tag=0,I&&et&&vg(s),Yi(null,s,$,_),s=s.child),s;case 16:j=s.elementType;e:{switch(jj(o,s),o=s.pendingProps,$=j._init,j=$(j._payload),s.type=j,$=s.tag=$k(j),o=Lg(j,o),$){case 0:s=dj(null,s,j,o,_);break e;case 1:s=ij(null,s,j,o,_);break e;case 11:s=Zi(null,s,j,o,_);break e;case 14:s=aj(null,s,j,Lg(j.type,o),_);break e}throw Error(p$1(306,j,""))}return s;case 0:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Lg(j,$),dj(o,s,j,$,_);case 1:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Lg(j,$),ij(o,s,j,$,_);case 3:e:{if(lj(s),o===null)throw Error(p$1(387));j=s.pendingProps,et=s.memoizedState,$=et.element,bh(o,s),gh(s,j,null,_);var tt=s.memoizedState;if(j=tt.element,et.isDehydrated)if(et={element:j,isDehydrated:!1,cache:tt.cache,pendingSuspenseBoundaries:tt.pendingSuspenseBoundaries,transitions:tt.transitions},s.updateQueue.baseState=et,s.memoizedState=et,s.flags&256){$=Ki(Error(p$1(423)),s),s=mj(o,s,j,_,$);break e}else if(j!==$){$=Ki(Error(p$1(424)),s),s=mj(o,s,j,_,$);break e}else for(yg=Lf(s.stateNode.containerInfo.firstChild),xg=s,I=!0,zg=null,_=Ch(s,null,j,_),s.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling;else{if(Ig(),j===$){s=$i(o,s,_);break e}Yi(o,s,j,_)}s=s.child}return s;case 5:return Kh(s),o===null&&Eg(s),j=s.type,$=s.pendingProps,et=o!==null?o.memoizedProps:null,tt=$.children,Ef(j,$)?tt=null:et!==null&&Ef(j,et)&&(s.flags|=32),hj(o,s),Yi(o,s,tt,_),s.child;case 6:return o===null&&Eg(s),null;case 13:return pj(o,s,_);case 4:return Ih(s,s.stateNode.containerInfo),j=s.pendingProps,o===null?s.child=Bh(s,null,j,_):Yi(o,s,j,_),s.child;case 11:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Lg(j,$),Zi(o,s,j,$,_);case 7:return Yi(o,s,s.pendingProps,_),s.child;case 8:return Yi(o,s,s.pendingProps.children,_),s.child;case 12:return Yi(o,s,s.pendingProps.children,_),s.child;case 10:e:{if(j=s.type._context,$=s.pendingProps,et=s.memoizedProps,tt=$.value,G(Mg,j._currentValue),j._currentValue=tt,et!==null)if(He(et.value,tt)){if(et.children===$.children&&!Wf.current){s=$i(o,s,_);break e}}else for(et=s.child,et!==null&&(et.return=s);et!==null;){var nt=et.dependencies;if(nt!==null){tt=et.child;for(var rt=nt.firstContext;rt!==null;){if(rt.context===j){if(et.tag===1){rt=ch(-1,_&-_),rt.tag=2;var it=et.updateQueue;if(it!==null){it=it.shared;var st=it.pending;st===null?rt.next=rt:(rt.next=st.next,st.next=rt),it.pending=rt}}et.lanes|=_,rt=et.alternate,rt!==null&&(rt.lanes|=_),Sg(et.return,_,s),nt.lanes|=_;break}rt=rt.next}}else if(et.tag===10)tt=et.type===s.type?null:et.child;else if(et.tag===18){if(tt=et.return,tt===null)throw Error(p$1(341));tt.lanes|=_,nt=tt.alternate,nt!==null&&(nt.lanes|=_),Sg(tt,_,s),tt=et.sibling}else tt=et.child;if(tt!==null)tt.return=et;else for(tt=et;tt!==null;){if(tt===s){tt=null;break}if(et=tt.sibling,et!==null){et.return=tt.return,tt=et;break}tt=tt.return}et=tt}Yi(o,s,$.children,_),s=s.child}return s;case 9:return $=s.type,j=s.pendingProps.children,Tg(s,_),$=Vg($),j=j($),s.flags|=1,Yi(o,s,j,_),s.child;case 14:return j=s.type,$=Lg(j,s.pendingProps),$=Lg(j.type,$),aj(o,s,j,$,_);case 15:return cj(o,s,s.type,s.pendingProps,_);case 17:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Lg(j,$),jj(o,s),s.tag=1,Zf(j)?(o=!0,cg(s)):o=!1,Tg(s,_),ph(s,j,$),rh(s,j,$,_),kj(null,s,j,!0,o,_);case 19:return yj(o,s,_);case 22:return ej(o,s,_)}throw Error(p$1(156,s.tag))};function Gk(o,s){return ac(o,s)}function al(o,s,_,j){this.tag=o,this.key=_,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=j,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(o,s,_,j){return new al(o,s,_,j)}function bj(o){return o=o.prototype,!(!o||!o.isReactComponent)}function $k(o){if(typeof o=="function")return bj(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Da)return 11;if(o===Ga)return 14}return 2}function wh(o,s){var _=o.alternate;return _===null?(_=Bg(o.tag,s,o.key,o.mode),_.elementType=o.elementType,_.type=o.type,_.stateNode=o.stateNode,_.alternate=o,o.alternate=_):(_.pendingProps=s,_.type=o.type,_.flags=0,_.subtreeFlags=0,_.deletions=null),_.flags=o.flags&14680064,_.childLanes=o.childLanes,_.lanes=o.lanes,_.child=o.child,_.memoizedProps=o.memoizedProps,_.memoizedState=o.memoizedState,_.updateQueue=o.updateQueue,s=o.dependencies,_.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},_.sibling=o.sibling,_.index=o.index,_.ref=o.ref,_}function yh(o,s,_,j,$,et){var tt=2;if(j=o,typeof o=="function")bj(o)&&(tt=1);else if(typeof o=="string")tt=5;else e:switch(o){case ya:return Ah(_.children,$,et,s);case za:tt=8,$|=8;break;case Aa:return o=Bg(12,_,s,$|2),o.elementType=Aa,o.lanes=et,o;case Ea:return o=Bg(13,_,s,$),o.elementType=Ea,o.lanes=et,o;case Fa:return o=Bg(19,_,s,$),o.elementType=Fa,o.lanes=et,o;case Ia:return qj(_,$,et,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case Ba:tt=10;break e;case Ca:tt=9;break e;case Da:tt=11;break e;case Ga:tt=14;break e;case Ha:tt=16,j=null;break e}throw Error(p$1(130,o==null?o:typeof o,""))}return s=Bg(tt,_,s,$),s.elementType=o,s.type=j,s.lanes=et,s}function Ah(o,s,_,j){return o=Bg(7,o,j,s),o.lanes=_,o}function qj(o,s,_,j){return o=Bg(22,o,j,s),o.elementType=Ia,o.lanes=_,o.stateNode={isHidden:!1},o}function xh(o,s,_){return o=Bg(6,o,null,s),o.lanes=_,o}function zh(o,s,_){return s=Bg(4,o.children!==null?o.children:[],o.key,s),s.lanes=_,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function bl(o,s,_,j,$){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=j,this.onRecoverableError=$,this.mutableSourceEagerHydrationData=null}function cl(o,s,_,j,$,et,tt,nt,rt){return o=new bl(o,s,_,nt,rt),s===1?(s=1,et===!0&&(s|=8)):s=0,et=Bg(3,null,null,s),o.current=et,et.stateNode=o,et.memoizedState={element:j,isDehydrated:_,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(et),o}function dl(o,s,_){var j=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(_){console.error(_)}}s(),o.exports=reactDom_production_min})(reactDom);var m$1=reactDomExports;client.createRoot=m$1.createRoot,client.hydrateRoot=m$1.hydrateRoot;function sheetForTag(o){if(o.sheet)return o.sheet;for(var s=0;s0?charat(characters,--position):0,column--,character===10&&(column=1,line--),character}function next(){return character=position2||token(character)>3?"":" "}function escaping(o,s){for(;--s&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(o,caret()+(s<6&&peek()==32&&next()==32))}function delimiter(o){for(;next();)switch(character){case o:return position;case 34:case 39:o!==34&&o!==39&&delimiter(character);break;case 40:o===41&&delimiter(o);break;case 92:next();break}return position}function commenter(o,s){for(;next()&&o+character!==47+10;)if(o+character===42+42&&peek()===47)break;return"/*"+slice(s,position-1)+"*"+from$1(o===47?o:next())}function identifier(o){for(;!token(peek());)next();return slice(o,position)}function compile(o){return dealloc(parse$1("",null,null,null,[""],o=alloc(o),0,[0],o))}function parse$1(o,s,_,j,$,et,tt,nt,rt){for(var it=0,st=0,Ut=tt,ct=0,Ft=0,ut=0,Qt=1,pt=1,ft=1,mt=0,ht="",Vt=$,Rt=et,Dt=j,Ct=ht;pt;)switch(ut=mt,mt=next()){case 40:if(ut!=108&&charat(Ct,Ut-1)==58){indexof(Ct+=replace(delimit(mt),"&","&\f"),"&\f")!=-1&&(ft=-1);break}case 34:case 39:case 91:Ct+=delimit(mt);break;case 9:case 10:case 13:case 32:Ct+=whitespace(ut);break;case 92:Ct+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),s,_),rt);break;default:Ct+="/"}break;case 123*Qt:nt[it++]=strlen(Ct)*ft;case 125*Qt:case 59:case 0:switch(mt){case 0:case 125:pt=0;case 59+st:Ft>0&&strlen(Ct)-Ut&&append(Ft>32?declaration(Ct+";",j,_,Ut-1):declaration(replace(Ct," ","")+";",j,_,Ut-2),rt);break;case 59:Ct+=";";default:if(append(Dt=ruleset(Ct,s,_,it,st,$,nt,ht,Vt=[],Rt=[],Ut),et),mt===123)if(st===0)parse$1(Ct,s,Dt,Dt,Vt,et,Ut,nt,Rt);else switch(ct===99&&charat(Ct,3)===110?100:ct){case 100:case 109:case 115:parse$1(o,Dt,Dt,j&&append(ruleset(o,Dt,Dt,0,0,$,nt,ht,$,Vt=[],Ut),Rt),$,Rt,Ut,nt,j?Vt:Rt);break;default:parse$1(Ct,Dt,Dt,Dt,[""],Rt,0,nt,Rt)}}it=st=Ft=0,Qt=ft=1,ht=Ct="",Ut=tt;break;case 58:Ut=1+strlen(Ct),Ft=ut;default:if(Qt<1){if(mt==123)--Qt;else if(mt==125&&Qt++==0&&prev()==125)continue}switch(Ct+=from$1(mt),mt*Qt){case 38:ft=st>0?1:(Ct+="\f",-1);break;case 44:nt[it++]=(strlen(Ct)-1)*ft,ft=1;break;case 64:peek()===45&&(Ct+=delimit(next())),ct=peek(),st=Ut=strlen(ht=Ct+=identifier(caret())),mt++;break;case 45:ut===45&&strlen(Ct)==2&&(Qt=0)}}return et}function ruleset(o,s,_,j,$,et,tt,nt,rt,it,st){for(var Ut=$-1,ct=$===0?et:[""],Ft=sizeof(ct),ut=0,Qt=0,pt=0;ut0?ct[ft]+" "+mt:replace(mt,/&\f/g,ct[ft])))&&(rt[pt++]=ht);return node(o,s,_,$===0?RULESET:nt,rt,it,st)}function comment(o,s,_){return node(o,s,_,COMMENT,from$1(char()),substr(o,2,-2),0)}function declaration(o,s,_,j){return node(o,s,_,DECLARATION,substr(o,0,j),substr(o,j+1,-1),j)}function serialize(o,s){for(var _="",j=sizeof(o),$=0;$6)switch(charat(o,s+1)){case 109:if(charat(o,s+4)!==45)break;case 102:return replace(o,/(.+:)(.+)-([^]+)/,"$1"+WEBKIT+"$2-$3$1"+MOZ+(charat(o,s+3)==108?"$3":"$2-$3"))+o;case 115:return~indexof(o,"stretch")?prefix(replace(o,"stretch","fill-available"),s)+o:o}break;case 4949:if(charat(o,s+1)!==115)break;case 6444:switch(charat(o,strlen(o)-3-(~indexof(o,"!important")&&10))){case 107:return replace(o,":",":"+WEBKIT)+o;case 101:return replace(o,/(.+:)([^;!]+)(;|!.+)?/,"$1"+WEBKIT+(charat(o,14)===45?"inline-":"")+"box$3$1"+WEBKIT+"$2$3$1"+MS+"$2box$3")+o}break;case 5936:switch(charat(o,s+11)){case 114:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"tb")+o;case 108:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"tb-rl")+o;case 45:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"lr")+o}return WEBKIT+o+MS+o+o}return o}var prefixer=function(s,_,j,$){if(s.length>-1&&!s.return)switch(s.type){case DECLARATION:s.return=prefix(s.value,s.length);break;case KEYFRAMES:return serialize([copy(s,{value:replace(s.value,"@","@"+WEBKIT)})],$);case RULESET:if(s.length)return combine(s.props,function(et){switch(match(et,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return serialize([copy(s,{props:[replace(et,/:(read-\w+)/,":"+MOZ+"$1")]})],$);case"::placeholder":return serialize([copy(s,{props:[replace(et,/:(plac\w+)/,":"+WEBKIT+"input-$1")]}),copy(s,{props:[replace(et,/:(plac\w+)/,":"+MOZ+"$1")]}),copy(s,{props:[replace(et,/:(plac\w+)/,MS+"input-$1")]})],$)}return""})}},defaultStylisPlugins=[prefixer],createCache=function(s){var _=s.key;if(_==="css"){var j=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(j,function(Qt){var pt=Qt.getAttribute("data-emotion");pt.indexOf(" ")!==-1&&(document.head.appendChild(Qt),Qt.setAttribute("data-s",""))})}var $=s.stylisPlugins||defaultStylisPlugins,et={},tt,nt=[];tt=s.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+_+' "]'),function(Qt){for(var pt=Qt.getAttribute("data-emotion").split(" "),ft=1;ft=4;++j,$-=4)_=o.charCodeAt(j)&255|(o.charCodeAt(++j)&255)<<8|(o.charCodeAt(++j)&255)<<16|(o.charCodeAt(++j)&255)<<24,_=(_&65535)*1540483477+((_>>>16)*59797<<16),_^=_>>>24,s=(_&65535)*1540483477+((_>>>16)*59797<<16)^(s&65535)*1540483477+((s>>>16)*59797<<16);switch($){case 3:s^=(o.charCodeAt(j+2)&255)<<16;case 2:s^=(o.charCodeAt(j+1)&255)<<8;case 1:s^=o.charCodeAt(j)&255,s=(s&65535)*1540483477+((s>>>16)*59797<<16)}return s^=s>>>13,s=(s&65535)*1540483477+((s>>>16)*59797<<16),((s^s>>>15)>>>0).toString(36)}var unitlessKeys={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function(s){return s.charCodeAt(1)===45},isProcessableValue=function(s){return s!=null&&typeof s!="boolean"},processStyleName=memoize$1(function(o){return isCustomProperty(o)?o:o.replace(hyphenateRegex,"-$&").toLowerCase()}),processStyleValue=function(s,_){switch(s){case"animation":case"animationName":if(typeof _=="string")return _.replace(animationRegex,function(j,$,et){return cursor={name:$,styles:et,next:cursor},$})}return unitlessKeys[s]!==1&&!isCustomProperty(s)&&typeof _=="number"&&_!==0?_+"px":_},noComponentSelectorMessage="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function handleInterpolation(o,s,_){if(_==null)return"";if(_.__emotion_styles!==void 0)return _;switch(typeof _){case"boolean":return"";case"object":{if(_.anim===1)return cursor={name:_.name,styles:_.styles,next:cursor},_.name;if(_.styles!==void 0){var j=_.next;if(j!==void 0)for(;j!==void 0;)cursor={name:j.name,styles:j.styles,next:cursor},j=j.next;var $=_.styles+";";return $}return createStringFromObject(o,s,_)}case"function":{if(o!==void 0){var et=cursor,tt=_(o);return cursor=et,handleInterpolation(o,s,tt)}break}}if(s==null)return _;var nt=s[_];return nt!==void 0?nt:_}function createStringFromObject(o,s,_){var j="";if(Array.isArray(_))for(var $=0;$<_.length;$++)j+=handleInterpolation(o,s,_[$])+";";else for(var et in _){var tt=_[et];if(typeof tt!="object")s!=null&&s[tt]!==void 0?j+=et+"{"+s[tt]+"}":isProcessableValue(tt)&&(j+=processStyleName(et)+":"+processStyleValue(et,tt)+";");else if(Array.isArray(tt)&&typeof tt[0]=="string"&&(s==null||s[tt[0]]===void 0))for(var nt=0;nt{s[_]=deepClone(o[_])}),s}function deepmerge(o,s,_={clone:!0}){const j=_.clone?_extends$1({},o):o;return isPlainObject(o)&&isPlainObject(s)&&Object.keys(s).forEach($=>{$!=="__proto__"&&(isPlainObject(s[$])&&$ in o&&isPlainObject(o[$])?j[$]=deepmerge(o[$],s[$],_):_.clone?j[$]=isPlainObject(s[$])?deepClone(s[$]):s[$]:j[$]=s[$])}),j}function formatMuiErrorMessage(o){let s="https://mui.com/production-error/?code="+o;for(let _=1;_{if(j.toString().match(/^(components|slots)$/))_[j]=_extends$1({},o[j],_[j]);else if(j.toString().match(/^(componentsProps|slotProps)$/)){const $=o[j]||{},et=s[j];_[j]={},!et||!Object.keys(et)?_[j]=$:!$||!Object.keys($)?_[j]=et:(_[j]=_extends$1({},et),Object.keys($).forEach(tt=>{_[j][tt]=resolveProps($[tt],et[tt])}))}else _[j]===void 0&&(_[j]=o[j])}),_}function composeClasses(o,s,_){const j={};return Object.keys(o).forEach($=>{j[$]=o[$].reduce((et,tt)=>(tt&&(et.push(s(tt)),_&&_[tt]&&et.push(_[tt])),et),[]).join(" ")}),j}const defaultGenerator=o=>o,createClassNameGenerator=()=>{let o=defaultGenerator;return{configure(s){o=s},generate(s){return o(s)},reset(){o=defaultGenerator}}},ClassNameGenerator=createClassNameGenerator(),ClassNameGenerator$1=ClassNameGenerator,globalStateClassesMapping={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",required:"required",selected:"selected"};function generateUtilityClass(o,s,_="Mui"){const j=globalStateClassesMapping[s];return j?`${_}-${j}`:`${ClassNameGenerator$1.generate(o)}-${s}`}function generateUtilityClasses(o,s,_="Mui"){const j={};return s.forEach($=>{j[$]=generateUtilityClass(o,$,_)}),j}var reactPropsRegex=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,isPropValid=memoize$1(function(o){return reactPropsRegex.test(o)||o.charCodeAt(0)===111&&o.charCodeAt(1)===110&&o.charCodeAt(2)<91});const global$1=globalThis||void 0||self;var Global=withEmotionCache(function(o,s){var _=o.styles,j=serializeStyles([_],void 0,reactExports.useContext(ThemeContext$2)),$=reactExports.useRef();return useInsertionEffectWithLayoutFallback(function(){var et=s.key+"-global",tt=new s.sheet.constructor({key:et,nonce:s.sheet.nonce,container:s.sheet.container,speedy:s.sheet.isSpeedy}),nt=!1,rt=document.querySelector('style[data-emotion="'+et+" "+j.name+'"]');return s.sheet.tags.length&&(tt.before=s.sheet.tags[0]),rt!==null&&(nt=!0,rt.setAttribute("data-emotion",et),tt.hydrate([rt])),$.current=[tt,nt],function(){tt.flush()}},[s]),useInsertionEffectWithLayoutFallback(function(){var et=$.current,tt=et[0],nt=et[1];if(nt){et[1]=!1;return}if(j.next!==void 0&&insertStyles(s,j.next,!0),tt.tags.length){var rt=tt.tags[tt.tags.length-1].nextElementSibling;tt.before=rt,tt.flush()}s.insert("",j,tt,!1)},[s,j.name]),null}),testOmitPropsOnStringTag=isPropValid,testOmitPropsOnComponent=function(s){return s!=="theme"},getDefaultShouldForwardProp=function(s){return typeof s=="string"&&s.charCodeAt(0)>96?testOmitPropsOnStringTag:testOmitPropsOnComponent},composeShouldForwardProps=function(s,_,j){var $;if(_){var et=_.shouldForwardProp;$=s.__emotion_forwardProp&&et?function(tt){return s.__emotion_forwardProp(tt)&&et(tt)}:et}return typeof $!="function"&&j&&($=s.__emotion_forwardProp),$},Insertion=function(s){var _=s.cache,j=s.serialized,$=s.isStringTag;return registerStyles(_,j,$),useInsertionEffectAlwaysWithSyncFallback(function(){return insertStyles(_,j,$)}),null},createStyled$1=function o(s,_){var j=s.__emotion_real===s,$=j&&s.__emotion_base||s,et,tt;_!==void 0&&(et=_.label,tt=_.target);var nt=composeShouldForwardProps(s,_,j),rt=nt||getDefaultShouldForwardProp($),it=!rt("as");return function(){var st=arguments,Ut=j&&s.__emotion_styles!==void 0?s.__emotion_styles.slice(0):[];if(et!==void 0&&Ut.push("label:"+et+";"),st[0]==null||st[0].raw===void 0)Ut.push.apply(Ut,st);else{Ut.push(st[0][0]);for(var ct=st.length,Ft=1;Fts(isEmpty$2($)?_:$):s})}/** @license MUI v5.11.0 + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function styled$2(o,s){return emStyled(o,s)}const internal_processStyles=(o,s)=>{Array.isArray(o.__emotion_styles)&&(o.__emotion_styles=s(o.__emotion_styles))};function merge$2(o,s){return s?deepmerge(o,s,{clone:!1}):o}const values={xs:0,sm:600,md:900,lg:1200,xl:1536},defaultBreakpoints={keys:["xs","sm","md","lg","xl"],up:o=>`@media (min-width:${values[o]}px)`};function handleBreakpoints(o,s,_){const j=o.theme||{};if(Array.isArray(s)){const et=j.breakpoints||defaultBreakpoints;return s.reduce((tt,nt,rt)=>(tt[et.up(et.keys[rt])]=_(s[rt]),tt),{})}if(typeof s=="object"){const et=j.breakpoints||defaultBreakpoints;return Object.keys(s).reduce((tt,nt)=>{if(Object.keys(et.values||values).indexOf(nt)!==-1){const rt=et.up(nt);tt[rt]=_(s[nt],nt)}else{const rt=nt;tt[rt]=s[rt]}return tt},{})}return _(s)}function createEmptyBreakpointObject(o={}){var s;return((s=o.keys)==null?void 0:s.reduce((j,$)=>{const et=o.up($);return j[et]={},j},{}))||{}}function removeUnusedBreakpoints(o,s){return o.reduce((_,j)=>{const $=_[j];return(!$||Object.keys($).length===0)&&delete _[j],_},s)}function getPath(o,s,_=!0){if(!s||typeof s!="string")return null;if(o&&o.vars&&_){const j=`vars.${s}`.split(".").reduce(($,et)=>$&&$[et]?$[et]:null,o);if(j!=null)return j}return s.split(".").reduce((j,$)=>j&&j[$]!=null?j[$]:null,o)}function getStyleValue(o,s,_,j=_){let $;return typeof o=="function"?$=o(_):Array.isArray(o)?$=o[_]||j:$=getPath(o,_)||j,s&&($=s($,j,o)),$}function style$1(o){const{prop:s,cssProperty:_=o.prop,themeKey:j,transform:$}=o,et=tt=>{if(tt[s]==null)return null;const nt=tt[s],rt=tt.theme,it=getPath(rt,j)||{};return handleBreakpoints(tt,nt,Ut=>{let ct=getStyleValue(it,$,Ut);return Ut===ct&&typeof Ut=="string"&&(ct=getStyleValue(it,$,`${s}${Ut==="default"?"":capitalize(Ut)}`,Ut)),_===!1?ct:{[_]:ct}})};return et.propTypes={},et.filterProps=[s],et}function compose(...o){const s=o.reduce((j,$)=>($.filterProps.forEach(et=>{j[et]=$}),j),{}),_=j=>Object.keys(j).reduce(($,et)=>s[et]?merge$2($,s[et](j)):$,{});return _.propTypes={},_.filterProps=o.reduce((j,$)=>j.concat($.filterProps),[]),_}function memoize(o){const s={};return _=>(s[_]===void 0&&(s[_]=o(_)),s[_])}const properties={m:"margin",p:"padding"},directions={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},aliases={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},getCssProperties=memoize(o=>{if(o.length>2)if(aliases[o])o=aliases[o];else return[o];const[s,_]=o.split(""),j=properties[s],$=directions[_]||"";return Array.isArray($)?$.map(et=>j+et):[j+$]}),marginKeys=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],paddingKeys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...marginKeys,...paddingKeys];function createUnaryUnit(o,s,_,j){var $;const et=($=getPath(o,s,!1))!=null?$:_;return typeof et=="number"?tt=>typeof tt=="string"?tt:et*tt:Array.isArray(et)?tt=>typeof tt=="string"?tt:et[tt]:typeof et=="function"?et:()=>{}}function createUnarySpacing(o){return createUnaryUnit(o,"spacing",8)}function getValue(o,s){if(typeof s=="string"||s==null)return s;const _=Math.abs(s),j=o(_);return s>=0?j:typeof j=="number"?-j:`-${j}`}function getStyleFromPropValue(o,s){return _=>o.reduce((j,$)=>(j[$]=getValue(s,_),j),{})}function resolveCssProperty(o,s,_,j){if(s.indexOf(_)===-1)return null;const $=getCssProperties(_),et=getStyleFromPropValue($,j),tt=o[_];return handleBreakpoints(o,tt,et)}function style(o,s){const _=createUnarySpacing(o.theme);return Object.keys(o).map(j=>resolveCssProperty(o,s,j,_)).reduce(merge$2,{})}function margin(o){return style(o,marginKeys)}margin.propTypes={};margin.filterProps=marginKeys;function padding(o){return style(o,paddingKeys)}padding.propTypes={};padding.filterProps=paddingKeys;function borderTransform(o){return typeof o!="number"?o:`${o}px solid`}const border=style$1({prop:"border",themeKey:"borders",transform:borderTransform}),borderTop=style$1({prop:"borderTop",themeKey:"borders",transform:borderTransform}),borderRight=style$1({prop:"borderRight",themeKey:"borders",transform:borderTransform}),borderBottom=style$1({prop:"borderBottom",themeKey:"borders",transform:borderTransform}),borderLeft=style$1({prop:"borderLeft",themeKey:"borders",transform:borderTransform}),borderColor=style$1({prop:"borderColor",themeKey:"palette"}),borderTopColor=style$1({prop:"borderTopColor",themeKey:"palette"}),borderRightColor=style$1({prop:"borderRightColor",themeKey:"palette"}),borderBottomColor=style$1({prop:"borderBottomColor",themeKey:"palette"}),borderLeftColor=style$1({prop:"borderLeftColor",themeKey:"palette"}),borderRadius=o=>{if(o.borderRadius!==void 0&&o.borderRadius!==null){const s=createUnaryUnit(o.theme,"shape.borderRadius",4),_=j=>({borderRadius:getValue(s,j)});return handleBreakpoints(o,o.borderRadius,_)}return null};borderRadius.propTypes={};borderRadius.filterProps=["borderRadius"];compose(border,borderTop,borderRight,borderBottom,borderLeft,borderColor,borderTopColor,borderRightColor,borderBottomColor,borderLeftColor,borderRadius);const gap=o=>{if(o.gap!==void 0&&o.gap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({gap:getValue(s,j)});return handleBreakpoints(o,o.gap,_)}return null};gap.propTypes={};gap.filterProps=["gap"];const columnGap=o=>{if(o.columnGap!==void 0&&o.columnGap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({columnGap:getValue(s,j)});return handleBreakpoints(o,o.columnGap,_)}return null};columnGap.propTypes={};columnGap.filterProps=["columnGap"];const rowGap=o=>{if(o.rowGap!==void 0&&o.rowGap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({rowGap:getValue(s,j)});return handleBreakpoints(o,o.rowGap,_)}return null};rowGap.propTypes={};rowGap.filterProps=["rowGap"];const gridColumn=style$1({prop:"gridColumn"}),gridRow=style$1({prop:"gridRow"}),gridAutoFlow=style$1({prop:"gridAutoFlow"}),gridAutoColumns=style$1({prop:"gridAutoColumns"}),gridAutoRows=style$1({prop:"gridAutoRows"}),gridTemplateColumns=style$1({prop:"gridTemplateColumns"}),gridTemplateRows=style$1({prop:"gridTemplateRows"}),gridTemplateAreas=style$1({prop:"gridTemplateAreas"}),gridArea=style$1({prop:"gridArea"});compose(gap,columnGap,rowGap,gridColumn,gridRow,gridAutoFlow,gridAutoColumns,gridAutoRows,gridTemplateColumns,gridTemplateRows,gridTemplateAreas,gridArea);function paletteTransform(o,s){return s==="grey"?s:o}const color$1=style$1({prop:"color",themeKey:"palette",transform:paletteTransform}),bgcolor=style$1({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:paletteTransform}),backgroundColor=style$1({prop:"backgroundColor",themeKey:"palette",transform:paletteTransform});compose(color$1,bgcolor,backgroundColor);function sizingTransform(o){return o<=1&&o!==0?`${o*100}%`:o}const width=style$1({prop:"width",transform:sizingTransform}),maxWidth=o=>{if(o.maxWidth!==void 0&&o.maxWidth!==null){const s=_=>{var j,$,et;return{maxWidth:((j=o.theme)==null||($=j.breakpoints)==null||(et=$.values)==null?void 0:et[_])||values[_]||sizingTransform(_)}};return handleBreakpoints(o,o.maxWidth,s)}return null};maxWidth.filterProps=["maxWidth"];const minWidth=style$1({prop:"minWidth",transform:sizingTransform}),height=style$1({prop:"height",transform:sizingTransform}),maxHeight=style$1({prop:"maxHeight",transform:sizingTransform}),minHeight=style$1({prop:"minHeight",transform:sizingTransform});style$1({prop:"size",cssProperty:"width",transform:sizingTransform});style$1({prop:"size",cssProperty:"height",transform:sizingTransform});const boxSizing=style$1({prop:"boxSizing"});compose(width,maxWidth,minWidth,height,maxHeight,minHeight,boxSizing);const defaultSxConfig={border:{themeKey:"borders",transform:borderTransform},borderTop:{themeKey:"borders",transform:borderTransform},borderRight:{themeKey:"borders",transform:borderTransform},borderBottom:{themeKey:"borders",transform:borderTransform},borderLeft:{themeKey:"borders",transform:borderTransform},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:borderRadius},color:{themeKey:"palette",transform:paletteTransform},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:paletteTransform},backgroundColor:{themeKey:"palette",transform:paletteTransform},p:{style:padding},pt:{style:padding},pr:{style:padding},pb:{style:padding},pl:{style:padding},px:{style:padding},py:{style:padding},padding:{style:padding},paddingTop:{style:padding},paddingRight:{style:padding},paddingBottom:{style:padding},paddingLeft:{style:padding},paddingX:{style:padding},paddingY:{style:padding},paddingInline:{style:padding},paddingInlineStart:{style:padding},paddingInlineEnd:{style:padding},paddingBlock:{style:padding},paddingBlockStart:{style:padding},paddingBlockEnd:{style:padding},m:{style:margin},mt:{style:margin},mr:{style:margin},mb:{style:margin},ml:{style:margin},mx:{style:margin},my:{style:margin},margin:{style:margin},marginTop:{style:margin},marginRight:{style:margin},marginBottom:{style:margin},marginLeft:{style:margin},marginX:{style:margin},marginY:{style:margin},marginInline:{style:margin},marginInlineStart:{style:margin},marginInlineEnd:{style:margin},marginBlock:{style:margin},marginBlockStart:{style:margin},marginBlockEnd:{style:margin},displayPrint:{cssProperty:!1,transform:o=>({"@media print":{display:o}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:gap},rowGap:{style:rowGap},columnGap:{style:columnGap},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:sizingTransform},maxWidth:{style:maxWidth},minWidth:{transform:sizingTransform},height:{transform:sizingTransform},maxHeight:{transform:sizingTransform},minHeight:{transform:sizingTransform},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},defaultSxConfig$1=defaultSxConfig;function objectsHaveSameKeys(...o){const s=o.reduce((j,$)=>j.concat(Object.keys($)),[]),_=new Set(s);return o.every(j=>_.size===Object.keys(j).length)}function callIfFn(o,s){return typeof o=="function"?o(s):o}function unstable_createStyleFunctionSx(){function o(_,j,$,et){const tt={[_]:j,theme:$},nt=et[_];if(!nt)return{[_]:j};const{cssProperty:rt=_,themeKey:it,transform:st,style:Ut}=nt;if(j==null)return null;const ct=getPath($,it)||{};return Ut?Ut(tt):handleBreakpoints(tt,j,ut=>{let Qt=getStyleValue(ct,st,ut);return ut===Qt&&typeof ut=="string"&&(Qt=getStyleValue(ct,st,`${_}${ut==="default"?"":capitalize(ut)}`,ut)),rt===!1?Qt:{[rt]:Qt}})}function s(_){var j;const{sx:$,theme:et={}}=_||{};if(!$)return null;const tt=(j=et.unstable_sxConfig)!=null?j:defaultSxConfig$1;function nt(rt){let it=rt;if(typeof rt=="function")it=rt(et);else if(typeof rt!="object")return rt;if(!it)return null;const st=createEmptyBreakpointObject(et.breakpoints),Ut=Object.keys(st);let ct=st;return Object.keys(it).forEach(Ft=>{const ut=callIfFn(it[Ft],et);if(ut!=null)if(typeof ut=="object")if(tt[Ft])ct=merge$2(ct,o(Ft,ut,et,tt));else{const Qt=handleBreakpoints({theme:et},ut,pt=>({[Ft]:pt}));objectsHaveSameKeys(Qt,ut)?ct[Ft]=s({sx:ut,theme:et}):ct=merge$2(ct,Qt)}else ct=merge$2(ct,o(Ft,ut,et,tt))}),removeUnusedBreakpoints(Ut,ct)}return Array.isArray($)?$.map(nt):nt($)}return s}const styleFunctionSx=unstable_createStyleFunctionSx();styleFunctionSx.filterProps=["sx"];const styleFunctionSx$1=styleFunctionSx;function _objectWithoutPropertiesLoose$1(o,s){if(o==null)return{};var _={},j=Object.keys(o),$,et;for(et=0;et=0)&&(_[$]=o[$]);return _}function r(o){var s,_,j="";if(typeof o=="string"||typeof o=="number")j+=o;else if(typeof o=="object")if(Array.isArray(o))for(s=0;s{const s=Object.keys(o).map(_=>({key:_,val:o[_]}))||[];return s.sort((_,j)=>_.val-j.val),s.reduce((_,j)=>_extends$1({},_,{[j.key]:j.val}),{})};function createBreakpoints(o){const{values:s={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:_="px",step:j=5}=o,$=_objectWithoutPropertiesLoose$1(o,_excluded$8),et=sortBreakpointsValues(s),tt=Object.keys(et);function nt(ct){return`@media (min-width:${typeof s[ct]=="number"?s[ct]:ct}${_})`}function rt(ct){return`@media (max-width:${(typeof s[ct]=="number"?s[ct]:ct)-j/100}${_})`}function it(ct,Ft){const ut=tt.indexOf(Ft);return`@media (min-width:${typeof s[ct]=="number"?s[ct]:ct}${_}) and (max-width:${(ut!==-1&&typeof s[tt[ut]]=="number"?s[tt[ut]]:Ft)-j/100}${_})`}function st(ct){return tt.indexOf(ct)+1(j.length===0?[1]:j).map(et=>{const tt=s(et);return typeof tt=="number"?`${tt}px`:tt}).join(" ");return _.mui=!0,_}const _excluded$7=["breakpoints","palette","spacing","shape"];function createTheme$1(o={},...s){const{breakpoints:_={},palette:j={},spacing:$,shape:et={}}=o,tt=_objectWithoutPropertiesLoose$1(o,_excluded$7),nt=createBreakpoints(_),rt=createSpacing($);let it=deepmerge({breakpoints:nt,direction:"ltr",components:{},palette:_extends$1({mode:"light"},j),spacing:rt,shape:_extends$1({},shape$1,et)},tt);return it=s.reduce((st,Ut)=>deepmerge(st,Ut),it),it.unstable_sxConfig=_extends$1({},defaultSxConfig$1,tt==null?void 0:tt.unstable_sxConfig),it.unstable_sx=function(Ut){return styleFunctionSx$1({sx:Ut,theme:this})},it}const ThemeContext=reactExports.createContext(null),ThemeContext$1=ThemeContext;function useTheme$2(){return reactExports.useContext(ThemeContext$1)}const hasSymbol=typeof Symbol=="function"&&Symbol.for,nested=hasSymbol?Symbol.for("mui.nested"):"__THEME_NESTED__";function mergeOuterLocalTheme(o,s){return typeof s=="function"?s(o):_extends$1({},o,s)}function ThemeProvider$1(o){const{children:s,theme:_}=o,j=useTheme$2(),$=reactExports.useMemo(()=>{const et=j===null?_:mergeOuterLocalTheme(j,_);return et!=null&&(et[nested]=j!==null),et},[_,j]);return jsx$1(ThemeContext$1.Provider,{value:$,children:s})}function isObjectEmpty(o){return Object.keys(o).length===0}function useTheme$1(o=null){const s=useTheme$2();return!s||isObjectEmpty(s)?o:s}const systemDefaultTheme$1=createTheme$1();function useTheme(o=systemDefaultTheme$1){return useTheme$1(o)}const _excluded$6=["variant"];function isEmpty$1(o){return o.length===0}function propsToClassKey(o){const{variant:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$6);let j=s||"";return Object.keys(_).sort().forEach($=>{$==="color"?j+=isEmpty$1(j)?o[$]:capitalize(o[$]):j+=`${isEmpty$1(j)?$:capitalize($)}${capitalize(o[$].toString())}`}),j}const _excluded$5=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],_excluded2=["theme"],_excluded3=["theme"];function isEmpty(o){return Object.keys(o).length===0}function isStringTag(o){return typeof o=="string"&&o.charCodeAt(0)>96}const getStyleOverrides=(o,s)=>s.components&&s.components[o]&&s.components[o].styleOverrides?s.components[o].styleOverrides:null,getVariantStyles=(o,s)=>{let _=[];s&&s.components&&s.components[o]&&s.components[o].variants&&(_=s.components[o].variants);const j={};return _.forEach($=>{const et=propsToClassKey($.props);j[et]=$.style}),j},variantsResolver=(o,s,_,j)=>{var $,et;const{ownerState:tt={}}=o,nt=[],rt=_==null||($=_.components)==null||(et=$[j])==null?void 0:et.variants;return rt&&rt.forEach(it=>{let st=!0;Object.keys(it.props).forEach(Ut=>{tt[Ut]!==it.props[Ut]&&o[Ut]!==it.props[Ut]&&(st=!1)}),st&&nt.push(s[propsToClassKey(it.props)])}),nt};function shouldForwardProp(o){return o!=="ownerState"&&o!=="theme"&&o!=="sx"&&o!=="as"}const systemDefaultTheme=createTheme$1();function createStyled(o={}){const{defaultTheme:s=systemDefaultTheme,rootShouldForwardProp:_=shouldForwardProp,slotShouldForwardProp:j=shouldForwardProp}=o,$=et=>{const tt=isEmpty(et.theme)?s:et.theme;return styleFunctionSx$1(_extends$1({},et,{theme:tt}))};return $.__mui_systemSx=!0,(et,tt={})=>{internal_processStyles(et,ht=>ht.filter(Vt=>!(Vt!=null&&Vt.__mui_systemSx)));const{name:nt,slot:rt,skipVariantsResolver:it,skipSx:st,overridesResolver:Ut}=tt,ct=_objectWithoutPropertiesLoose$1(tt,_excluded$5),Ft=it!==void 0?it:rt&&rt!=="Root"||!1,ut=st||!1;let Qt,pt=shouldForwardProp;rt==="Root"?pt=_:rt?pt=j:isStringTag(et)&&(pt=void 0);const ft=styled$2(et,_extends$1({shouldForwardProp:pt,label:Qt},ct)),mt=(ht,...Vt)=>{const Rt=Vt?Vt.map(yt=>typeof yt=="function"&&yt.__emotion_real!==yt?Yt=>{let{theme:Zt}=Yt,vt=_objectWithoutPropertiesLoose$1(Yt,_excluded2);return yt(_extends$1({theme:isEmpty(Zt)?s:Zt},vt))}:yt):[];let Dt=ht;nt&&Ut&&Rt.push(yt=>{const Yt=isEmpty(yt.theme)?s:yt.theme,Zt=getStyleOverrides(nt,Yt);if(Zt){const vt={};return Object.entries(Zt).forEach(([bt,Wt])=>{vt[bt]=typeof Wt=="function"?Wt(_extends$1({},yt,{theme:Yt})):Wt}),Ut(yt,vt)}return null}),nt&&!Ft&&Rt.push(yt=>{const Yt=isEmpty(yt.theme)?s:yt.theme;return variantsResolver(yt,getVariantStyles(nt,Yt),Yt,nt)}),ut||Rt.push($);const Ct=Rt.length-Vt.length;if(Array.isArray(ht)&&Ct>0){const yt=new Array(Ct).fill("");Dt=[...ht,...yt],Dt.raw=[...ht.raw,...yt]}else typeof ht=="function"&&ht.__emotion_real!==ht&&(Dt=yt=>{let{theme:Yt}=yt,Zt=_objectWithoutPropertiesLoose$1(yt,_excluded3);return ht(_extends$1({theme:isEmpty(Yt)?s:Yt},Zt))});return ft(Dt,...Rt)};return ft.withConfig&&(mt.withConfig=ft.withConfig),mt}}function getThemeProps(o){const{theme:s,name:_,props:j}=o;return!s||!s.components||!s.components[_]||!s.components[_].defaultProps?j:resolveProps(s.components[_].defaultProps,j)}function useThemeProps$1({props:o,name:s,defaultTheme:_}){const j=useTheme(_);return getThemeProps({theme:j,name:s,props:o})}function clamp(o,s=0,_=1){return Math.min(Math.max(s,o),_)}function hexToRgb(o){o=o.slice(1);const s=new RegExp(`.{1,${o.length>=6?2:1}}`,"g");let _=o.match(s);return _&&_[0].length===1&&(_=_.map(j=>j+j)),_?`rgb${_.length===4?"a":""}(${_.map((j,$)=>$<3?parseInt(j,16):Math.round(parseInt(j,16)/255*1e3)/1e3).join(", ")})`:""}function decomposeColor(o){if(o.type)return o;if(o.charAt(0)==="#")return decomposeColor(hexToRgb(o));const s=o.indexOf("("),_=o.substring(0,s);if(["rgb","rgba","hsl","hsla","color"].indexOf(_)===-1)throw new Error(formatMuiErrorMessage(9,o));let j=o.substring(s+1,o.length-1),$;if(_==="color"){if(j=j.split(" "),$=j.shift(),j.length===4&&j[3].charAt(0)==="/"&&(j[3]=j[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf($)===-1)throw new Error(formatMuiErrorMessage(10,$))}else j=j.split(",");return j=j.map(et=>parseFloat(et)),{type:_,values:j,colorSpace:$}}function recomposeColor(o){const{type:s,colorSpace:_}=o;let{values:j}=o;return s.indexOf("rgb")!==-1?j=j.map(($,et)=>et<3?parseInt($,10):$):s.indexOf("hsl")!==-1&&(j[1]=`${j[1]}%`,j[2]=`${j[2]}%`),s.indexOf("color")!==-1?j=`${_} ${j.join(" ")}`:j=`${j.join(", ")}`,`${s}(${j})`}function hslToRgb(o){o=decomposeColor(o);const{values:s}=o,_=s[0],j=s[1]/100,$=s[2]/100,et=j*Math.min($,1-$),tt=(it,st=(it+_/30)%12)=>$-et*Math.max(Math.min(st-3,9-st,1),-1);let nt="rgb";const rt=[Math.round(tt(0)*255),Math.round(tt(8)*255),Math.round(tt(4)*255)];return o.type==="hsla"&&(nt+="a",rt.push(s[3])),recomposeColor({type:nt,values:rt})}function getLuminance(o){o=decomposeColor(o);let s=o.type==="hsl"||o.type==="hsla"?decomposeColor(hslToRgb(o)).values:o.values;return s=s.map(_=>(o.type!=="color"&&(_/=255),_<=.03928?_/12.92:((_+.055)/1.055)**2.4)),Number((.2126*s[0]+.7152*s[1]+.0722*s[2]).toFixed(3))}function getContrastRatio(o,s){const _=getLuminance(o),j=getLuminance(s);return(Math.max(_,j)+.05)/(Math.min(_,j)+.05)}function darken(o,s){if(o=decomposeColor(o),s=clamp(s),o.type.indexOf("hsl")!==-1)o.values[2]*=1-s;else if(o.type.indexOf("rgb")!==-1||o.type.indexOf("color")!==-1)for(let _=0;_<3;_+=1)o.values[_]*=1-s;return recomposeColor(o)}function lighten(o,s){if(o=decomposeColor(o),s=clamp(s),o.type.indexOf("hsl")!==-1)o.values[2]+=(100-o.values[2])*s;else if(o.type.indexOf("rgb")!==-1)for(let _=0;_<3;_+=1)o.values[_]+=(255-o.values[_])*s;else if(o.type.indexOf("color")!==-1)for(let _=0;_<3;_+=1)o.values[_]+=(1-o.values[_])*s;return recomposeColor(o)}const EMPTY_THEME={};function InnerThemeProvider(o){const s=useTheme();return jsx$1(ThemeContext$2.Provider,{value:typeof s=="object"?s:EMPTY_THEME,children:o.children})}function ThemeProvider(o){const{children:s,theme:_}=o;return jsx$1(ThemeProvider$1,{theme:_,children:jsx$1(InnerThemeProvider,{children:s})})}function createMixins(o,s){return _extends$1({toolbar:{minHeight:56,[o.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[o.up("sm")]:{minHeight:64}}},s)}const common$1={black:"#000",white:"#fff"},common$2=common$1,grey={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},grey$1=grey,purple={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},purple$1=purple,red={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},red$1=red,orange={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},orange$1=orange,blue={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},blue$1=blue,lightBlue={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},lightBlue$1=lightBlue,green={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},green$1=green,_excluded$4=["mode","contrastThreshold","tonalOffset"],light={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:common$2.white,default:common$2.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},dark={text:{primary:common$2.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:common$2.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function addLightOrDark(o,s,_,j){const $=j.light||j,et=j.dark||j*1.5;o[s]||(o.hasOwnProperty(_)?o[s]=o[_]:s==="light"?o.light=lighten(o.main,$):s==="dark"&&(o.dark=darken(o.main,et)))}function getDefaultPrimary(o="light"){return o==="dark"?{main:blue$1[200],light:blue$1[50],dark:blue$1[400]}:{main:blue$1[700],light:blue$1[400],dark:blue$1[800]}}function getDefaultSecondary(o="light"){return o==="dark"?{main:purple$1[200],light:purple$1[50],dark:purple$1[400]}:{main:purple$1[500],light:purple$1[300],dark:purple$1[700]}}function getDefaultError(o="light"){return o==="dark"?{main:red$1[500],light:red$1[300],dark:red$1[700]}:{main:red$1[700],light:red$1[400],dark:red$1[800]}}function getDefaultInfo(o="light"){return o==="dark"?{main:lightBlue$1[400],light:lightBlue$1[300],dark:lightBlue$1[700]}:{main:lightBlue$1[700],light:lightBlue$1[500],dark:lightBlue$1[900]}}function getDefaultSuccess(o="light"){return o==="dark"?{main:green$1[400],light:green$1[300],dark:green$1[700]}:{main:green$1[800],light:green$1[500],dark:green$1[900]}}function getDefaultWarning(o="light"){return o==="dark"?{main:orange$1[400],light:orange$1[300],dark:orange$1[700]}:{main:"#ed6c02",light:orange$1[500],dark:orange$1[900]}}function createPalette(o){const{mode:s="light",contrastThreshold:_=3,tonalOffset:j=.2}=o,$=_objectWithoutPropertiesLoose$1(o,_excluded$4),et=o.primary||getDefaultPrimary(s),tt=o.secondary||getDefaultSecondary(s),nt=o.error||getDefaultError(s),rt=o.info||getDefaultInfo(s),it=o.success||getDefaultSuccess(s),st=o.warning||getDefaultWarning(s);function Ut(Qt){return getContrastRatio(Qt,dark.text.primary)>=_?dark.text.primary:light.text.primary}const ct=({color:Qt,name:pt,mainShade:ft=500,lightShade:mt=300,darkShade:ht=700})=>{if(Qt=_extends$1({},Qt),!Qt.main&&Qt[ft]&&(Qt.main=Qt[ft]),!Qt.hasOwnProperty("main"))throw new Error(formatMuiErrorMessage(11,pt?` (${pt})`:"",ft));if(typeof Qt.main!="string")throw new Error(formatMuiErrorMessage(12,pt?` (${pt})`:"",JSON.stringify(Qt.main)));return addLightOrDark(Qt,"light",mt,j),addLightOrDark(Qt,"dark",ht,j),Qt.contrastText||(Qt.contrastText=Ut(Qt.main)),Qt},Ft={dark,light};return deepmerge(_extends$1({common:_extends$1({},common$2),mode:s,primary:ct({color:et,name:"primary"}),secondary:ct({color:tt,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:ct({color:nt,name:"error"}),warning:ct({color:st,name:"warning"}),info:ct({color:rt,name:"info"}),success:ct({color:it,name:"success"}),grey:grey$1,contrastThreshold:_,getContrastText:Ut,augmentColor:ct,tonalOffset:j},Ft[s]),$)}const _excluded$3=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function round$1(o){return Math.round(o*1e5)/1e5}const caseAllCaps={textTransform:"uppercase"},defaultFontFamily='"Roboto", "Helvetica", "Arial", sans-serif';function createTypography(o,s){const _=typeof s=="function"?s(o):s,{fontFamily:j=defaultFontFamily,fontSize:$=14,fontWeightLight:et=300,fontWeightRegular:tt=400,fontWeightMedium:nt=500,fontWeightBold:rt=700,htmlFontSize:it=16,allVariants:st,pxToRem:Ut}=_,ct=_objectWithoutPropertiesLoose$1(_,_excluded$3),Ft=$/14,ut=Ut||(ft=>`${ft/it*Ft}rem`),Qt=(ft,mt,ht,Vt,Rt)=>_extends$1({fontFamily:j,fontWeight:ft,fontSize:ut(mt),lineHeight:ht},j===defaultFontFamily?{letterSpacing:`${round$1(Vt/mt)}em`}:{},Rt,st),pt={h1:Qt(et,96,1.167,-1.5),h2:Qt(et,60,1.2,-.5),h3:Qt(tt,48,1.167,0),h4:Qt(tt,34,1.235,.25),h5:Qt(tt,24,1.334,0),h6:Qt(nt,20,1.6,.15),subtitle1:Qt(tt,16,1.75,.15),subtitle2:Qt(nt,14,1.57,.1),body1:Qt(tt,16,1.5,.15),body2:Qt(tt,14,1.43,.15),button:Qt(nt,14,1.75,.4,caseAllCaps),caption:Qt(tt,12,1.66,.4),overline:Qt(tt,12,2.66,1,caseAllCaps)};return deepmerge(_extends$1({htmlFontSize:it,pxToRem:ut,fontFamily:j,fontSize:$,fontWeightLight:et,fontWeightRegular:tt,fontWeightMedium:nt,fontWeightBold:rt},pt),ct,{clone:!1})}const shadowKeyUmbraOpacity=.2,shadowKeyPenumbraOpacity=.14,shadowAmbientShadowOpacity=.12;function createShadow(...o){return[`${o[0]}px ${o[1]}px ${o[2]}px ${o[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`,`${o[4]}px ${o[5]}px ${o[6]}px ${o[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`,`${o[8]}px ${o[9]}px ${o[10]}px ${o[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(",")}const shadows=["none",createShadow(0,2,1,-1,0,1,1,0,0,1,3,0),createShadow(0,3,1,-2,0,2,2,0,0,1,5,0),createShadow(0,3,3,-2,0,3,4,0,0,1,8,0),createShadow(0,2,4,-1,0,4,5,0,0,1,10,0),createShadow(0,3,5,-1,0,5,8,0,0,1,14,0),createShadow(0,3,5,-1,0,6,10,0,0,1,18,0),createShadow(0,4,5,-2,0,7,10,1,0,2,16,1),createShadow(0,5,5,-3,0,8,10,1,0,3,14,2),createShadow(0,5,6,-3,0,9,12,1,0,3,16,2),createShadow(0,6,6,-3,0,10,14,1,0,4,18,3),createShadow(0,6,7,-4,0,11,15,1,0,4,20,3),createShadow(0,7,8,-4,0,12,17,2,0,5,22,4),createShadow(0,7,8,-4,0,13,19,2,0,5,24,4),createShadow(0,7,9,-4,0,14,21,2,0,5,26,4),createShadow(0,8,9,-5,0,15,22,2,0,6,28,5),createShadow(0,8,10,-5,0,16,24,2,0,6,30,5),createShadow(0,8,11,-5,0,17,26,2,0,6,32,5),createShadow(0,9,11,-5,0,18,28,2,0,7,34,6),createShadow(0,9,12,-6,0,19,29,2,0,7,36,6),createShadow(0,10,13,-6,0,20,31,3,0,8,38,7),createShadow(0,10,13,-6,0,21,33,3,0,8,40,7),createShadow(0,10,14,-6,0,22,35,3,0,8,42,7),createShadow(0,11,14,-7,0,23,36,3,0,9,44,8),createShadow(0,11,15,-7,0,24,38,3,0,9,46,8)],shadows$1=shadows,_excluded$2=["duration","easing","delay"],easing={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},duration$3={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function formatMs(o){return`${Math.round(o)}ms`}function getAutoHeightDuration(o){if(!o)return 0;const s=o/36;return Math.round((4+15*s**.25+s/5)*10)}function createTransitions(o){const s=_extends$1({},easing,o.easing),_=_extends$1({},duration$3,o.duration);return _extends$1({getAutoHeightDuration,create:($=["all"],et={})=>{const{duration:tt=_.standard,easing:nt=s.easeInOut,delay:rt=0}=et;return _objectWithoutPropertiesLoose$1(et,_excluded$2),(Array.isArray($)?$:[$]).map(it=>`${it} ${typeof tt=="string"?tt:formatMs(tt)} ${nt} ${typeof rt=="string"?rt:formatMs(rt)}`).join(",")}},o,{easing:s,duration:_})}const zIndex={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},zIndex$1=zIndex,_excluded$1=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function createTheme(o={},...s){const{mixins:_={},palette:j={},transitions:$={},typography:et={}}=o,tt=_objectWithoutPropertiesLoose$1(o,_excluded$1);if(o.vars)throw new Error(formatMuiErrorMessage(18));const nt=createPalette(j),rt=createTheme$1(o);let it=deepmerge(rt,{mixins:createMixins(rt.breakpoints,_),palette:nt,shadows:shadows$1.slice(),typography:createTypography(nt,et),transitions:createTransitions($),zIndex:_extends$1({},zIndex$1)});return it=deepmerge(it,tt),it=s.reduce((st,Ut)=>deepmerge(st,Ut),it),it.unstable_sxConfig=_extends$1({},defaultSxConfig$1,tt==null?void 0:tt.unstable_sxConfig),it.unstable_sx=function(Ut){return styleFunctionSx$1({sx:Ut,theme:this})},it}const defaultTheme=createTheme(),defaultTheme$1=defaultTheme;function useThemeProps({props:o,name:s}){return useThemeProps$1({props:o,name:s,defaultTheme:defaultTheme$1})}function GlobalStyles(o){return jsx$1(GlobalStyles$1,_extends$1({},o,{defaultTheme:defaultTheme$1}))}const html=(o,s)=>_extends$1({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},s&&!o.vars&&{colorScheme:o.palette.mode}),body=o=>_extends$1({color:(o.vars||o).palette.text.primary},o.typography.body1,{backgroundColor:(o.vars||o).palette.background.default,"@media print":{backgroundColor:(o.vars||o).palette.common.white}}),styles=(o,s=!1)=>{var _,j;const $={};s&&o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([nt,rt])=>{var it;$[o.getColorSchemeSelector(nt).replace(/\s*&/,"")]={colorScheme:(it=rt.palette)==null?void 0:it.mode}});let et=_extends$1({html:html(o,s),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:o.typography.fontWeightBold},body:_extends$1({margin:0},body(o),{"&::backdrop":{backgroundColor:(o.vars||o).palette.background.default}})},$);const tt=(_=o.components)==null||(j=_.MuiCssBaseline)==null?void 0:j.styleOverrides;return tt&&(et=[et,tt]),et};function CssBaseline(o){const s=useThemeProps({props:o,name:"MuiCssBaseline"}),{children:_,enableColorScheme:j=!1}=s;return jsxs$1(reactExports.Fragment,{children:[jsx$1(GlobalStyles,{styles:$=>styles($,j)}),_]})}const rootShouldForwardProp=o=>shouldForwardProp(o)&&o!=="classes",styled=createStyled({defaultTheme:defaultTheme$1,rootShouldForwardProp}),styled$1=styled;function getScopedCssBaselineUtilityClass(o){return generateUtilityClass("MuiScopedCssBaseline",o)}generateUtilityClasses("MuiScopedCssBaseline",["root"]);const _excluded=["className","component","enableColorScheme"],useUtilityClasses=o=>{const{classes:s}=o;return composeClasses({root:["root"]},getScopedCssBaselineUtilityClass,s)},ScopedCssBaselineRoot=styled$1("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(o,s)=>s.root})(({theme:o,ownerState:s})=>{const _={};return s.enableColorScheme&&o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([j,$])=>{var et;_[`&${o.getColorSchemeSelector(j).replace(/\s*&/,"")}`]={colorScheme:(et=$.palette)==null?void 0:et.mode}}),_extends$1({},html(o,s.enableColorScheme),body(o),{"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:o.typography.fontWeightBold}},_)}),ScopedCssBaseline=reactExports.forwardRef(function(s,_){const j=useThemeProps({props:s,name:"MuiScopedCssBaseline"}),{className:$,component:et="div"}=j,tt=_objectWithoutPropertiesLoose$1(j,_excluded),nt=_extends$1({},j,{component:et}),rt=useUtilityClasses(nt);return jsx$1(ScopedCssBaselineRoot,_extends$1({as:et,className:clsx(rt.root,$),ref:_,ownerState:nt},tt))}),D0=ScopedCssBaseline;function getDefaultExportFromCjs$1(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var browser$1={exports:{}},process=browser$1.exports={},cachedSetTimeout,cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?cachedSetTimeout=setTimeout:cachedSetTimeout=defaultSetTimout}catch{cachedSetTimeout=defaultSetTimout}try{typeof clearTimeout=="function"?cachedClearTimeout=clearTimeout:cachedClearTimeout=defaultClearTimeout}catch{cachedClearTimeout=defaultClearTimeout}})();function runTimeout(o){if(cachedSetTimeout===setTimeout)return setTimeout(o,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(o,0);try{return cachedSetTimeout(o,0)}catch{try{return cachedSetTimeout.call(null,o,0)}catch{return cachedSetTimeout.call(this,o,0)}}}function runClearTimeout(o){if(cachedClearTimeout===clearTimeout)return clearTimeout(o);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(o);try{return cachedClearTimeout(o)}catch{try{return cachedClearTimeout.call(null,o)}catch{return cachedClearTimeout.call(this,o)}}}var queue=[],draining=!1,currentQueue,queueIndex=-1;function cleanUpNextTick(){!draining||!currentQueue||(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var o=runTimeout(cleanUpNextTick);draining=!0;for(var s=queue.length;s;){for(currentQueue=queue,queue=[];++queueIndex1)for(var _=1;_0)throw new Error("Invalid string. Length must be a multiple of 4");var _=o.indexOf("=");_===-1&&(_=s);var j=_===s?0:4-_%4;return[_,j]}function byteLength(o){var s=getLens(o),_=s[0],j=s[1];return(_+j)*3/4-j}function _byteLength(o,s,_){return(s+_)*3/4-_}function toByteArray(o){var s,_=getLens(o),j=_[0],$=_[1],et=new Arr(_byteLength(o,j,$)),tt=0,nt=$>0?j-4:j,rt;for(rt=0;rt>16&255,et[tt++]=s>>8&255,et[tt++]=s&255;return $===2&&(s=revLookup[o.charCodeAt(rt)]<<2|revLookup[o.charCodeAt(rt+1)]>>4,et[tt++]=s&255),$===1&&(s=revLookup[o.charCodeAt(rt)]<<10|revLookup[o.charCodeAt(rt+1)]<<4|revLookup[o.charCodeAt(rt+2)]>>2,et[tt++]=s>>8&255,et[tt++]=s&255),et}function tripletToBase64$1(o){return lookup$1[o>>18&63]+lookup$1[o>>12&63]+lookup$1[o>>6&63]+lookup$1[o&63]}function encodeChunk$1(o,s,_){for(var j,$=[],et=s;et<_;et+=3)j=(o[et]<<16&16711680)+(o[et+1]<<8&65280)+(o[et+2]&255),$.push(tripletToBase64$1(j));return $.join("")}function fromByteArray$1(o){for(var s,_=o.length,j=_%3,$=[],et=16383,tt=0,nt=_-j;ttnt?nt:tt+et));return j===1?(s=o[_-1],$.push(lookup$1[s>>2]+lookup$1[s<<4&63]+"==")):j===2&&(s=(o[_-2]<<8)+o[_-1],$.push(lookup$1[s>>10]+lookup$1[s>>4&63]+lookup$1[s<<2&63]+"=")),$.join("")}var ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ieee754.read=function(o,s,_,j,$){var et,tt,nt=$*8-j-1,rt=(1<>1,st=-7,Ut=_?$-1:0,ct=_?-1:1,Ft=o[s+Ut];for(Ut+=ct,et=Ft&(1<<-st)-1,Ft>>=-st,st+=nt;st>0;et=et*256+o[s+Ut],Ut+=ct,st-=8);for(tt=et&(1<<-st)-1,et>>=-st,st+=j;st>0;tt=tt*256+o[s+Ut],Ut+=ct,st-=8);if(et===0)et=1-it;else{if(et===rt)return tt?NaN:(Ft?-1:1)*(1/0);tt=tt+Math.pow(2,j),et=et-it}return(Ft?-1:1)*tt*Math.pow(2,et-j)};ieee754.write=function(o,s,_,j,$,et){var tt,nt,rt,it=et*8-$-1,st=(1<>1,ct=$===23?Math.pow(2,-24)-Math.pow(2,-77):0,Ft=j?0:et-1,ut=j?1:-1,Qt=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(nt=isNaN(s)?1:0,tt=st):(tt=Math.floor(Math.log(s)/Math.LN2),s*(rt=Math.pow(2,-tt))<1&&(tt--,rt*=2),tt+Ut>=1?s+=ct/rt:s+=ct*Math.pow(2,1-Ut),s*rt>=2&&(tt++,rt/=2),tt+Ut>=st?(nt=0,tt=st):tt+Ut>=1?(nt=(s*rt-1)*Math.pow(2,$),tt=tt+Ut):(nt=s*Math.pow(2,Ut-1)*Math.pow(2,$),tt=0));$>=8;o[_+Ft]=nt&255,Ft+=ut,nt/=256,$-=8);for(tt=tt<<$|nt,it+=$;it>0;o[_+Ft]=tt&255,Ft+=ut,tt/=256,it-=8);o[_+Ft-ut]|=Qt*128};/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */(function(o){const s=base64Js,_=ieee754,j=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;o.Buffer=st,o.SlowBuffer=Rt,o.INSPECT_MAX_BYTES=50;const $=2147483647;o.kMaxLength=$;const{Uint8Array:et,ArrayBuffer:tt,SharedArrayBuffer:nt}=globalThis;st.TYPED_ARRAY_SUPPORT=rt(),!st.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function rt(){try{const dn=new et(1),Nt={foo:function(){return 42}};return Object.setPrototypeOf(Nt,et.prototype),Object.setPrototypeOf(dn,Nt),dn.foo()===42}catch{return!1}}Object.defineProperty(st.prototype,"parent",{enumerable:!0,get:function(){if(st.isBuffer(this))return this.buffer}}),Object.defineProperty(st.prototype,"offset",{enumerable:!0,get:function(){if(st.isBuffer(this))return this.byteOffset}});function it(dn){if(dn>$)throw new RangeError('The value "'+dn+'" is invalid for option "size"');const Nt=new et(dn);return Object.setPrototypeOf(Nt,st.prototype),Nt}function st(dn,Nt,Xt){if(typeof dn=="number"){if(typeof Nt=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return ut(dn)}return Ut(dn,Nt,Xt)}st.poolSize=8192;function Ut(dn,Nt,Xt){if(typeof dn=="string")return Qt(dn,Nt);if(tt.isView(dn))return ft(dn);if(dn==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof dn);if(tr(dn,tt)||dn&&tr(dn.buffer,tt)||typeof nt<"u"&&(tr(dn,nt)||dn&&tr(dn.buffer,nt)))return mt(dn,Nt,Xt);if(typeof dn=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const gn=dn.valueOf&&dn.valueOf();if(gn!=null&&gn!==dn)return st.from(gn,Nt,Xt);const nn=ht(dn);if(nn)return nn;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof dn[Symbol.toPrimitive]=="function")return st.from(dn[Symbol.toPrimitive]("string"),Nt,Xt);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof dn)}st.from=function(dn,Nt,Xt){return Ut(dn,Nt,Xt)},Object.setPrototypeOf(st.prototype,et.prototype),Object.setPrototypeOf(st,et);function ct(dn){if(typeof dn!="number")throw new TypeError('"size" argument must be of type number');if(dn<0)throw new RangeError('The value "'+dn+'" is invalid for option "size"')}function Ft(dn,Nt,Xt){return ct(dn),dn<=0?it(dn):Nt!==void 0?typeof Xt=="string"?it(dn).fill(Nt,Xt):it(dn).fill(Nt):it(dn)}st.alloc=function(dn,Nt,Xt){return Ft(dn,Nt,Xt)};function ut(dn){return ct(dn),it(dn<0?0:Vt(dn)|0)}st.allocUnsafe=function(dn){return ut(dn)},st.allocUnsafeSlow=function(dn){return ut(dn)};function Qt(dn,Nt){if((typeof Nt!="string"||Nt==="")&&(Nt="utf8"),!st.isEncoding(Nt))throw new TypeError("Unknown encoding: "+Nt);const Xt=Dt(dn,Nt)|0;let gn=it(Xt);const nn=gn.write(dn,Nt);return nn!==Xt&&(gn=gn.slice(0,nn)),gn}function pt(dn){const Nt=dn.length<0?0:Vt(dn.length)|0,Xt=it(Nt);for(let gn=0;gn=$)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+$.toString(16)+" bytes");return dn|0}function Rt(dn){return+dn!=dn&&(dn=0),st.alloc(+dn)}st.isBuffer=function(Nt){return Nt!=null&&Nt._isBuffer===!0&&Nt!==st.prototype},st.compare=function(Nt,Xt){if(tr(Nt,et)&&(Nt=st.from(Nt,Nt.offset,Nt.byteLength)),tr(Xt,et)&&(Xt=st.from(Xt,Xt.offset,Xt.byteLength)),!st.isBuffer(Nt)||!st.isBuffer(Xt))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Nt===Xt)return 0;let gn=Nt.length,nn=Xt.length;for(let Ln=0,Hn=Math.min(gn,nn);Lnnn.length?(st.isBuffer(Hn)||(Hn=st.from(Hn)),Hn.copy(nn,Ln)):et.prototype.set.call(nn,Hn,Ln);else if(st.isBuffer(Hn))Hn.copy(nn,Ln);else throw new TypeError('"list" argument must be an Array of Buffers');Ln+=Hn.length}return nn};function Dt(dn,Nt){if(st.isBuffer(dn))return dn.length;if(tt.isView(dn)||tr(dn,tt))return dn.byteLength;if(typeof dn!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof dn);const Xt=dn.length,gn=arguments.length>2&&arguments[2]===!0;if(!gn&&Xt===0)return 0;let nn=!1;for(;;)switch(Nt){case"ascii":case"latin1":case"binary":return Xt;case"utf8":case"utf-8":return yn(dn).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xt*2;case"hex":return Xt>>>1;case"base64":return Gn(dn).length;default:if(nn)return gn?-1:yn(dn).length;Nt=(""+Nt).toLowerCase(),nn=!0}}st.byteLength=Dt;function Ct(dn,Nt,Xt){let gn=!1;if((Nt===void 0||Nt<0)&&(Nt=0),Nt>this.length||((Xt===void 0||Xt>this.length)&&(Xt=this.length),Xt<=0)||(Xt>>>=0,Nt>>>=0,Xt<=Nt))return"";for(dn||(dn="utf8");;)switch(dn){case"hex":return ln(this,Nt,Xt);case"utf8":case"utf-8":return _t(this,Nt,Xt);case"ascii":return Pt(this,Nt,Xt);case"latin1":case"binary":return qt(this,Nt,Xt);case"base64":return Tt(this,Nt,Xt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return an(this,Nt,Xt);default:if(gn)throw new TypeError("Unknown encoding: "+dn);dn=(dn+"").toLowerCase(),gn=!0}}st.prototype._isBuffer=!0;function Mt(dn,Nt,Xt){const gn=dn[Nt];dn[Nt]=dn[Xt],dn[Xt]=gn}st.prototype.swap16=function(){const Nt=this.length;if(Nt%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Xt=0;XtXt&&(Nt+=" ... "),""},j&&(st.prototype[j]=st.prototype.inspect),st.prototype.compare=function(Nt,Xt,gn,nn,Ln){if(tr(Nt,et)&&(Nt=st.from(Nt,Nt.offset,Nt.byteLength)),!st.isBuffer(Nt))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Nt);if(Xt===void 0&&(Xt=0),gn===void 0&&(gn=Nt?Nt.length:0),nn===void 0&&(nn=0),Ln===void 0&&(Ln=this.length),Xt<0||gn>Nt.length||nn<0||Ln>this.length)throw new RangeError("out of range index");if(nn>=Ln&&Xt>=gn)return 0;if(nn>=Ln)return-1;if(Xt>=gn)return 1;if(Xt>>>=0,gn>>>=0,nn>>>=0,Ln>>>=0,this===Nt)return 0;let Hn=Ln-nn,ur=gn-Xt;const Dr=Math.min(Hn,ur),Cr=this.slice(nn,Ln),ir=Nt.slice(Xt,gn);for(let Nr=0;Nr2147483647?Xt=2147483647:Xt<-2147483648&&(Xt=-2147483648),Xt=+Xt,cr(Xt)&&(Xt=nn?0:dn.length-1),Xt<0&&(Xt=dn.length+Xt),Xt>=dn.length){if(nn)return-1;Xt=dn.length-1}else if(Xt<0)if(nn)Xt=0;else return-1;if(typeof Nt=="string"&&(Nt=st.from(Nt,gn)),st.isBuffer(Nt))return Nt.length===0?-1:Yt(dn,Nt,Xt,gn,nn);if(typeof Nt=="number")return Nt=Nt&255,typeof et.prototype.indexOf=="function"?nn?et.prototype.indexOf.call(dn,Nt,Xt):et.prototype.lastIndexOf.call(dn,Nt,Xt):Yt(dn,[Nt],Xt,gn,nn);throw new TypeError("val must be string, number or Buffer")}function Yt(dn,Nt,Xt,gn,nn){let Ln=1,Hn=dn.length,ur=Nt.length;if(gn!==void 0&&(gn=String(gn).toLowerCase(),gn==="ucs2"||gn==="ucs-2"||gn==="utf16le"||gn==="utf-16le")){if(dn.length<2||Nt.length<2)return-1;Ln=2,Hn/=2,ur/=2,Xt/=2}function Dr(ir,Nr){return Ln===1?ir[Nr]:ir.readUInt16BE(Nr*Ln)}let Cr;if(nn){let ir=-1;for(Cr=Xt;CrHn&&(Xt=Hn-ur),Cr=Xt;Cr>=0;Cr--){let ir=!0;for(let Nr=0;Nrnn&&(gn=nn)):gn=nn;const Ln=Nt.length;gn>Ln/2&&(gn=Ln/2);let Hn;for(Hn=0;Hn>>0,isFinite(gn)?(gn=gn>>>0,nn===void 0&&(nn="utf8")):(nn=gn,gn=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Ln=this.length-Xt;if((gn===void 0||gn>Ln)&&(gn=Ln),Nt.length>0&&(gn<0||Xt<0)||Xt>this.length)throw new RangeError("Attempt to write outside buffer bounds");nn||(nn="utf8");let Hn=!1;for(;;)switch(nn){case"hex":return Zt(this,Nt,Xt,gn);case"utf8":case"utf-8":return vt(this,Nt,Xt,gn);case"ascii":case"latin1":case"binary":return bt(this,Nt,Xt,gn);case"base64":return Wt(this,Nt,Xt,gn);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return It(this,Nt,Xt,gn);default:if(Hn)throw new TypeError("Unknown encoding: "+nn);nn=(""+nn).toLowerCase(),Hn=!0}},st.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Tt(dn,Nt,Xt){return Nt===0&&Xt===dn.length?s.fromByteArray(dn):s.fromByteArray(dn.slice(Nt,Xt))}function _t(dn,Nt,Xt){Xt=Math.min(dn.length,Xt);const gn=[];let nn=Nt;for(;nn239?4:Ln>223?3:Ln>191?2:1;if(nn+ur<=Xt){let Dr,Cr,ir,Nr;switch(ur){case 1:Ln<128&&(Hn=Ln);break;case 2:Dr=dn[nn+1],(Dr&192)===128&&(Nr=(Ln&31)<<6|Dr&63,Nr>127&&(Hn=Nr));break;case 3:Dr=dn[nn+1],Cr=dn[nn+2],(Dr&192)===128&&(Cr&192)===128&&(Nr=(Ln&15)<<12|(Dr&63)<<6|Cr&63,Nr>2047&&(Nr<55296||Nr>57343)&&(Hn=Nr));break;case 4:Dr=dn[nn+1],Cr=dn[nn+2],ir=dn[nn+3],(Dr&192)===128&&(Cr&192)===128&&(ir&192)===128&&(Nr=(Ln&15)<<18|(Dr&63)<<12|(Cr&63)<<6|ir&63,Nr>65535&&Nr<1114112&&(Hn=Nr))}}Hn===null?(Hn=65533,ur=1):Hn>65535&&(Hn-=65536,gn.push(Hn>>>10&1023|55296),Hn=56320|Hn&1023),gn.push(Hn),nn+=ur}return rn(gn)}const $t=4096;function rn(dn){const Nt=dn.length;if(Nt<=$t)return String.fromCharCode.apply(String,dn);let Xt="",gn=0;for(;gngn)&&(Xt=gn);let nn="";for(let Ln=Nt;Lngn&&(Nt=gn),Xt<0?(Xt+=gn,Xt<0&&(Xt=0)):Xt>gn&&(Xt=gn),XtXt)throw new RangeError("Trying to access beyond buffer length")}st.prototype.readUintLE=st.prototype.readUIntLE=function(Nt,Xt,gn){Nt=Nt>>>0,Xt=Xt>>>0,gn||Gt(Nt,Xt,this.length);let nn=this[Nt],Ln=1,Hn=0;for(;++Hn>>0,Xt=Xt>>>0,gn||Gt(Nt,Xt,this.length);let nn=this[Nt+--Xt],Ln=1;for(;Xt>0&&(Ln*=256);)nn+=this[Nt+--Xt]*Ln;return nn},st.prototype.readUint8=st.prototype.readUInt8=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,1,this.length),this[Nt]},st.prototype.readUint16LE=st.prototype.readUInt16LE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,2,this.length),this[Nt]|this[Nt+1]<<8},st.prototype.readUint16BE=st.prototype.readUInt16BE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,2,this.length),this[Nt]<<8|this[Nt+1]},st.prototype.readUint32LE=st.prototype.readUInt32LE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,4,this.length),(this[Nt]|this[Nt+1]<<8|this[Nt+2]<<16)+this[Nt+3]*16777216},st.prototype.readUint32BE=st.prototype.readUInt32BE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,4,this.length),this[Nt]*16777216+(this[Nt+1]<<16|this[Nt+2]<<8|this[Nt+3])},st.prototype.readBigUInt64LE=Jr(function(Nt){Nt=Nt>>>0,wt(Nt,"offset");const Xt=this[Nt],gn=this[Nt+7];(Xt===void 0||gn===void 0)&&jt(Nt,this.length-8);const nn=Xt+this[++Nt]*2**8+this[++Nt]*2**16+this[++Nt]*2**24,Ln=this[++Nt]+this[++Nt]*2**8+this[++Nt]*2**16+gn*2**24;return BigInt(nn)+(BigInt(Ln)<>>0,wt(Nt,"offset");const Xt=this[Nt],gn=this[Nt+7];(Xt===void 0||gn===void 0)&&jt(Nt,this.length-8);const nn=Xt*2**24+this[++Nt]*2**16+this[++Nt]*2**8+this[++Nt],Ln=this[++Nt]*2**24+this[++Nt]*2**16+this[++Nt]*2**8+gn;return(BigInt(nn)<>>0,Xt=Xt>>>0,gn||Gt(Nt,Xt,this.length);let nn=this[Nt],Ln=1,Hn=0;for(;++Hn=Ln&&(nn-=Math.pow(2,8*Xt)),nn},st.prototype.readIntBE=function(Nt,Xt,gn){Nt=Nt>>>0,Xt=Xt>>>0,gn||Gt(Nt,Xt,this.length);let nn=Xt,Ln=1,Hn=this[Nt+--nn];for(;nn>0&&(Ln*=256);)Hn+=this[Nt+--nn]*Ln;return Ln*=128,Hn>=Ln&&(Hn-=Math.pow(2,8*Xt)),Hn},st.prototype.readInt8=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,1,this.length),this[Nt]&128?(255-this[Nt]+1)*-1:this[Nt]},st.prototype.readInt16LE=function(Nt,Xt){Nt=Nt>>>0,Xt||Gt(Nt,2,this.length);const gn=this[Nt]|this[Nt+1]<<8;return gn&32768?gn|4294901760:gn},st.prototype.readInt16BE=function(Nt,Xt){Nt=Nt>>>0,Xt||Gt(Nt,2,this.length);const gn=this[Nt+1]|this[Nt]<<8;return gn&32768?gn|4294901760:gn},st.prototype.readInt32LE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,4,this.length),this[Nt]|this[Nt+1]<<8|this[Nt+2]<<16|this[Nt+3]<<24},st.prototype.readInt32BE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,4,this.length),this[Nt]<<24|this[Nt+1]<<16|this[Nt+2]<<8|this[Nt+3]},st.prototype.readBigInt64LE=Jr(function(Nt){Nt=Nt>>>0,wt(Nt,"offset");const Xt=this[Nt],gn=this[Nt+7];(Xt===void 0||gn===void 0)&&jt(Nt,this.length-8);const nn=this[Nt+4]+this[Nt+5]*2**8+this[Nt+6]*2**16+(gn<<24);return(BigInt(nn)<>>0,wt(Nt,"offset");const Xt=this[Nt],gn=this[Nt+7];(Xt===void 0||gn===void 0)&&jt(Nt,this.length-8);const nn=(Xt<<24)+this[++Nt]*2**16+this[++Nt]*2**8+this[++Nt];return(BigInt(nn)<>>0,Xt||Gt(Nt,4,this.length),_.read(this,Nt,!0,23,4)},st.prototype.readFloatBE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,4,this.length),_.read(this,Nt,!1,23,4)},st.prototype.readDoubleLE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,8,this.length),_.read(this,Nt,!0,52,8)},st.prototype.readDoubleBE=function(Nt,Xt){return Nt=Nt>>>0,Xt||Gt(Nt,8,this.length),_.read(this,Nt,!1,52,8)};function Ht(dn,Nt,Xt,gn,nn,Ln){if(!st.isBuffer(dn))throw new TypeError('"buffer" argument must be a Buffer instance');if(Nt>nn||Ntdn.length)throw new RangeError("Index out of range")}st.prototype.writeUintLE=st.prototype.writeUIntLE=function(Nt,Xt,gn,nn){if(Nt=+Nt,Xt=Xt>>>0,gn=gn>>>0,!nn){const ur=Math.pow(2,8*gn)-1;Ht(this,Nt,Xt,gn,ur,0)}let Ln=1,Hn=0;for(this[Xt]=Nt&255;++Hn>>0,gn=gn>>>0,!nn){const ur=Math.pow(2,8*gn)-1;Ht(this,Nt,Xt,gn,ur,0)}let Ln=gn-1,Hn=1;for(this[Xt+Ln]=Nt&255;--Ln>=0&&(Hn*=256);)this[Xt+Ln]=Nt/Hn&255;return Xt+gn},st.prototype.writeUint8=st.prototype.writeUInt8=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,1,255,0),this[Xt]=Nt&255,Xt+1},st.prototype.writeUint16LE=st.prototype.writeUInt16LE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,2,65535,0),this[Xt]=Nt&255,this[Xt+1]=Nt>>>8,Xt+2},st.prototype.writeUint16BE=st.prototype.writeUInt16BE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,2,65535,0),this[Xt]=Nt>>>8,this[Xt+1]=Nt&255,Xt+2},st.prototype.writeUint32LE=st.prototype.writeUInt32LE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,4,4294967295,0),this[Xt+3]=Nt>>>24,this[Xt+2]=Nt>>>16,this[Xt+1]=Nt>>>8,this[Xt]=Nt&255,Xt+4},st.prototype.writeUint32BE=st.prototype.writeUInt32BE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,4,4294967295,0),this[Xt]=Nt>>>24,this[Xt+1]=Nt>>>16,this[Xt+2]=Nt>>>8,this[Xt+3]=Nt&255,Xt+4};function Un(dn,Nt,Xt,gn,nn){zn(Nt,gn,nn,dn,Xt,7);let Ln=Number(Nt&BigInt(4294967295));dn[Xt++]=Ln,Ln=Ln>>8,dn[Xt++]=Ln,Ln=Ln>>8,dn[Xt++]=Ln,Ln=Ln>>8,dn[Xt++]=Ln;let Hn=Number(Nt>>BigInt(32)&BigInt(4294967295));return dn[Xt++]=Hn,Hn=Hn>>8,dn[Xt++]=Hn,Hn=Hn>>8,dn[Xt++]=Hn,Hn=Hn>>8,dn[Xt++]=Hn,Xt}function Sn(dn,Nt,Xt,gn,nn){zn(Nt,gn,nn,dn,Xt,7);let Ln=Number(Nt&BigInt(4294967295));dn[Xt+7]=Ln,Ln=Ln>>8,dn[Xt+6]=Ln,Ln=Ln>>8,dn[Xt+5]=Ln,Ln=Ln>>8,dn[Xt+4]=Ln;let Hn=Number(Nt>>BigInt(32)&BigInt(4294967295));return dn[Xt+3]=Hn,Hn=Hn>>8,dn[Xt+2]=Hn,Hn=Hn>>8,dn[Xt+1]=Hn,Hn=Hn>>8,dn[Xt]=Hn,Xt+8}st.prototype.writeBigUInt64LE=Jr(function(Nt,Xt=0){return Un(this,Nt,Xt,BigInt(0),BigInt("0xffffffffffffffff"))}),st.prototype.writeBigUInt64BE=Jr(function(Nt,Xt=0){return Sn(this,Nt,Xt,BigInt(0),BigInt("0xffffffffffffffff"))}),st.prototype.writeIntLE=function(Nt,Xt,gn,nn){if(Nt=+Nt,Xt=Xt>>>0,!nn){const Dr=Math.pow(2,8*gn-1);Ht(this,Nt,Xt,gn,Dr-1,-Dr)}let Ln=0,Hn=1,ur=0;for(this[Xt]=Nt&255;++Ln>0)-ur&255;return Xt+gn},st.prototype.writeIntBE=function(Nt,Xt,gn,nn){if(Nt=+Nt,Xt=Xt>>>0,!nn){const Dr=Math.pow(2,8*gn-1);Ht(this,Nt,Xt,gn,Dr-1,-Dr)}let Ln=gn-1,Hn=1,ur=0;for(this[Xt+Ln]=Nt&255;--Ln>=0&&(Hn*=256);)Nt<0&&ur===0&&this[Xt+Ln+1]!==0&&(ur=1),this[Xt+Ln]=(Nt/Hn>>0)-ur&255;return Xt+gn},st.prototype.writeInt8=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,1,127,-128),Nt<0&&(Nt=255+Nt+1),this[Xt]=Nt&255,Xt+1},st.prototype.writeInt16LE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,2,32767,-32768),this[Xt]=Nt&255,this[Xt+1]=Nt>>>8,Xt+2},st.prototype.writeInt16BE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,2,32767,-32768),this[Xt]=Nt>>>8,this[Xt+1]=Nt&255,Xt+2},st.prototype.writeInt32LE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,4,2147483647,-2147483648),this[Xt]=Nt&255,this[Xt+1]=Nt>>>8,this[Xt+2]=Nt>>>16,this[Xt+3]=Nt>>>24,Xt+4},st.prototype.writeInt32BE=function(Nt,Xt,gn){return Nt=+Nt,Xt=Xt>>>0,gn||Ht(this,Nt,Xt,4,2147483647,-2147483648),Nt<0&&(Nt=4294967295+Nt+1),this[Xt]=Nt>>>24,this[Xt+1]=Nt>>>16,this[Xt+2]=Nt>>>8,this[Xt+3]=Nt&255,Xt+4},st.prototype.writeBigInt64LE=Jr(function(Nt,Xt=0){return Un(this,Nt,Xt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),st.prototype.writeBigInt64BE=Jr(function(Nt,Xt=0){return Sn(this,Nt,Xt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function cn(dn,Nt,Xt,gn,nn,Ln){if(Xt+gn>dn.length)throw new RangeError("Index out of range");if(Xt<0)throw new RangeError("Index out of range")}function fn(dn,Nt,Xt,gn,nn){return Nt=+Nt,Xt=Xt>>>0,nn||cn(dn,Nt,Xt,4),_.write(dn,Nt,Xt,gn,23,4),Xt+4}st.prototype.writeFloatLE=function(Nt,Xt,gn){return fn(this,Nt,Xt,!0,gn)},st.prototype.writeFloatBE=function(Nt,Xt,gn){return fn(this,Nt,Xt,!1,gn)};function sn(dn,Nt,Xt,gn,nn){return Nt=+Nt,Xt=Xt>>>0,nn||cn(dn,Nt,Xt,8),_.write(dn,Nt,Xt,gn,52,8),Xt+8}st.prototype.writeDoubleLE=function(Nt,Xt,gn){return sn(this,Nt,Xt,!0,gn)},st.prototype.writeDoubleBE=function(Nt,Xt,gn){return sn(this,Nt,Xt,!1,gn)},st.prototype.copy=function(Nt,Xt,gn,nn){if(!st.isBuffer(Nt))throw new TypeError("argument should be a Buffer");if(gn||(gn=0),!nn&&nn!==0&&(nn=this.length),Xt>=Nt.length&&(Xt=Nt.length),Xt||(Xt=0),nn>0&&nn=this.length)throw new RangeError("Index out of range");if(nn<0)throw new RangeError("sourceEnd out of bounds");nn>this.length&&(nn=this.length),Nt.length-Xt>>0,gn=gn===void 0?this.length:gn>>>0,Nt||(Nt=0);let Ln;if(typeof Nt=="number")for(Ln=Xt;Ln2**32?nn=Nn(String(Xt)):typeof Xt=="bigint"&&(nn=String(Xt),(Xt>BigInt(2)**BigInt(32)||Xt<-(BigInt(2)**BigInt(32)))&&(nn=Nn(nn)),nn+="n"),gn+=` It must be ${Nt}. Received ${nn}`,gn},RangeError);function Nn(dn){let Nt="",Xt=dn.length;const gn=dn[0]==="-"?1:0;for(;Xt>=gn+4;Xt-=3)Nt=`_${dn.slice(Xt-3,Xt)}${Nt}`;return`${dn.slice(0,Xt)}${Nt}`}function xn(dn,Nt,Xt){wt(Nt,"offset"),(dn[Nt]===void 0||dn[Nt+Xt]===void 0)&&jt(Nt,dn.length-(Xt+1))}function zn(dn,Nt,Xt,gn,nn,Ln){if(dn>Xt||dn3?Nt===0||Nt===BigInt(0)?ur=`>= 0${Hn} and < 2${Hn} ** ${(Ln+1)*8}${Hn}`:ur=`>= -(2${Hn} ** ${(Ln+1)*8-1}${Hn}) and < 2 ** ${(Ln+1)*8-1}${Hn}`:ur=`>= ${Nt}${Hn} and <= ${Xt}${Hn}`,new bn.ERR_OUT_OF_RANGE("value",ur,dn)}xn(gn,nn,Ln)}function wt(dn,Nt){if(typeof dn!="number")throw new bn.ERR_INVALID_ARG_TYPE(Nt,"number",dn)}function jt(dn,Nt,Xt){throw Math.floor(dn)!==dn?(wt(dn,Xt),new bn.ERR_OUT_OF_RANGE(Xt||"offset","an integer",dn)):Nt<0?new bn.ERR_BUFFER_OUT_OF_BOUNDS:new bn.ERR_OUT_OF_RANGE(Xt||"offset",`>= ${Xt?1:0} and <= ${Nt}`,dn)}const zt=/[^+/0-9A-Za-z-_]/g;function pn(dn){if(dn=dn.split("=")[0],dn=dn.trim().replace(zt,""),dn.length<2)return"";for(;dn.length%4!==0;)dn=dn+"=";return dn}function yn(dn,Nt){Nt=Nt||1/0;let Xt;const gn=dn.length;let nn=null;const Ln=[];for(let Hn=0;Hn55295&&Xt<57344){if(!nn){if(Xt>56319){(Nt-=3)>-1&&Ln.push(239,191,189);continue}else if(Hn+1===gn){(Nt-=3)>-1&&Ln.push(239,191,189);continue}nn=Xt;continue}if(Xt<56320){(Nt-=3)>-1&&Ln.push(239,191,189),nn=Xt;continue}Xt=(nn-55296<<10|Xt-56320)+65536}else nn&&(Nt-=3)>-1&&Ln.push(239,191,189);if(nn=null,Xt<128){if((Nt-=1)<0)break;Ln.push(Xt)}else if(Xt<2048){if((Nt-=2)<0)break;Ln.push(Xt>>6|192,Xt&63|128)}else if(Xt<65536){if((Nt-=3)<0)break;Ln.push(Xt>>12|224,Xt>>6&63|128,Xt&63|128)}else if(Xt<1114112){if((Nt-=4)<0)break;Ln.push(Xt>>18|240,Xt>>12&63|128,Xt>>6&63|128,Xt&63|128)}else throw new Error("Invalid code point")}return Ln}function Vn(dn){const Nt=[];for(let Xt=0;Xt>8,nn=Xt%256,Ln.push(nn),Ln.push(gn);return Ln}function Gn(dn){return s.toByteArray(pn(dn))}function nr(dn,Nt,Xt,gn){let nn;for(nn=0;nn=Nt.length||nn>=dn.length);++nn)Nt[nn+Xt]=dn[nn];return nn}function tr(dn,Nt){return dn instanceof Nt||dn!=null&&dn.constructor!=null&&dn.constructor.name!=null&&dn.constructor.name===Nt.name}function cr(dn){return dn!==dn}const Ur=function(){const dn="0123456789abcdef",Nt=new Array(256);for(let Xt=0;Xt<16;++Xt){const gn=Xt*16;for(let nn=0;nn<16;++nn)Nt[gn+nn]=dn[Xt]+dn[nn]}return Nt}();function Jr(dn){return typeof BigInt>"u"?Sr:dn}function Sr(){throw new Error("BigInt not supported")}})(buffer);const Buffer=buffer.Buffer;var Qn=Object.defineProperty,Rn=(o,s,_)=>s in o?Qn(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,_e=(o,s,_)=>(Rn(o,typeof s!="symbol"?s+"":s,_),_);const DEFAULT_FORMANT_API_URL="https://api.formant.io";function whichFormantApiUrl(o,s,_){try{if(s.get("formant_prod"))return"https://api.formant.io";if(s.get("formant_stage"))return"https://api-stage.formant.io";if(s.get("formant_dev"))return"https://api-dev.formant.io";if(s.get("formant_local"))return"https://api.formant.local";if(s.get("formant_url")){const j=s.get("formant_url");if(j!==null)try{return new URL(j).origin}catch{console.warn(`Ignoring malformed \`formant_url\` url parameter: ${j}`)}}if(_){if(_.includes("app-dev.formant.io")||_.includes("v2-coherence-dev.vercel.app")||_.includes("localhost"))return"https://api-dev.formant.io";if(_.includes("app-stage.formant.io"))return"https://api-stage.formant.io";if(_.includes("app.formant.io")||_.includes("v2-coherence.vercel.app"))return"https://api.formant.io"}}catch{}if(_){if(_.includes("app-dev.formant.io"))return"https://api-dev.formant.io";if(_.includes("app-stage.formant.io"))return"https://api-stage.formant.io";if(_.includes("app.formant.io"))return"https://api.formant.io"}return typeof o<"u"&&"FORMANT_API_URL"in o&&typeof o.FORMANT_API_URL=="string"?o.FORMANT_API_URL:DEFAULT_FORMANT_API_URL}let FORMANT_API_URL=whichFormantApiUrl(typeof window<"u"?window:globalThis,new URLSearchParams(typeof window<"u"&&window.location?window.location.search:void 0),typeof window<"u"&&window.location?window.location.host:void 0);const setFormantApiUrl=o=>{FORMANT_API_URL=o};function addAccessTokenRefreshListener(o){function s(_){const j=_.data;j.type==="auth_token"&&o(j.token)}return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}}function getCurrentModuleContext(){return typeof window<"u"&&window.location?new URLSearchParams(window.location.search).get("module"):null}function sendAppMessage(o){if(!(window&&window.parent))throw new Error("cannot send message to non-existent parent");window.parent.postMessage(o,"*")}function refreshAuthToken(){const o=getCurrentModuleContext();if(!o)throw new Error("No module context");sendAppMessage({type:"refresh_auth_token",module:o})}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global$1<"u"?global$1:typeof self<"u"?self:{};function getDefaultExportFromCjs(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var base64={exports:{}};/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */base64.exports;(function(o,s){(function(_){var j=s,$=o&&o.exports==j&&o,et=typeof commonjsGlobal=="object"&&commonjsGlobal;(et.global===et||et.window===et)&&(_=et);var tt=function(ut){this.message=ut};tt.prototype=new Error,tt.prototype.name="InvalidCharacterError";var nt=function(ut){throw new tt(ut)},rt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",it=/[\t\n\f\r ]/g,st=function(ut){ut=String(ut).replace(it,"");var Qt=ut.length;Qt%4==0&&(ut=ut.replace(/==?$/,""),Qt=ut.length),(Qt%4==1||/[^+a-zA-Z0-9/]/.test(ut))&&nt("Invalid character: the string to be decoded is not correctly encoded.");for(var pt=0,ft,mt,ht="",Vt=-1;++Vt>(-2*pt&6)));return ht},Ut=function(ut){ut=String(ut),/[^\0-\xFF]/.test(ut)&&nt("The string to be encoded contains characters outside of the Latin1 range.");for(var Qt=ut.length%3,pt="",ft=-1,mt,ht,Vt,Rt,Dt=ut.length-Qt;++ft>18&63)+rt.charAt(Rt>>12&63)+rt.charAt(Rt>>6&63)+rt.charAt(Rt&63);return Qt==2?(mt=ut.charCodeAt(ft)<<8,ht=ut.charCodeAt(++ft),Rt=mt+ht,pt+=rt.charAt(Rt>>10)+rt.charAt(Rt>>4&63)+rt.charAt(Rt<<2&63)+"="):Qt==1&&(Rt=ut.charCodeAt(ft),pt+=rt.charAt(Rt>>2)+rt.charAt(Rt<<4&63)+"=="),pt},ct={encode:Ut,decode:st,version:"1.0.0"};if(j&&!j.nodeType)if($)$.exports=ct;else for(var Ft in ct)ct.hasOwnProperty(Ft)&&(j[Ft]=ct[Ft]);else _.base64=ct})(commonjsGlobal)})(base64,base64.exports);var base64Exports=base64.exports;class LoginFailureError extends Error{constructor(s){super("login failed"),_e(this,"reason"),this.reason=s,this.name="LoginFailureError",Object.setPrototypeOf(this,new.target.prototype)}}class LoginChallengedError extends Error{constructor(s){super("login challenged"),_e(this,"challenge"),this.challenge=s,this.name="LoginChallengedError",Object.setPrototypeOf(this,new.target.prototype)}}class AuthenticationStore{constructor({apiUrl:s,refreshAuthToken:_,addAccessTokenRefreshListener:j}){_e(this,"_refreshToken"),_e(this,"_isShareToken",!1),_e(this,"_currentOrganization"),_e(this,"_currentUser"),_e(this,"_defaultDeviceId"),_e(this,"_token"),_e(this,"_waitingForAuth",new Set),_e(this,"_refreshTimer"),_e(this,"_apiUrl"),_e(this,"_refreshAuthToken"),_e(this,"_addAccessTokenRefreshListener"),this._apiUrl=s,this._refreshAuthToken=_,this._addAccessTokenRefreshListener=j}set apiUrl(s){this._apiUrl=s,setFormantApiUrl(s)}get apiUrl(){return this._apiUrl}get token(){return this._token}get currentUser(){return this._currentUser}get currentOrganization(){return this._currentOrganization}get defaultDeviceId(){return this._defaultDeviceId}get refreshToken(){return this._refreshToken}get isShareToken(){return this._isShareToken}async login(s,_,j={}){const{advanced:$=!1}=j;try{const et=await fetch(`${this._apiUrl}/v1/admin/auth/login`,{method:"POST",body:JSON.stringify({email:s,password:_}),headers:{"Content-Type":"application/json"}}),tt=await et.json();if(et.status!==200)throw new LoginFailureError(tt.message);if("challenge"in tt)throw new LoginChallengedError(tt.challenge);const{authentication:nt}=tt;return await this.loginWithToken(nt.accessToken,nt.refreshToken),$?{result:"success",authentication:nt}:nt}catch(et){if($||console.error("login() failed",{err:et}),this._waitingForAuth.forEach(tt=>tt(!1)),this._waitingForAuth.clear(),!$)throw et;return et instanceof LoginChallengedError?{result:"challenged",challenge:et.challenge}:{result:"failure",reason:et instanceof LoginFailureError?et.reason:et instanceof Error?et.message:String(et)}}}async loginWithToken(s,_){var j;const $=JSON.parse(base64Exports.decode(s.split(".")[1]));try{let et;if(this._isShareToken=$["formant:claims"]&&$["formant:claims"].type=="share",$["formant:claims"]&&(this._currentOrganization=$["formant:claims"].organizationId),$["custom:organization_id"]&&(this._currentOrganization=$["custom:organization_id"]),this._isShareToken||(et=$.sub),$["formant:claims"]&&$["formant:claims"].userId&&(et=$["formant:claims"].userId),et&&((j=this._currentUser)==null?void 0:j.id)!==et){const tt=await fetch(`${this._apiUrl}/v1/admin/users/${et}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+s}}),nt=await tt.json();if(tt.status===404)this._currentUser=void 0;else{if(tt.status!==200)throw new Error(nt.message);this._currentUser=nt}}this._token=s,this._waitingForAuth.forEach(tt=>tt(!0))}catch(et){console.error("loginWithToken() failed",{err:et}),this._waitingForAuth.forEach(tt=>tt(!1))}finally{this._waitingForAuth.clear()}_&&(this._refreshToken=_,setInterval(async()=>{if(this._refreshToken){const et=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:this._refreshToken})})).json();this._token=et.authentication.accessToken}},1e3*60*60))}isAuthenticated(){return this._token!==void 0}async loginToPeer(s,_,j){if((await fetch(`${s}/login`,{method:"POST",body:JSON.stringify({username:_,password:j}),headers:{"Content-Type":"application/json"}})).status!==200)throw new LoginFailureError("Invalid authentication")}getCurrentUser(){return this._currentUser}async waitTilAuthenticated(){return this.token!==void 0?!0:new Promise(s=>{this._waitingForAuth.add(s)})}async listenForRefresh(){const s=()=>{this._refreshTimer=void 0,this._refreshAuthToken()};this._addAccessTokenRefreshListener(_=>{this._refreshTimer&&clearTimeout(this._refreshTimer),this._refreshTimer=setTimeout(s,36e5),this.loginWithToken(_)}),this._refreshTimer=setTimeout(s,36e5)}async forgotPassword(s){await fetch(`${this._apiUrl}/v1/admin/auth/forgot-password`,{method:"POST",body:JSON.stringify({email:s}),headers:{"Content-Type":"application/json"}})}async confirmForgotPassword(s){return(await fetch(`${this._apiUrl}/v1/admin/auth/confirm-forgot-password`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).ok}async respondToNewPasswordRequiredChallenge(s){const _=await fetch(`${this._apiUrl}/v1/admin/auth/respond-to-new-password-required-challenge`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}});if(_.ok)return await _.json();throw new Error("respond-to-new-password-required-challenge failed")}async loginWithGoogle(s){return await(await fetch(`${this._apiUrl}/v1/admin/auth/login-google`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()}async refresh(s){const _=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:s})})).json();await this.loginWithToken(_.authentication.accessToken,s)}async checkSso(s,_){return await(await fetch(`${this._apiUrl}/v1/admin/auth/check-sso`,{method:"POST",body:JSON.stringify({email:s,allowUserAutoCreation:_}),headers:{"Content-Type":"application/json"}})).json()}async loginWithSso(s,_){const j=await(await fetch(`${this._apiUrl}/v1/admin/auth/login-sso`,{method:"POST",body:JSON.stringify({token:s,refreshToken:_}),headers:{"Content-Type":"application/json"}})).json();if(!j.authentication)throw new Error("Failed to login with SSO");return await this.loginWithToken(j.authentication.accessToken,j.authentication.refreshToken)}}const Authentication=new AuthenticationStore({apiUrl:FORMANT_API_URL,refreshAuthToken,addAccessTokenRefreshListener});async function getModuleConfiguration(o){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/module-configurations/${o}`,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).configuration}function disableAnalyticsBottomBar(){sendAppMessage({type:"hide_analytics_date_picker"})}function goToDevice(o){sendAppMessage({type:"go_to_device",deviceId:o})}function goToTime(o){sendAppMessage({type:"go_to_time",time:o.getTime()})}function requestModuleData(){const o=getCurrentModuleContext();if(!o)throw new Error("No module context");sendAppMessage({type:"request_module_data",module:o})}function sendChannelData(o,s){const _=getCurrentModuleContext();if(!_)throw new Error("No module context");sendAppMessage({type:"send_channel_data",source:_,channel:o,data:s})}function setModuleDateTimeRange(o,s){const _=getCurrentModuleContext();if(!_)throw new Error("No module context");sendAppMessage({type:"set_module_data_time_range",module:_,before:o,after:s||0})}function setupModuleMenus(o){const s=getCurrentModuleContext();if(!s)throw new Error("No module context");sendAppMessage({type:"setup_module_menus",module:s,menus:o})}function showMessage(o){sendAppMessage({type:"show_message",message:o})}function addChannelDataListener(o,s){const _=j=>{const $=j.data;$.type==="channel_data"&&$.channel===o&&s({source:$.source,data:$.data})};return window.addEventListener("message",_),()=>window.removeEventListener("message",_)}function addMenuListener(o){const s=_=>{const j=_.data;j.type==="module_menu_item_clicked"&&o(j.menu)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function addModuleConfigurationListener(o){const s=_=>{const j=_.data;j.type==="module_configuration"&&o(j)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function addModuleDataListener(o){const s=getCurrentModuleContext();s&&sendAppMessage({type:"request_module_data",module:s});const _=j=>{const $=j.data;$.type==="module_data"&&o({streams:$.streams,time:$.time,queryRange:$.queryRange})};return window.addEventListener("message",_),()=>window.removeEventListener("message",_)}function addOverviewDeviceListener(o){sendAppMessage({type:"request_devices"});const s=_=>{const j=_.data;j.type==="overview_devices"&&o(j.data)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function _typeof$1(o){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},_typeof$1(o)}function toInteger(o){if(o===null||o===!0||o===!1)return NaN;var s=Number(o);return isNaN(s)?s:s<0?Math.ceil(s):Math.floor(s)}function requiredArgs(o,s){if(s.length1?"s":"")+" required, but only "+s.length+" present")}function toDate(o){requiredArgs(1,arguments);var s=Object.prototype.toString.call(o);return o instanceof Date||_typeof$1(o)==="object"&&s==="[object Date]"?new Date(o.getTime()):typeof o=="number"||s==="[object Number]"?new Date(o):((typeof o=="string"||s==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function addDays(o,s){requiredArgs(2,arguments);var _=toDate(o),j=toInteger(s);return isNaN(j)?new Date(NaN):(j&&_.setDate(_.getDate()+j),_)}function addMonths(o,s){requiredArgs(2,arguments);var _=toDate(o),j=toInteger(s);if(isNaN(j))return new Date(NaN);if(!j)return _;var $=_.getDate(),et=new Date(_.getTime());et.setMonth(_.getMonth()+j+1,0);var tt=et.getDate();return $>=tt?et:(_.setFullYear(et.getFullYear(),et.getMonth(),$),_)}function addMilliseconds(o,s){requiredArgs(2,arguments);var _=toDate(o).getTime(),j=toInteger(s);return new Date(_+j)}var MILLISECONDS_IN_HOUR=36e5;function addHours(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMilliseconds(o,_*MILLISECONDS_IN_HOUR)}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(o,s){var _,j,$,et,tt,nt,rt,it;requiredArgs(1,arguments);var st=getDefaultOptions(),Ut=toInteger((_=(j=($=(et=s==null?void 0:s.weekStartsOn)!==null&&et!==void 0?et:s==null||(tt=s.locale)===null||tt===void 0||(nt=tt.options)===null||nt===void 0?void 0:nt.weekStartsOn)!==null&&$!==void 0?$:st.weekStartsOn)!==null&&j!==void 0?j:(rt=st.locale)===null||rt===void 0||(it=rt.options)===null||it===void 0?void 0:it.weekStartsOn)!==null&&_!==void 0?_:0);if(!(Ut>=0&&Ut<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var ct=toDate(o),Ft=ct.getDay(),ut=(Ft=tt)throw new RangeError("Invalid interval");var nt=[],rt=j,it=Number((_=s==null?void 0:s.step)!==null&&_!==void 0?_:1);if(it<1||isNaN(it))throw new RangeError("`options.step` must be a number equal to or greater than 1");for(;rt.getTime()<=tt;)nt.push(toDate(rt)),rt=addMinutes(rt,it);return nt}function eachMonthOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime(),et=[];if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var tt=_;for(tt.setHours(0,0,0,0),tt.setDate(1);tt.getTime()<=$;)et.push(toDate(tt)),tt.setMonth(tt.getMonth()+1);return et}function startOfQuarter(o){requiredArgs(1,arguments);var s=toDate(o),_=s.getMonth(),j=_-_%3;return s.setMonth(j,1),s.setHours(0,0,0,0),s}function eachQuarterOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime();if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var et=startOfQuarter(_),tt=startOfQuarter(j);$=tt.getTime();for(var nt=[],rt=et;rt.getTime()<=$;)nt.push(toDate(rt)),rt=addQuarters(rt,1);return nt}function eachWeekOfInterval(o,s){requiredArgs(1,arguments);var _=o||{},j=toDate(_.start),$=toDate(_.end),et=$.getTime();if(!(j.getTime()<=et))throw new RangeError("Invalid interval");var tt=startOfWeek(j,s),nt=startOfWeek($,s);tt.setHours(15),nt.setHours(15),et=nt.getTime();for(var rt=[],it=tt;it.getTime()<=et;)it.setHours(0),rt.push(toDate(it)),it=addWeeks(it,1),it.setHours(15);return rt}function startOfMonth(o){requiredArgs(1,arguments);var s=toDate(o);return s.setDate(1),s.setHours(0,0,0,0),s}function endOfYear(o){requiredArgs(1,arguments);var s=toDate(o),_=s.getFullYear();return s.setFullYear(_+1,0,0),s.setHours(23,59,59,999),s}function startOfYear(o){requiredArgs(1,arguments);var s=toDate(o),_=new Date(0);return _.setFullYear(s.getFullYear(),0,1),_.setHours(0,0,0,0),_}function eachYearOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime();if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var et=[],tt=_;for(tt.setHours(0,0,0,0),tt.setMonth(0,1);tt.getTime()<=$;)et.push(toDate(tt)),tt.setFullYear(tt.getFullYear()+1);return et}function endOfHour(o){requiredArgs(1,arguments);var s=toDate(o);return s.setMinutes(59,59,999),s}function endOfWeek(o,s){var _,j,$,et,tt,nt,rt,it;requiredArgs(1,arguments);var st=getDefaultOptions(),Ut=toInteger((_=(j=($=(et=s==null?void 0:s.weekStartsOn)!==null&&et!==void 0?et:s==null||(tt=s.locale)===null||tt===void 0||(nt=tt.options)===null||nt===void 0?void 0:nt.weekStartsOn)!==null&&$!==void 0?$:st.weekStartsOn)!==null&&j!==void 0?j:(rt=st.locale)===null||rt===void 0||(it=rt.options)===null||it===void 0?void 0:it.weekStartsOn)!==null&&_!==void 0?_:0);if(!(Ut>=0&&Ut<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var ct=toDate(o),Ft=ct.getDay(),ut=(Ft=1&&Ft<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var ut=new Date(0);ut.setFullYear(Ut+1,0,Ft),ut.setHours(0,0,0,0);var Qt=startOfWeek(ut,s),pt=new Date(0);pt.setFullYear(Ut,0,Ft),pt.setHours(0,0,0,0);var ft=startOfWeek(pt,s);return st.getTime()>=Qt.getTime()?Ut+1:st.getTime()>=ft.getTime()?Ut:Ut-1}function startOfWeekYear(o,s){var _,j,$,et,tt,nt,rt,it;requiredArgs(1,arguments);var st=getDefaultOptions(),Ut=toInteger((_=(j=($=(et=s==null?void 0:s.firstWeekContainsDate)!==null&&et!==void 0?et:s==null||(tt=s.locale)===null||tt===void 0||(nt=tt.options)===null||nt===void 0?void 0:nt.firstWeekContainsDate)!==null&&$!==void 0?$:st.firstWeekContainsDate)!==null&&j!==void 0?j:(rt=st.locale)===null||rt===void 0||(it=rt.options)===null||it===void 0?void 0:it.firstWeekContainsDate)!==null&&_!==void 0?_:1),ct=getWeekYear(o,s),Ft=new Date(0);Ft.setFullYear(ct,0,Ut),Ft.setHours(0,0,0,0);var ut=startOfWeek(Ft,s);return ut}var MILLISECONDS_IN_WEEK=6048e5;function getWeek(o,s){requiredArgs(1,arguments);var _=toDate(o),j=startOfWeek(_,s).getTime()-startOfWeekYear(_,s).getTime();return Math.round(j/MILLISECONDS_IN_WEEK)+1}function getYear(o){return requiredArgs(1,arguments),toDate(o).getFullYear()}function startOfHour(o){requiredArgs(1,arguments);var s=toDate(o);return s.setMinutes(0,0,0),s}function subDays(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addDays(o,-_)}function roundToNearestMinutes(o,s){var _;if(arguments.length<1)throw new TypeError("1 argument required, but only none provided present");var j=toInteger((_=s==null?void 0:s.nearestTo)!==null&&_!==void 0?_:1);if(j<1||j>30)throw new RangeError("`options.nearestTo` must be between 1 and 30");var $=toDate(o),et=$.getSeconds(),tt=$.getMinutes()+et/60,nt=getRoundingMethod(s==null?void 0:s.roundingMethod),rt=nt(tt/j)*j,it=tt%j,st=Math.round(it/j)*j;return new Date($.getFullYear(),$.getMonth(),$.getDate(),$.getHours(),rt+st)}function subMonths(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMonths(o,-_)}function subHours(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addHours(o,-_)}function subMinutes(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMinutes(o,-_)}function subQuarters(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addQuarters(o,-_)}function subWeeks(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addWeeks(o,-_)}function subYears(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addYears(o,-_)}const millisecond$2=1,second$2=1e3,minute$2=60*second$2,hour$2=60*minute$2,day$2=24*hour$2,week$2=7*day$2,month$2=30*day$2,year$2=365*day$2,duration$2={millisecond:millisecond$2,second:second$2,minute:minute$2,hour:hour$2,day:day$2,week:week$2,month:month$2,year:year$2};function filterDataByType$1(o,s){return o.filter(_=>s.includes(_.type))}function filterDataByTime$1(o,s,_){const j=s.getTime(),$=_.getTime();return o.map(et=>({...et,points:et.points.filter(([tt])=>tt>=j&&tt<$)})).filter(({points:et})=>et.length>0)}let StoreCache$1=class{constructor({capacity:o,timeout:s}={}){_e(this,"entries",new Map),_e(this,"metadata",new Map),_e(this,"capacity"),_e(this,"staleIntervalMs"),this.capacity=o||1e4,this.staleIntervalMs=s||duration$2.minute}get(o,s){const _=this.keyToCacheKey(o);return this.isStale(_)&&!this.isGenerating(_)&&s&&this.generate(o,s),this.entries.get(_)}set(o,s){const _=this.keyToCacheKey(o);this.metadata.set(_,{generating:!1,staleAt:performance.now()+this.staleIntervalMs});const j=this.entries.get(_);JSON.stringify(j)===JSON.stringify(s)||(this.entries.set(_,s),this.enforceMaxSize())}clear(){this.entries.clear(),[...this.metadata.values()].forEach(o=>o.generating=!1)}clearKey(o){this.metadata.delete(o),this.entries.delete(o)}keyToCacheKey(o){return JSON.stringify(o)}enforceMaxSize(){for(;this.metadata.size>this.capacity&&this.metadata.size>0;){const[o]=[...this.metadata.entries()].reduce(([s,_],[j,$])=>$.staleAt<_.staleAt?[j,$]:[s,_]);this.clearKey(o)}}isStale(o){const s=this.metadata.get(o);return s?(s==null?void 0:s.staleAt){const tt=this.metadata.get(_);return(tt==null?void 0:tt.generating)!==$||this.set(o,et),et}).catch(et=>{throw this.metadata.delete(_),et});this.metadata.set(_,{...j,generating:$,staleAt:performance.now()+this.staleIntervalMs})}};async function queryTelemetry(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}let QueryStore$1=class{constructor(){_e(this,"queryStoreCache",new StoreCache$1({capacity:1e4,timeout:20*duration$2.second})),_e(this,"liveQueryStoreCache",new StoreCache$1({capacity:1e4,timeout:200*duration$2.millisecond}))}moduleQuery(o,s,_,j,$,et=!1){const tt={...o,names:[...s],types:[..._]},nt=this.query(tt,j,$,et);return nt===void 0||nt==="too much data"?nt:filterDataByType$1(nt,_)}query(o,s,_,j=!1){const $={...o,start:startOfMinute(s).toISOString(),end:j?_.toISOString():addMinutes(roundToNearestMinutes(_),1).toISOString(),latestOnly:j},et=_>addSeconds(new Date,-20);let tt;return et?tt=this.liveQueryCache($):tt=this.queryCache($),!tt||tt==="too much data"||j?tt:filterDataByTime$1(tt,s,_)}queryCache(o){return this.queryStoreCache.get(o,async()=>{try{return await queryTelemetry(o)}catch(s){throw s}})}liveQueryCache(o){return this.liveQueryStoreCache.get(o,async()=>{try{return await queryTelemetry(o)}catch(s){throw s}})}};const queryStore=new QueryStore$1;function addStreamListener(o,s,_){const j=$=>{const et=$.data;if(et.type==="module_data"){const{start:tt,end:nt}=et.queryRange;_(queryStore.moduleQuery({},o,s,new Date(tt),new Date(nt),!1))}};return window.addEventListener("message",j),()=>window.removeEventListener("message",j)}async function getDate(o,s,_){return new Promise(j=>{sendAppMessage({type:"request_date",minTime:s,maxTime:_,time:o});const $=et=>{const tt=et.data;tt.type==="date_response"&&(window.removeEventListener("message",$),j(tt.data))};window.addEventListener("message",$)})}async function prompt(o,s){return new Promise(_=>{const j=Math.random().toString();sendAppMessage({type:"prompt",promptId:j,schema:o,okText:s==null?void 0:s.okText,cancelText:s==null?void 0:s.cancelText});const $=et=>{const tt=et.data;tt.type==="prompt_response"&&tt.promptId===j&&_(tt.data),window.removeEventListener("message",$)};window.addEventListener("message",$)})}const gt=class jp{static isModule(){return getCurrentModuleContext()!==null}static async getCurrentModuleConfiguration(){let s=new URLSearchParams("");typeof window<"u"&&window.location&&(s=new URLSearchParams(window.location.search));const _=s.get("configuration");if(!(_===null||_.trim()===""))return getModuleConfiguration(_.trim())}static get isOnline(){return jp._isOnline}static listenForConnectionEvents(){const s=_=>{const{data:j}=_;j.type==="formant_online"&&(this._isOnline=j.online)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}static checkConnection(s=1e3){return new Promise((_,j)=>{const $=setTimeout(()=>j(new Error("deadline expired: took too long")),s),et=tt=>{window.removeEventListener("message",et),clearTimeout($);const{data:nt}=tt;nt.type==="formant_online"&&(this._isOnline=nt.online,_(nt.online))};window.addEventListener("message",et),sendAppMessage({type:"formant_online"})})}static waitForConnection(s=5e3){let _=!1;const j=new Promise((tt,nt)=>{setTimeout(()=>{_=!0,nt(new Error("deadline expired: took too long"))},s)}),$=tt=>new Promise(nt=>setTimeout(nt,tt)),et=async()=>{for(await $(50);!_&&!(this.isOnline||await this.checkConnection);)await $(500)};return Promise.race([j,et()])}};_e(gt,"getCurrentModuleContext",getCurrentModuleContext),_e(gt,"disableAnalyticsBottomBar",disableAnalyticsBottomBar),_e(gt,"goToDevice",goToDevice),_e(gt,"goToTime",goToTime),_e(gt,"refreshAuthToken",refreshAuthToken),_e(gt,"requestModuleData",requestModuleData),_e(gt,"sendChannelData",sendChannelData),_e(gt,"setModuleDateTimeRange",setModuleDateTimeRange),_e(gt,"setupModuleMenus",setupModuleMenus),_e(gt,"showMessage",showMessage),_e(gt,"addAccessTokenRefreshListener",addAccessTokenRefreshListener),_e(gt,"addChannelDataListener",addChannelDataListener),_e(gt,"addMenuListener",addMenuListener),_e(gt,"addModuleConfigurationListener",addModuleConfigurationListener),_e(gt,"addModuleDataListener",addModuleDataListener),_e(gt,"addOverviewDeviceListener",addOverviewDeviceListener),_e(gt,"addStreamListener",addStreamListener),_e(gt,"getDate",getDate),_e(gt,"prompt",prompt),_e(gt,"_isOnline",null);let App$2=gt;class CaptureStream{constructor(s){_e(this,"token"),this.captureSession=s}async ingestJSON(s){if(!this.token){const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/capture-sessions/${this.captureSession.code}/authenticate`,{method:"POST"})).json();this.token=_.token}await fetch(`${FORMANT_API_URL}/v1/ingest`,{method:"POST",body:JSON.stringify({deviceId:this.captureSession.deviceId,name:this.captureSession.streamName,type:"json",points:[[Date.now(),JSON.stringify(s)]]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+this.token}})}}class DataChannel{constructor(s){_e(this,"ready",!1),_e(this,"listeners",[]),_e(this,"openListeners",[]),_e(this,"closeListeners",[]),_e(this,"errorListeners",[]),_e(this,"binaryListeners",[]),_e(this,"error"),_e(this,"decoder",new TextDecoder),this.dataChannel=s,this.dataChannel.binaryType="arraybuffer",this.dataChannel.onopen=()=>{this.setReady()},this.dataChannel.onclose=()=>{this.ready=!1,this.closeListeners.forEach(_=>_())},this.dataChannel.onerror=_=>{console.error(_),this.error="An error occurred in DataChannel",this.errorListeners.forEach(j=>j(_))},this.dataChannel.onmessage=_=>{this.listeners.forEach(j=>{const $=new Uint8Array(_.data),et=this.decoder.decode($);j(et)}),this.binaryListeners.forEach(j=>{j(new Uint8Array(_.data))})}}setReady(){this.ready=!0,this.openListeners.forEach(s=>s())}addOpenListener(s){this.openListeners.push(s)}removeOpenListener(s){this.openListeners=this.openListeners.filter(_=>_!==s)}addCloseListener(s){this.closeListeners.push(s)}removeCloseListener(s){this.closeListeners=this.closeListeners.filter(_=>_!==s)}addErrorListener(s){this.errorListeners.push(s)}removeErrorListener(s){this.errorListeners=this.errorListeners.filter(_=>_!==s)}async waitTilReady(){return this.ready?!0:new Promise((s,_)=>{let j=setInterval(()=>{this.dataChannel.readyState==="open"&&this.setReady(),this.ready&&(clearInterval(j),s(!0)),this.error&&_(this.error)},10)})}send(s){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(s)}sendBinary(s){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(s)}addListener(s){this.listeners.push(s)}removeListener(s){const _=this.listeners.indexOf(s);if(_===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.listeners.splice(_,1)}addBinaryListener(s){this.binaryListeners.push(s)}removeBinaryListener(s){const _=this.binaryListeners.indexOf(s);if(_===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.binaryListeners.splice(_,1)}}function defined$1(o,s){if(o!==void 0)return o;throw new Error(s||"Value is undefined")}function delay$1(o){return new Promise(s=>setTimeout(s,o))}async function createDevice(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const Z_FIXED$1=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN$1=2;function zero$1(o){let s=o.length;for(;--s>=0;)o[s]=0}const STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH$1=3,MAX_MATCH$1=258,LENGTH_CODES$1=29,LITERALS$1=256,L_CODES$1=LITERALS$1+1+LENGTH_CODES$1,D_CODES$1=30,BL_CODES$1=19,HEAP_SIZE$1=2*L_CODES$1+1,MAX_BITS$1=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),DIST_CODE_LEN=512,static_ltree=new Array((L_CODES$1+2)*2);zero$1(static_ltree);const static_dtree=new Array(D_CODES$1*2);zero$1(static_dtree);const _dist_code=new Array(DIST_CODE_LEN);zero$1(_dist_code);const _length_code=new Array(MAX_MATCH$1-MIN_MATCH$1+1);zero$1(_length_code);const base_length=new Array(LENGTH_CODES$1);zero$1(base_length);const base_dist=new Array(D_CODES$1);zero$1(base_dist);function StaticTreeDesc(o,s,_,j,$){this.static_tree=o,this.extra_bits=s,this.extra_base=_,this.elems=j,this.max_length=$,this.has_stree=o&&o.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(o,s){this.dyn_tree=o,this.max_code=0,this.stat_desc=s}const d_code=o=>o<256?_dist_code[o]:_dist_code[256+(o>>>7)],put_short=(o,s)=>{o.pending_buf[o.pending++]=s&255,o.pending_buf[o.pending++]=s>>>8&255},send_bits=(o,s,_)=>{o.bi_valid>Buf_size-_?(o.bi_buf|=s<>Buf_size-o.bi_valid,o.bi_valid+=_-Buf_size):(o.bi_buf|=s<{send_bits(o,_[s*2],_[s*2+1])},bi_reverse=(o,s)=>{let _=0;do _|=o&1,o>>>=1,_<<=1;while(--s>0);return _>>>1},bi_flush=o=>{o.bi_valid===16?(put_short(o,o.bi_buf),o.bi_buf=0,o.bi_valid=0):o.bi_valid>=8&&(o.pending_buf[o.pending++]=o.bi_buf&255,o.bi_buf>>=8,o.bi_valid-=8)},gen_bitlen=(o,s)=>{const _=s.dyn_tree,j=s.max_code,$=s.stat_desc.static_tree,et=s.stat_desc.has_stree,tt=s.stat_desc.extra_bits,nt=s.stat_desc.extra_base,rt=s.stat_desc.max_length;let it,st,Ut,ct,Ft,ut,Qt=0;for(ct=0;ct<=MAX_BITS$1;ct++)o.bl_count[ct]=0;for(_[o.heap[o.heap_max]*2+1]=0,it=o.heap_max+1;itrt&&(ct=rt,Qt++),_[st*2+1]=ct,!(st>j)&&(o.bl_count[ct]++,Ft=0,st>=nt&&(Ft=tt[st-nt]),ut=_[st*2],o.opt_len+=ut*(ct+Ft),et&&(o.static_len+=ut*($[st*2+1]+Ft)));if(Qt!==0){do{for(ct=rt-1;o.bl_count[ct]===0;)ct--;o.bl_count[ct]--,o.bl_count[ct+1]+=2,o.bl_count[rt]--,Qt-=2}while(Qt>0);for(ct=rt;ct!==0;ct--)for(st=o.bl_count[ct];st!==0;)Ut=o.heap[--it],!(Ut>j)&&(_[Ut*2+1]!==ct&&(o.opt_len+=(ct-_[Ut*2+1])*_[Ut*2],_[Ut*2+1]=ct),st--)}},gen_codes=(o,s,_)=>{const j=new Array(MAX_BITS$1+1);let $=0,et,tt;for(et=1;et<=MAX_BITS$1;et++)$=$+_[et-1]<<1,j[et]=$;for(tt=0;tt<=s;tt++){let nt=o[tt*2+1];nt!==0&&(o[tt*2]=bi_reverse(j[nt]++,nt))}},tr_static_init=()=>{let o,s,_,j,$;const et=new Array(MAX_BITS$1+1);for(_=0,j=0;j>=7;j{let s;for(s=0;s{o.bi_valid>8?put_short(o,o.bi_buf):o.bi_valid>0&&(o.pending_buf[o.pending++]=o.bi_buf),o.bi_buf=0,o.bi_valid=0},smaller=(o,s,_,j)=>{const $=s*2,et=_*2;return o[$]{const j=o.heap[_];let $=_<<1;for(;$<=o.heap_len&&(${let j,$,et=0,tt,nt;if(o.sym_next!==0)do j=o.pending_buf[o.sym_buf+et++]&255,j+=(o.pending_buf[o.sym_buf+et++]&255)<<8,$=o.pending_buf[o.sym_buf+et++],j===0?send_code(o,$,s):(tt=_length_code[$],send_code(o,tt+LITERALS$1+1,s),nt=extra_lbits[tt],nt!==0&&($-=base_length[tt],send_bits(o,$,nt)),j--,tt=d_code(j),send_code(o,tt,_),nt=extra_dbits[tt],nt!==0&&(j-=base_dist[tt],send_bits(o,j,nt)));while(et{const _=s.dyn_tree,j=s.stat_desc.static_tree,$=s.stat_desc.has_stree,et=s.stat_desc.elems;let tt,nt,rt=-1,it;for(o.heap_len=0,o.heap_max=HEAP_SIZE$1,tt=0;tt>1;tt>=1;tt--)pqdownheap(o,_,tt);it=et;do tt=o.heap[1],o.heap[1]=o.heap[o.heap_len--],pqdownheap(o,_,1),nt=o.heap[1],o.heap[--o.heap_max]=tt,o.heap[--o.heap_max]=nt,_[it*2]=_[tt*2]+_[nt*2],o.depth[it]=(o.depth[tt]>=o.depth[nt]?o.depth[tt]:o.depth[nt])+1,_[tt*2+1]=_[nt*2+1]=it,o.heap[1]=it++,pqdownheap(o,_,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],gen_bitlen(o,s),gen_codes(_,rt,o.bl_count)},scan_tree=(o,s,_)=>{let j,$=-1,et,tt=s[0*2+1],nt=0,rt=7,it=4;for(tt===0&&(rt=138,it=3),s[(_+1)*2+1]=65535,j=0;j<=_;j++)et=tt,tt=s[(j+1)*2+1],!(++nt{let j,$=-1,et,tt=s[0*2+1],nt=0,rt=7,it=4;for(tt===0&&(rt=138,it=3),j=0;j<=_;j++)if(et=tt,tt=s[(j+1)*2+1],!(++nt{let s;for(scan_tree(o,o.dyn_ltree,o.l_desc.max_code),scan_tree(o,o.dyn_dtree,o.d_desc.max_code),build_tree(o,o.bl_desc),s=BL_CODES$1-1;s>=3&&o.bl_tree[bl_order[s]*2+1]===0;s--);return o.opt_len+=3*(s+1)+5+5+4,s},send_all_trees=(o,s,_,j)=>{let $;for(send_bits(o,s-257,5),send_bits(o,_-1,5),send_bits(o,j-4,4),$=0;${let s=4093624447,_;for(_=0;_<=31;_++,s>>>=1)if(s&1&&o.dyn_ltree[_*2]!==0)return Z_BINARY;if(o.dyn_ltree[9*2]!==0||o.dyn_ltree[10*2]!==0||o.dyn_ltree[13*2]!==0)return Z_TEXT;for(_=32;_{static_init_done||(tr_static_init(),static_init_done=!0),o.l_desc=new TreeDesc(o.dyn_ltree,static_l_desc),o.d_desc=new TreeDesc(o.dyn_dtree,static_d_desc),o.bl_desc=new TreeDesc(o.bl_tree,static_bl_desc),o.bi_buf=0,o.bi_valid=0,init_block(o)},_tr_stored_block$1=(o,s,_,j)=>{send_bits(o,(STORED_BLOCK<<1)+(j?1:0),3),bi_windup(o),put_short(o,_),put_short(o,~_),_&&o.pending_buf.set(o.window.subarray(s,s+_),o.pending),o.pending+=_},_tr_align$1=o=>{send_bits(o,STATIC_TREES<<1,3),send_code(o,END_BLOCK,static_ltree),bi_flush(o)},_tr_flush_block$1=(o,s,_,j)=>{let $,et,tt=0;o.level>0?(o.strm.data_type===Z_UNKNOWN$1&&(o.strm.data_type=detect_data_type(o)),build_tree(o,o.l_desc),build_tree(o,o.d_desc),tt=build_bl_tree(o),$=o.opt_len+3+7>>>3,et=o.static_len+3+7>>>3,et<=$&&($=et)):$=et=_+5,_+4<=$&&s!==-1?_tr_stored_block$1(o,s,_,j):o.strategy===Z_FIXED$1||et===$?(send_bits(o,(STATIC_TREES<<1)+(j?1:0),3),compress_block(o,static_ltree,static_dtree)):(send_bits(o,(DYN_TREES<<1)+(j?1:0),3),send_all_trees(o,o.l_desc.max_code+1,o.d_desc.max_code+1,tt+1),compress_block(o,o.dyn_ltree,o.dyn_dtree)),init_block(o),j&&bi_windup(o)},_tr_tally$1=(o,s,_)=>(o.pending_buf[o.sym_buf+o.sym_next++]=s,o.pending_buf[o.sym_buf+o.sym_next++]=s>>8,o.pending_buf[o.sym_buf+o.sym_next++]=_,s===0?o.dyn_ltree[_*2]++:(o.matches++,s--,o.dyn_ltree[(_length_code[_]+LITERALS$1+1)*2]++,o.dyn_dtree[d_code(s)*2]++),o.sym_next===o.sym_end);var _tr_init_1=_tr_init$1,_tr_stored_block_1=_tr_stored_block$1,_tr_flush_block_1=_tr_flush_block$1,_tr_tally_1=_tr_tally$1,_tr_align_1=_tr_align$1,trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block_1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:_tr_align_1};const adler32=(o,s,_,j)=>{let $=o&65535|0,et=o>>>16&65535|0,tt=0;for(;_!==0;){tt=_>2e3?2e3:_,_-=tt;do $=$+s[j++]|0,et=et+$|0;while(--tt);$%=65521,et%=65521}return $|et<<16|0};var adler32_1=adler32;const makeTable=()=>{let o,s=[];for(var _=0;_<256;_++){o=_;for(var j=0;j<8;j++)o=o&1?3988292384^o>>>1:o>>>1;s[_]=o}return s},crcTable=new Uint32Array(makeTable()),crc32=(o,s,_,j)=>{const $=crcTable,et=j+_;o^=-1;for(let tt=j;tt>>8^$[(o^s[tt])&255];return o^-1};var crc32_1=crc32,messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init,_tr_stored_block,_tr_flush_block,_tr_tally,_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED,Z_HUFFMAN_ONLY,Z_RLE,Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,MAX_MEM_LEVEL=9,MAX_WBITS$1=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,GZIP_STATE=57,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3,err=(o,s)=>(o.msg=messages[s],s),rank=o=>o*2-(o>4?9:0),zero=o=>{let s=o.length;for(;--s>=0;)o[s]=0},slide_hash=o=>{let s,_,j,$=o.w_size;s=o.hash_size,j=s;do _=o.head[--j],o.head[j]=_>=$?_-$:0;while(--s);s=$,j=s;do _=o.prev[--j],o.prev[j]=_>=$?_-$:0;while(--s)};let HASH_ZLIB=(o,s,_)=>(s<{const s=o.state;let _=s.pending;_>o.avail_out&&(_=o.avail_out),_!==0&&(o.output.set(s.pending_buf.subarray(s.pending_out,s.pending_out+_),o.next_out),o.next_out+=_,s.pending_out+=_,o.total_out+=_,o.avail_out-=_,s.pending-=_,s.pending===0&&(s.pending_out=0))},flush_block_only=(o,s)=>{_tr_flush_block(o,o.block_start>=0?o.block_start:-1,o.strstart-o.block_start,s),o.block_start=o.strstart,flush_pending(o.strm)},put_byte=(o,s)=>{o.pending_buf[o.pending++]=s},putShortMSB=(o,s)=>{o.pending_buf[o.pending++]=s>>>8&255,o.pending_buf[o.pending++]=s&255},read_buf=(o,s,_,j)=>{let $=o.avail_in;return $>j&&($=j),$===0?0:(o.avail_in-=$,s.set(o.input.subarray(o.next_in,o.next_in+$),_),o.state.wrap===1?o.adler=adler32_1(o.adler,s,$,_):o.state.wrap===2&&(o.adler=crc32_1(o.adler,s,$,_)),o.next_in+=$,o.total_in+=$,$)},longest_match=(o,s)=>{let _=o.max_chain_length,j=o.strstart,$,et,tt=o.prev_length,nt=o.nice_match;const rt=o.strstart>o.w_size-MIN_LOOKAHEAD?o.strstart-(o.w_size-MIN_LOOKAHEAD):0,it=o.window,st=o.w_mask,Ut=o.prev,ct=o.strstart+MAX_MATCH;let Ft=it[j+tt-1],ut=it[j+tt];o.prev_length>=o.good_match&&(_>>=2),nt>o.lookahead&&(nt=o.lookahead);do if($=s,!(it[$+tt]!==ut||it[$+tt-1]!==Ft||it[$]!==it[j]||it[++$]!==it[j+1])){j+=2,$++;do;while(it[++j]===it[++$]&&it[++j]===it[++$]&&it[++j]===it[++$]&&it[++j]===it[++$]&&it[++j]===it[++$]&&it[++j]===it[++$]&&it[++j]===it[++$]&&it[++j]===it[++$]&&jtt){if(o.match_start=s,tt=et,et>=nt)break;Ft=it[j+tt-1],ut=it[j+tt]}}while((s=Ut[s&st])>rt&&--_!==0);return tt<=o.lookahead?tt:o.lookahead},fill_window=o=>{const s=o.w_size;let _,j,$;do{if(j=o.window_size-o.lookahead-o.strstart,o.strstart>=s+(s-MIN_LOOKAHEAD)&&(o.window.set(o.window.subarray(s,s+s-j),0),o.match_start-=s,o.strstart-=s,o.block_start-=s,o.insert>o.strstart&&(o.insert=o.strstart),slide_hash(o),j+=s),o.strm.avail_in===0)break;if(_=read_buf(o.strm,o.window,o.strstart+o.lookahead,j),o.lookahead+=_,o.lookahead+o.insert>=MIN_MATCH)for($=o.strstart-o.insert,o.ins_h=o.window[$],o.ins_h=HASH(o,o.ins_h,o.window[$+1]);o.insert&&(o.ins_h=HASH(o,o.ins_h,o.window[$+MIN_MATCH-1]),o.prev[$&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=$,$++,o.insert--,!(o.lookahead+o.insert{let _=o.pending_buf_size-5>o.w_size?o.w_size:o.pending_buf_size-5,j,$,et,tt=0,nt=o.strm.avail_in;do{if(j=65535,et=o.bi_valid+42>>3,o.strm.avail_out$+o.strm.avail_in&&(j=$+o.strm.avail_in),j>et&&(j=et),j<_&&(j===0&&s!==Z_FINISH$3||s===Z_NO_FLUSH$2||j!==$+o.strm.avail_in)))break;tt=s===Z_FINISH$3&&j===$+o.strm.avail_in?1:0,_tr_stored_block(o,0,0,tt),o.pending_buf[o.pending-4]=j,o.pending_buf[o.pending-3]=j>>8,o.pending_buf[o.pending-2]=~j,o.pending_buf[o.pending-1]=~j>>8,flush_pending(o.strm),$&&($>j&&($=j),o.strm.output.set(o.window.subarray(o.block_start,o.block_start+$),o.strm.next_out),o.strm.next_out+=$,o.strm.avail_out-=$,o.strm.total_out+=$,o.block_start+=$,j-=$),j&&(read_buf(o.strm,o.strm.output,o.strm.next_out,j),o.strm.next_out+=j,o.strm.avail_out-=j,o.strm.total_out+=j)}while(tt===0);return nt-=o.strm.avail_in,nt&&(nt>=o.w_size?(o.matches=2,o.window.set(o.strm.input.subarray(o.strm.next_in-o.w_size,o.strm.next_in),0),o.strstart=o.w_size,o.insert=o.strstart):(o.window_size-o.strstart<=nt&&(o.strstart-=o.w_size,o.window.set(o.window.subarray(o.w_size,o.w_size+o.strstart),0),o.matches<2&&o.matches++,o.insert>o.strstart&&(o.insert=o.strstart)),o.window.set(o.strm.input.subarray(o.strm.next_in-nt,o.strm.next_in),o.strstart),o.strstart+=nt,o.insert+=nt>o.w_size-o.insert?o.w_size-o.insert:nt),o.block_start=o.strstart),o.high_wateret&&o.block_start>=o.w_size&&(o.block_start-=o.w_size,o.strstart-=o.w_size,o.window.set(o.window.subarray(o.w_size,o.w_size+o.strstart),0),o.matches<2&&o.matches++,et+=o.w_size,o.insert>o.strstart&&(o.insert=o.strstart)),et>o.strm.avail_in&&(et=o.strm.avail_in),et&&(read_buf(o.strm,o.window,o.strstart,et),o.strstart+=et,o.insert+=et>o.w_size-o.insert?o.w_size-o.insert:et),o.high_water>3,et=o.pending_buf_size-et>65535?65535:o.pending_buf_size-et,_=et>o.w_size?o.w_size:et,$=o.strstart-o.block_start,($>=_||($||s===Z_FINISH$3)&&s!==Z_NO_FLUSH$2&&o.strm.avail_in===0&&$<=et)&&(j=$>et?et:$,tt=s===Z_FINISH$3&&o.strm.avail_in===0&&j===$?1:0,_tr_stored_block(o,o.block_start,j,tt),o.block_start+=j,flush_pending(o.strm)),tt?BS_FINISH_STARTED:BS_NEED_MORE)},deflate_fast=(o,s)=>{let _,j;for(;;){if(o.lookahead=MIN_MATCH&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart),_!==0&&o.strstart-_<=o.w_size-MIN_LOOKAHEAD&&(o.match_length=longest_match(o,_)),o.match_length>=MIN_MATCH)if(j=_tr_tally(o,o.strstart-o.match_start,o.match_length-MIN_MATCH),o.lookahead-=o.match_length,o.match_length<=o.max_lazy_match&&o.lookahead>=MIN_MATCH){o.match_length--;do o.strstart++,o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart;while(--o.match_length!==0);o.strstart++}else o.strstart+=o.match_length,o.match_length=0,o.ins_h=o.window[o.strstart],o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+1]);else j=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++;if(j&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=o.strstart{let _,j,$;for(;;){if(o.lookahead=MIN_MATCH&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart),o.prev_length=o.match_length,o.prev_match=o.match_start,o.match_length=MIN_MATCH-1,_!==0&&o.prev_length4096)&&(o.match_length=MIN_MATCH-1)),o.prev_length>=MIN_MATCH&&o.match_length<=o.prev_length){$=o.strstart+o.lookahead-MIN_MATCH,j=_tr_tally(o,o.strstart-1-o.prev_match,o.prev_length-MIN_MATCH),o.lookahead-=o.prev_length-1,o.prev_length-=2;do++o.strstart<=$&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart);while(--o.prev_length!==0);if(o.match_available=0,o.match_length=MIN_MATCH-1,o.strstart++,j&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}else if(o.match_available){if(j=_tr_tally(o,0,o.window[o.strstart-1]),j&&flush_block_only(o,!1),o.strstart++,o.lookahead--,o.strm.avail_out===0)return BS_NEED_MORE}else o.match_available=1,o.strstart++,o.lookahead--}return o.match_available&&(j=_tr_tally(o,0,o.window[o.strstart-1]),o.match_available=0),o.insert=o.strstart{let _,j,$,et;const tt=o.window;for(;;){if(o.lookahead<=MAX_MATCH){if(fill_window(o),o.lookahead<=MAX_MATCH&&s===Z_NO_FLUSH$2)return BS_NEED_MORE;if(o.lookahead===0)break}if(o.match_length=0,o.lookahead>=MIN_MATCH&&o.strstart>0&&($=o.strstart-1,j=tt[$],j===tt[++$]&&j===tt[++$]&&j===tt[++$])){et=o.strstart+MAX_MATCH;do;while(j===tt[++$]&&j===tt[++$]&&j===tt[++$]&&j===tt[++$]&&j===tt[++$]&&j===tt[++$]&&j===tt[++$]&&j===tt[++$]&&$o.lookahead&&(o.match_length=o.lookahead)}if(o.match_length>=MIN_MATCH?(_=_tr_tally(o,1,o.match_length-MIN_MATCH),o.lookahead-=o.match_length,o.strstart+=o.match_length,o.match_length=0):(_=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++),_&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=0,s===Z_FINISH$3?(flush_block_only(o,!0),o.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):o.sym_next&&(flush_block_only(o,!1),o.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_huff=(o,s)=>{let _;for(;;){if(o.lookahead===0&&(fill_window(o),o.lookahead===0)){if(s===Z_NO_FLUSH$2)return BS_NEED_MORE;break}if(o.match_length=0,_=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++,_&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=0,s===Z_FINISH$3?(flush_block_only(o,!0),o.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):o.sym_next&&(flush_block_only(o,!1),o.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE};function Config$1(o,s,_,j,$){this.good_length=o,this.max_lazy=s,this.nice_length=_,this.max_chain=j,this.func=$}const configuration_table=[new Config$1(0,0,0,0,deflate_stored),new Config$1(4,4,8,4,deflate_fast),new Config$1(4,5,16,8,deflate_fast),new Config$1(4,6,32,32,deflate_fast),new Config$1(4,4,16,16,deflate_slow),new Config$1(8,16,32,32,deflate_slow),new Config$1(8,16,128,128,deflate_slow),new Config$1(8,32,128,256,deflate_slow),new Config$1(32,128,258,1024,deflate_slow),new Config$1(32,258,258,4096,deflate_slow)],lm_init=o=>{o.window_size=2*o.w_size,zero(o.head),o.max_lazy_match=configuration_table[o.level].max_lazy,o.good_match=configuration_table[o.level].good_length,o.nice_match=configuration_table[o.level].nice_length,o.max_chain_length=configuration_table[o.level].max_chain,o.strstart=0,o.block_start=0,o.lookahead=0,o.insert=0,o.match_length=o.prev_length=MIN_MATCH-1,o.match_available=0,o.ins_h=0};function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HEAP_SIZE*2),this.dyn_dtree=new Uint16Array((2*D_CODES+1)*2),this.bl_tree=new Uint16Array((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(MAX_BITS+1),this.heap=new Uint16Array(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*L_CODES+1),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=o=>{if(!o)return 1;const s=o.state;return!s||s.strm!==o||s.status!==INIT_STATE&&s.status!==GZIP_STATE&&s.status!==EXTRA_STATE&&s.status!==NAME_STATE&&s.status!==COMMENT_STATE&&s.status!==HCRC_STATE&&s.status!==BUSY_STATE&&s.status!==FINISH_STATE?1:0},deflateResetKeep=o=>{if(deflateStateCheck(o))return err(o,Z_STREAM_ERROR$2);o.total_in=o.total_out=0,o.data_type=Z_UNKNOWN;const s=o.state;return s.pending=0,s.pending_out=0,s.wrap<0&&(s.wrap=-s.wrap),s.status=s.wrap===2?GZIP_STATE:s.wrap?INIT_STATE:BUSY_STATE,o.adler=s.wrap===2?0:1,s.last_flush=-2,_tr_init(s),Z_OK$3},deflateReset=o=>{const s=deflateResetKeep(o);return s===Z_OK$3&&lm_init(o.state),s},deflateSetHeader=(o,s)=>deflateStateCheck(o)||o.state.wrap!==2?Z_STREAM_ERROR$2:(o.state.gzhead=s,Z_OK$3),deflateInit2=(o,s,_,j,$,et)=>{if(!o)return Z_STREAM_ERROR$2;let tt=1;if(s===Z_DEFAULT_COMPRESSION$1&&(s=6),j<0?(tt=0,j=-j):j>15&&(tt=2,j-=16),$<1||$>MAX_MEM_LEVEL||_!==Z_DEFLATED$2||j<8||j>15||s<0||s>9||et<0||et>Z_FIXED||j===8&&tt!==1)return err(o,Z_STREAM_ERROR$2);j===8&&(j=9);const nt=new DeflateState;return o.state=nt,nt.strm=o,nt.status=INIT_STATE,nt.wrap=tt,nt.gzhead=null,nt.w_bits=j,nt.w_size=1<deflateInit2(o,s,Z_DEFLATED$2,MAX_WBITS$1,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY$1),deflate$2=(o,s)=>{if(deflateStateCheck(o)||s>Z_BLOCK$1||s<0)return o?err(o,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const _=o.state;if(!o.output||o.avail_in!==0&&!o.input||_.status===FINISH_STATE&&s!==Z_FINISH$3)return err(o,o.avail_out===0?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const j=_.last_flush;if(_.last_flush=s,_.pending!==0){if(flush_pending(o),o.avail_out===0)return _.last_flush=-1,Z_OK$3}else if(o.avail_in===0&&rank(s)<=rank(j)&&s!==Z_FINISH$3)return err(o,Z_BUF_ERROR$1);if(_.status===FINISH_STATE&&o.avail_in!==0)return err(o,Z_BUF_ERROR$1);if(_.status===INIT_STATE&&_.wrap===0&&(_.status=BUSY_STATE),_.status===INIT_STATE){let $=Z_DEFLATED$2+(_.w_bits-8<<4)<<8,et=-1;if(_.strategy>=Z_HUFFMAN_ONLY||_.level<2?et=0:_.level<6?et=1:_.level===6?et=2:et=3,$|=et<<6,_.strstart!==0&&($|=PRESET_DICT),$+=31-$%31,putShortMSB(_,$),_.strstart!==0&&(putShortMSB(_,o.adler>>>16),putShortMSB(_,o.adler&65535)),o.adler=1,_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(_.status===GZIP_STATE){if(o.adler=0,put_byte(_,31),put_byte(_,139),put_byte(_,8),_.gzhead)put_byte(_,(_.gzhead.text?1:0)+(_.gzhead.hcrc?2:0)+(_.gzhead.extra?4:0)+(_.gzhead.name?8:0)+(_.gzhead.comment?16:0)),put_byte(_,_.gzhead.time&255),put_byte(_,_.gzhead.time>>8&255),put_byte(_,_.gzhead.time>>16&255),put_byte(_,_.gzhead.time>>24&255),put_byte(_,_.level===9?2:_.strategy>=Z_HUFFMAN_ONLY||_.level<2?4:0),put_byte(_,_.gzhead.os&255),_.gzhead.extra&&_.gzhead.extra.length&&(put_byte(_,_.gzhead.extra.length&255),put_byte(_,_.gzhead.extra.length>>8&255)),_.gzhead.hcrc&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending,0)),_.gzindex=0,_.status=EXTRA_STATE;else if(put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,_.level===9?2:_.strategy>=Z_HUFFMAN_ONLY||_.level<2?4:0),put_byte(_,OS_CODE),_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(_.status===EXTRA_STATE){if(_.gzhead.extra){let $=_.pending,et=(_.gzhead.extra.length&65535)-_.gzindex;for(;_.pending+et>_.pending_buf_size;){let nt=_.pending_buf_size-_.pending;if(_.pending_buf.set(_.gzhead.extra.subarray(_.gzindex,_.gzindex+nt),_.pending),_.pending=_.pending_buf_size,_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex+=nt,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0,et-=nt}let tt=new Uint8Array(_.gzhead.extra);_.pending_buf.set(tt.subarray(_.gzindex,_.gzindex+et),_.pending),_.pending+=et,_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex=0}_.status=NAME_STATE}if(_.status===NAME_STATE){if(_.gzhead.name){let $=_.pending,et;do{if(_.pending===_.pending_buf_size){if(_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0}_.gzindex<_.gzhead.name.length?et=_.gzhead.name.charCodeAt(_.gzindex++)&255:et=0,put_byte(_,et)}while(et!==0);_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex=0}_.status=COMMENT_STATE}if(_.status===COMMENT_STATE){if(_.gzhead.comment){let $=_.pending,et;do{if(_.pending===_.pending_buf_size){if(_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0}_.gzindex<_.gzhead.comment.length?et=_.gzhead.comment.charCodeAt(_.gzindex++)&255:et=0,put_byte(_,et)}while(et!==0);_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$))}_.status=HCRC_STATE}if(_.status===HCRC_STATE){if(_.gzhead.hcrc){if(_.pending+2>_.pending_buf_size&&(flush_pending(o),_.pending!==0))return _.last_flush=-1,Z_OK$3;put_byte(_,o.adler&255),put_byte(_,o.adler>>8&255),o.adler=0}if(_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(o.avail_in!==0||_.lookahead!==0||s!==Z_NO_FLUSH$2&&_.status!==FINISH_STATE){let $=_.level===0?deflate_stored(_,s):_.strategy===Z_HUFFMAN_ONLY?deflate_huff(_,s):_.strategy===Z_RLE?deflate_rle(_,s):configuration_table[_.level].func(_,s);if(($===BS_FINISH_STARTED||$===BS_FINISH_DONE)&&(_.status=FINISH_STATE),$===BS_NEED_MORE||$===BS_FINISH_STARTED)return o.avail_out===0&&(_.last_flush=-1),Z_OK$3;if($===BS_BLOCK_DONE&&(s===Z_PARTIAL_FLUSH?_tr_align(_):s!==Z_BLOCK$1&&(_tr_stored_block(_,0,0,!1),s===Z_FULL_FLUSH$1&&(zero(_.head),_.lookahead===0&&(_.strstart=0,_.block_start=0,_.insert=0))),flush_pending(o),o.avail_out===0))return _.last_flush=-1,Z_OK$3}return s!==Z_FINISH$3?Z_OK$3:_.wrap<=0?Z_STREAM_END$3:(_.wrap===2?(put_byte(_,o.adler&255),put_byte(_,o.adler>>8&255),put_byte(_,o.adler>>16&255),put_byte(_,o.adler>>24&255),put_byte(_,o.total_in&255),put_byte(_,o.total_in>>8&255),put_byte(_,o.total_in>>16&255),put_byte(_,o.total_in>>24&255)):(putShortMSB(_,o.adler>>>16),putShortMSB(_,o.adler&65535)),flush_pending(o),_.wrap>0&&(_.wrap=-_.wrap),_.pending!==0?Z_OK$3:Z_STREAM_END$3)},deflateEnd=o=>{if(deflateStateCheck(o))return Z_STREAM_ERROR$2;const s=o.state.status;return o.state=null,s===BUSY_STATE?err(o,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary=(o,s)=>{let _=s.length;if(deflateStateCheck(o))return Z_STREAM_ERROR$2;const j=o.state,$=j.wrap;if($===2||$===1&&j.status!==INIT_STATE||j.lookahead)return Z_STREAM_ERROR$2;if($===1&&(o.adler=adler32_1(o.adler,s,_,0)),j.wrap=0,_>=j.w_size){$===0&&(zero(j.head),j.strstart=0,j.block_start=0,j.insert=0);let rt=new Uint8Array(j.w_size);rt.set(s.subarray(_-j.w_size,_),0),s=rt,_=j.w_size}const et=o.avail_in,tt=o.next_in,nt=o.input;for(o.avail_in=_,o.next_in=0,o.input=s,fill_window(j);j.lookahead>=MIN_MATCH;){let rt=j.strstart,it=j.lookahead-(MIN_MATCH-1);do j.ins_h=HASH(j,j.ins_h,j.window[rt+MIN_MATCH-1]),j.prev[rt&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=rt,rt++;while(--it);j.strstart=rt,j.lookahead=MIN_MATCH-1,fill_window(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=MIN_MATCH-1,j.match_available=0,o.next_in=tt,o.input=nt,o.avail_in=et,j.wrap=$,Z_OK$3};var deflateInit_1=deflateInit,deflateInit2_1=deflateInit2,deflateReset_1=deflateReset,deflateResetKeep_1=deflateResetKeep,deflateSetHeader_1=deflateSetHeader,deflate_2$1=deflate$2,deflateEnd_1=deflateEnd,deflateSetDictionary_1=deflateSetDictionary,deflateInfo="pako deflate (from Nodeca project)",deflate_1$2={deflateInit:deflateInit_1,deflateInit2:deflateInit2_1,deflateReset:deflateReset_1,deflateResetKeep:deflateResetKeep_1,deflateSetHeader:deflateSetHeader_1,deflate:deflate_2$1,deflateEnd:deflateEnd_1,deflateSetDictionary:deflateSetDictionary_1,deflateInfo};const _has=(o,s)=>Object.prototype.hasOwnProperty.call(o,s);var assign=function(o){const s=Array.prototype.slice.call(arguments,1);for(;s.length;){const _=s.shift();if(_){if(typeof _!="object")throw new TypeError(_+"must be non-object");for(const j in _)_has(_,j)&&(o[j]=_[j])}}return o},flattenChunks=o=>{let s=0;for(let j=0,$=o.length;j<$;j++)s+=o[j].length;const _=new Uint8Array(s);for(let j=0,$=0,et=o.length;j=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;_utf8len[254]=_utf8len[254]=1;var string2buf=o=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(o);let s,_,j,$,et,tt=o.length,nt=0;for($=0;$>>6,s[et++]=128|_&63):_<65536?(s[et++]=224|_>>>12,s[et++]=128|_>>>6&63,s[et++]=128|_&63):(s[et++]=240|_>>>18,s[et++]=128|_>>>12&63,s[et++]=128|_>>>6&63,s[et++]=128|_&63);return s};const buf2binstring=(o,s)=>{if(s<65534&&o.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,o.length===s?o:o.subarray(0,s));let _="";for(let j=0;j{const _=s||o.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(o.subarray(0,s));let j,$;const et=new Array(_*2);for($=0,j=0;j<_;){let tt=o[j++];if(tt<128){et[$++]=tt;continue}let nt=_utf8len[tt];if(nt>4){et[$++]=65533,j+=nt-1;continue}for(tt&=nt===2?31:nt===3?15:7;nt>1&&j<_;)tt=tt<<6|o[j++]&63,nt--;if(nt>1){et[$++]=65533;continue}tt<65536?et[$++]=tt:(tt-=65536,et[$++]=55296|tt>>10&1023,et[$++]=56320|tt&1023)}return buf2binstring(et,$)},utf8border=(o,s)=>{s=s||o.length,s>o.length&&(s=o.length);let _=s-1;for(;_>=0&&(o[_]&192)===128;)_--;return _<0||_===0?s:_+_utf8len[o[_]]>s?_:s},strings={string2buf,buf2string,utf8border};function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zstream=ZStream;const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH,Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(o){this.options=common.assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},o||{});let s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let _=deflate_1$2.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(_!==Z_OK$2)throw new Error(messages[_]);if(s.header&&deflate_1$2.deflateSetHeader(this.strm,s.header),s.dictionary){let j;if(typeof s.dictionary=="string"?j=strings.string2buf(s.dictionary):toString$1.call(s.dictionary)==="[object ArrayBuffer]"?j=new Uint8Array(s.dictionary):j=s.dictionary,_=deflate_1$2.deflateSetDictionary(this.strm,j),_!==Z_OK$2)throw new Error(messages[_]);this._dict_set=!0}}Deflate$1.prototype.push=function(o,s){const _=this.strm,j=this.options.chunkSize;let $,et;if(this.ended)return!1;for(s===~~s?et=s:et=s===!0?Z_FINISH$2:Z_NO_FLUSH$1,typeof o=="string"?_.input=strings.string2buf(o):toString$1.call(o)==="[object ArrayBuffer]"?_.input=new Uint8Array(o):_.input=o,_.next_in=0,_.avail_in=_.input.length;;){if(_.avail_out===0&&(_.output=new Uint8Array(j),_.next_out=0,_.avail_out=j),(et===Z_SYNC_FLUSH||et===Z_FULL_FLUSH)&&_.avail_out<=6){this.onData(_.output.subarray(0,_.next_out)),_.avail_out=0;continue}if($=deflate_1$2.deflate(_,et),$===Z_STREAM_END$2)return _.next_out>0&&this.onData(_.output.subarray(0,_.next_out)),$=deflate_1$2.deflateEnd(this.strm),this.onEnd($),this.ended=!0,$===Z_OK$2;if(_.avail_out===0){this.onData(_.output);continue}if(et>0&&_.next_out>0){this.onData(_.output.subarray(0,_.next_out)),_.avail_out=0;continue}if(_.avail_in===0)break}return!0};Deflate$1.prototype.onData=function(o){this.chunks.push(o)};Deflate$1.prototype.onEnd=function(o){o===Z_OK$2&&(this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=o,this.msg=this.strm.msg};function deflate$1(o,s){const _=new Deflate$1(s);if(_.push(o,!0),_.err)throw _.msg||messages[_.err];return _.result}function deflateRaw$1(o,s){return s=s||{},s.raw=!0,deflate$1(o,s)}function gzip$1(o,s){return s=s||{},s.gzip=!0,deflate$1(o,s)}var Deflate_1$1=Deflate$1,deflate_2=deflate$1,deflateRaw_1$1=deflateRaw$1,gzip_1$1=gzip$1,constants$1=constants$2,deflate_1$1={Deflate:Deflate_1$1,deflate:deflate_2,deflateRaw:deflateRaw_1$1,gzip:gzip_1$1,constants:constants$1};const{Deflate,deflate,deflateRaw,gzip}=deflate_1$1;var deflate_1=deflate,fromByteArray_1=fromByteArray,lookup=[],code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[o&63]}function encodeChunk(o,s,_){for(var j,$=[],et=s;et<_;et+=3)j=(o[et]<<16&16711680)+(o[et+1]<<8&65280)+(o[et+2]&255),$.push(tripletToBase64(j));return $.join("")}function fromByteArray(o){for(var s,_=o.length,j=_%3,$=[],et=16383,tt=0,nt=_-j;ttnt?nt:tt+et));return j===1?(s=o[_-1],$.push(lookup[s>>2]+lookup[s<<4&63]+"==")):j===2&&(s=(o[_-2]<<8)+o[_-1],$.push(lookup[s>>10]+lookup[s>>4&63]+lookup[s<<2&63]+"=")),$.join("")}const encoder=new TextEncoder;new TextDecoder;function serializeHash(o){const s=JSON.stringify(o),_=encoder.encode(s),j=deflate_1(_);return fromByteArray_1(j)}async function getViews(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/views`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function createShareLink(o,s){if(!Authentication.token)throw new Error("Not authenticated");const _=(await getViews()).filter(tt=>tt.name===s);if(_.length===0)return console.warn("View does not exist or it is misspell"),null;const j=await fetch(`${FORMANT_API_URL}/v1/admin/shares`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),$=FORMANT_API_URL.replace("api","app"),{code:et}=await j.json();return`${$}/shares/${et}#${serializeHash({viewId:_[0].id})}`}async function disableDevice(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}/disable`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}const aggregateByDateFunctions={day:{interval:eachDayOfInterval,start:startOfDay,end:endOfDay,sub:subDays,get:getDay},week:{interval:eachWeekOfInterval,start:startOfWeek,end:endOfWeek,sub:subWeeks,get:getWeek},month:{interval:eachMonthOfInterval,start:startOfMonth,end:endOfMonth,sub:subMonths,get:getMonth},year:{interval:eachYearOfInterval,start:startOfYear,end:endOfYear,sub:subYears,get:getYear},hour:{interval:eachHourOfInterval,start:startOfHour,end:endOfHour,sub:subHours,get:getHours},minute:{interval:eachMinuteOfInterval,start:startOfMinute,end:endOfMinute,sub:subMinutes,get:getMinutes},quarter:{interval:eachQuarterOfInterval,start:startOfQuarter,end:endOfQuarter,sub:subQuarters,get:getQuarter}},formatTimeFrameText=(o,s)=>o.split("/")[0]+"/"+o.split("/")[1]+"–"+s.split("/")[0]+"/"+s.split("/")[1];async function queryEvents(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/events/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function eventsCounter(o,s,_,j,$){const et=aggregateByDateFunctions[s];return await Promise.all(Array(_).fill(0).map(async(tt,nt)=>{const rt=new Date(j),it=et.sub(et.start(rt),_-nt-1),st=et.sub(et.end(rt),_-nt-1),Ut=formatTimeFrameText(it.toLocaleDateString(),st.toLocaleDateString()),ct=await queryEvents({...$,eventTypes:o,start:new Date(it).toISOString(),end:new Date(st).toISOString()});return{date:Ut,events:ct}}))}async function getAnnotationCount(o,s){return(await queryEvents({...o,eventTypes:["annotation"]})).filter(_=>!!_.tags&&Object.keys(_.tags).includes(s)).reduce((_,j)=>{const $=j.tags[s];return $ in _?(_[$]+=1,_):(_[$]=1,_)},{})}async function getAnnotationCountByIntervals(o,s,_){const{end:j,start:$}=o,et=aggregateByDateFunctions[_].interval({start:new Date($),end:new Date(j)}),tt=et.map((rt,it)=>{const st=new Date(rt).toISOString(),Ut=it===et.length-1?new Date(Date.now()).toISOString():new Date(et[it+1]);return getAnnotationCount({...o,start:st,end:Ut},s)}),nt=await Promise.all(tt);return et.map((rt,it)=>({date:new Date(rt).toISOString(),annotations:nt[it]}))}async function getDevicesData(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}var dist={exports:{}};/*! For license information please see index.js.LICENSE.txt */(function(module,exports){(function(o,s){module.exports=s()})(self,()=>(()=>{var __webpack_modules__={5475:(o,s,_)=>{var j={};o.exports=j,j.themes={};var $=_(9208),et=j.styles=_(9253),tt=Object.defineProperties,nt=new RegExp(/[\r\n]+/g);j.supportsColor=_(3822).supportsColor,j.enabled===void 0&&(j.enabled=j.supportsColor()!==!1),j.enable=function(){j.enabled=!0},j.disable=function(){j.enabled=!1},j.stripColors=j.strip=function(pt){return(""+pt).replace(/\x1B\[\d+m/g,"")},j.stylize=function(pt,ft){if(!j.enabled)return pt+"";var mt=et[ft];return!mt&&ft in j?j[ft](pt):mt.open+pt+mt.close};var rt=/[|\\{}()[\]^$+*?.]/g;function it(pt){var ft=function mt(){return Ft.apply(mt,arguments)};return ft._styles=pt,ft.__proto__=ct,ft}var st,Ut=(st={},et.grey=et.gray,Object.keys(et).forEach(function(pt){et[pt].closeRe=new RegExp(function(ft){if(typeof ft!="string")throw new TypeError("Expected a string");return ft.replace(rt,"\\$&")}(et[pt].close),"g"),st[pt]={get:function(){return it(this._styles.concat(pt))}}}),st),ct=tt(function(){},Ut);function Ft(){var pt=Array.prototype.slice.call(arguments),ft=pt.map(function(Dt){return Dt!=null&&Dt.constructor===String?Dt:$.inspect(Dt)}).join(" ");if(!j.enabled||!ft)return ft;for(var mt=ft.indexOf(` +`)!=-1,ht=this._styles,Vt=ht.length;Vt--;){var Rt=et[ht[Vt]];ft=Rt.open+ft.replace(Rt.closeRe,Rt.open)+Rt.close,mt&&(ft=ft.replace(nt,function(Dt){return Rt.close+Dt+Rt.open}))}return ft}j.setTheme=function(pt){if(typeof pt!="string")for(var ft in pt)(function(mt){j[mt]=function(ht){if(typeof pt[mt]=="object"){var Vt=ht;for(var Rt in pt[mt])Vt=j[pt[mt][Rt]](Vt);return Vt}return j[pt[mt]](ht)}})(ft);else console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));")};var ut=function(pt,ft){var mt=ft.split("");return(mt=mt.map(pt)).join("")};for(var Qt in j.trap=_(8740),j.zalgo=_(6798),j.maps={},j.maps.america=_(3427)(j),j.maps.zebra=_(860)(j),j.maps.rainbow=_(4517)(j),j.maps.random=_(6948)(j),j.maps)(function(pt){j[pt]=function(ft){return ut(j.maps[pt],ft)}})(Qt);tt(j,function(){var pt={};return Object.keys(Ut).forEach(function(ft){pt[ft]={get:function(){return it([ft])}}}),pt}())},8740:o=>{o.exports=function(s,_){var j="";s=(s=s||"Run the trap, drop the bass").split("");var $={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","۝","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return s.forEach(function(et){et=et.toLowerCase();var tt=$[et]||[" "],nt=Math.floor(Math.random()*tt.length);j+=$[et]!==void 0?$[et][nt]:et}),j}},6798:o=>{o.exports=function(s,_){s=s||" he is here ";var j={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},$=[].concat(j.up,j.down,j.mid);function et(nt){return Math.floor(Math.random()*nt)}function tt(nt){var rt=!1;return $.filter(function(it){rt=it===nt}),rt}return function(nt,rt){var it,st,Ut="";for(st in(rt=rt||{}).up=rt.up===void 0||rt.up,rt.mid=rt.mid===void 0||rt.mid,rt.down=rt.down===void 0||rt.down,rt.size=rt.size!==void 0?rt.size:"maxi",nt=nt.split(""))if(!tt(st)){switch(Ut+=nt[st],it={up:0,down:0,mid:0},rt.size){case"mini":it.up=et(8),it.mid=et(2),it.down=et(8);break;case"maxi":it.up=et(16)+3,it.mid=et(4)+1,it.down=et(64)+3;break;default:it.up=et(8)+1,it.mid=et(6)/2,it.down=et(8)+1}var ct=["up","mid","down"];for(var Ft in ct)for(var ut=ct[Ft],Qt=0;Qt<=it[ut];Qt++)rt[ut]&&(Ut+=j[ut][et(j[ut].length)])}return Ut}(s,_)}},3427:o=>{o.exports=function(s){return function(_,j,$){if(_===" ")return _;switch(j%3){case 0:return s.red(_);case 1:return s.white(_);case 2:return s.blue(_)}}}},4517:o=>{o.exports=function(s){var _=["red","yellow","green","blue","magenta"];return function(j,$,et){return j===" "?j:s[_[$++%_.length]](j)}}},6948:o=>{o.exports=function(s){var _=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(j,$,et){return j===" "?j:s[_[Math.round(Math.random()*(_.length-2))]](j)}}},860:o=>{o.exports=function(s){return function(_,j,$){return j%2==0?_:s.inverse(_)}}},9253:o=>{var s={};o.exports=s;var _={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(_).forEach(function(j){var $=_[j],et=s[j]=[];et.open="\x1B["+$[0]+"m",et.close="\x1B["+$[1]+"m"})},124:o=>{o.exports=function(s,_){var j=(_=_||process$1.argv||[]).indexOf("--"),$=/^-{1,2}/.test(s)?"":"--",et=_.indexOf($+s);return et!==-1&&(j===-1||et{var j=_(2213),$=_(124),et=process$1.env,tt=void 0;function nt(rt){return function(it){return it!==0&&{level:it,hasBasic:!0,has256:it>=2,has16m:it>=3}}(function(it){if(tt===!1)return 0;if($("color=16m")||$("color=full")||$("color=truecolor"))return 3;if($("color=256"))return 2;if(it&&!it.isTTY&&tt!==!0)return 0;var st=tt?1:0;if(process$1.platform==="win32"){var Ut=j.release().split(".");return Number(process$1.versions.node.split(".")[0])>=8&&Number(Ut[0])>=10&&Number(Ut[2])>=10586?Number(Ut[2])>=14931?3:2:1}if("CI"in et)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(Ft){return Ft in et})||et.CI_NAME==="codeship"?1:st;if("TEAMCITY_VERSION"in et)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(et.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in et){var ct=parseInt((et.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(et.TERM_PROGRAM){case"iTerm.app":return ct>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test("xterm-256color")?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test("xterm-256color")||"COLORTERM"in et?1:st}(rt))}$("no-color")||$("no-colors")||$("color=false")?tt=!1:($("color")||$("colors")||$("color=true")||$("color=always"))&&(tt=!0),"FORCE_COLOR"in et&&(tt=et.FORCE_COLOR.length===0||parseInt(et.FORCE_COLOR,10)!==0),o.exports={supportsColor:nt,stdout:nt(process$1.stdout),stderr:nt(process$1.stderr)}},1158:(o,s,_)=>{var j=_(5475);o.exports=j},7147:(o,s,_)=>{o.exports=_(4968)},4968:(o,s,_)=>{var j=_(8636)(function $(et,tt){return(tt=tt||{}).namespace=et,tt.prod=!0,tt.dev=!1,tt.force||$.force?$.yep(tt):$.nope(tt)});o.exports=j},8636:o=>{var s=[],_=[],j=function(){};function $(Ft){return!~s.indexOf(Ft)&&(s.push(Ft),!0)}function et(Ft){j=Ft}function tt(Ft){for(var ut=[],Qt=0;Qt{function j(an){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Gt){return typeof Gt}:function(Gt){return Gt&&typeof Symbol=="function"&&Gt.constructor===Symbol&&Gt!==Symbol.prototype?"symbol":typeof Gt})(an)}function $(an,Gt){for(var Ht=0;Ht1?Ht-1:0),Sn=1;Sn1?Ht-1:0),Sn=1;Sn1?Ht-1:0),Sn=1;Sn1?Ht-1:0),Sn=1;Sn{function j(vt,bt){var Wt=Object.keys(vt);if(Object.getOwnPropertySymbols){var It=Object.getOwnPropertySymbols(vt);bt&&(It=It.filter(function(Tt){return Object.getOwnPropertyDescriptor(vt,Tt).enumerable})),Wt.push.apply(Wt,It)}return Wt}function $(vt){for(var bt=1;bt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ft(vt,bt){return(Ft=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Wt,It){return Wt.__proto__=It,Wt})(vt,bt)}function ut(vt){return(ut=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(bt){return bt.__proto__||Object.getPrototypeOf(bt)})(vt)}function Qt(vt){return(Qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(bt){return typeof bt}:function(bt){return bt&&typeof Symbol=="function"&&bt.constructor===Symbol&&bt!==Symbol.prototype?"symbol":typeof bt})(vt)}var pt=_(9208).inspect,ft=_(1342).codes.ERR_INVALID_ARG_TYPE;function mt(vt,bt,Wt){return(Wt===void 0||Wt>vt.length)&&(Wt=vt.length),vt.substring(Wt-bt.length,Wt)===bt}var ht="",Vt="",Rt="",Dt="",Ct={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function Mt(vt){var bt=Object.keys(vt),Wt=Object.create(Object.getPrototypeOf(vt));return bt.forEach(function(It){Wt[It]=vt[It]}),Object.defineProperty(Wt,"message",{value:vt.message}),Wt}function yt(vt){return pt(vt,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function Yt(vt,bt,Wt){var It="",Tt="",_t=0,$t="",rn=!1,Pt=yt(vt),qt=Pt.split(` +`),ln=yt(bt).split(` +`),an=0,Gt="";if(Wt==="strictEqual"&&Qt(vt)==="object"&&Qt(bt)==="object"&&vt!==null&&bt!==null&&(Wt="strictEqualObject"),qt.length===1&&ln.length===1&&qt[0]!==ln[0]){var Ht=qt[0].length+ln[0].length;if(Ht<=10){if(!(Qt(vt)==="object"&&vt!==null||Qt(bt)==="object"&&bt!==null||vt===0&&bt===0))return"".concat(Ct[Wt],` + +`)+"".concat(qt[0]," !== ").concat(ln[0],` +`)}else if(Wt!=="strictEqualObject"&&Ht<(process$1.stderr&&process$1.stderr.isTTY?process$1.stderr.columns:80)){for(;qt[0][an]===ln[0][an];)an++;an>2&&(Gt=` + `.concat(function(jt,zt){if(zt=Math.floor(zt),jt.length==0||zt==0)return"";var pn=jt.length*zt;for(zt=Math.floor(Math.log(zt)/Math.log(2));zt;)jt+=jt,zt--;return jt+=jt.substring(0,pn-jt.length)}(" ",an),"^"),an=0)}}for(var Un=qt[qt.length-1],Sn=ln[ln.length-1];Un===Sn&&(an++<2?$t=` + `.concat(Un).concat($t):It=Un,qt.pop(),ln.pop(),qt.length!==0&&ln.length!==0);)Un=qt[qt.length-1],Sn=ln[ln.length-1];var cn=Math.max(qt.length,ln.length);if(cn===0){var fn=Pt.split(` +`);if(fn.length>30)for(fn[26]="".concat(ht,"...").concat(Dt);fn.length>27;)fn.pop();return"".concat(Ct.notIdentical,` + +`).concat(fn.join(` +`),` +`)}an>3&&($t=` +`.concat(ht,"...").concat(Dt).concat($t),rn=!0),It!==""&&($t=` + `.concat(It).concat($t),It="");var sn=0,bn=Ct[Wt]+` +`.concat(Vt,"+ actual").concat(Dt," ").concat(Rt,"- expected").concat(Dt),Cn=" ".concat(ht,"...").concat(Dt," Lines skipped");for(an=0;an1&&an>2&&(Nn>4?(Tt+=` +`.concat(ht,"...").concat(Dt),rn=!0):Nn>3&&(Tt+=` + `.concat(ln[an-2]),sn++),Tt+=` + `.concat(ln[an-1]),sn++),_t=an,It+=` +`.concat(Rt,"-").concat(Dt," ").concat(ln[an]),sn++;else if(ln.length1&&an>2&&(Nn>4?(Tt+=` +`.concat(ht,"...").concat(Dt),rn=!0):Nn>3&&(Tt+=` + `.concat(qt[an-2]),sn++),Tt+=` + `.concat(qt[an-1]),sn++),_t=an,Tt+=` +`.concat(Vt,"+").concat(Dt," ").concat(qt[an]),sn++;else{var xn=ln[an],zn=qt[an],wt=zn!==xn&&(!mt(zn,",")||zn.slice(0,-1)!==xn);wt&&mt(xn,",")&&xn.slice(0,-1)===zn&&(wt=!1,zn+=","),wt?(Nn>1&&an>2&&(Nn>4?(Tt+=` +`.concat(ht,"...").concat(Dt),rn=!0):Nn>3&&(Tt+=` + `.concat(qt[an-2]),sn++),Tt+=` + `.concat(qt[an-1]),sn++),_t=an,Tt+=` +`.concat(Vt,"+").concat(Dt," ").concat(zn),It+=` +`.concat(Rt,"-").concat(Dt," ").concat(xn),sn+=2):(Tt+=It,It="",Nn!==1&&an!==0||(Tt+=` + `.concat(zn),sn++))}if(sn>20&&an30)for(fn[26]="".concat(ht,"...").concat(Dt);fn.length>27;)fn.pop();qt=fn.length===1?$t.call(this,"".concat(cn," ").concat(fn[0])):$t.call(this,"".concat(cn,` + +`).concat(fn.join(` +`),` +`))}else{var sn=yt(Ht),bn="",Cn=Ct[an];an==="notDeepEqual"||an==="notEqual"?(sn="".concat(Ct[an],` + +`).concat(sn)).length>1024&&(sn="".concat(sn.slice(0,1021),"...")):(bn="".concat(yt(Un)),sn.length>512&&(sn="".concat(sn.slice(0,509),"...")),bn.length>512&&(bn="".concat(bn.slice(0,509),"...")),an==="deepEqual"||an==="equal"?sn="".concat(Cn,` + +`).concat(sn,` + +should equal + +`):bn=" ".concat(an," ").concat(bn)),qt=$t.call(this,"".concat(sn).concat(bn))}return Error.stackTraceLimit=Sn,qt.generatedMessage=!ln,Object.defineProperty(it(qt),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),qt.code="ERR_ASSERTION",qt.actual=Ht,qt.expected=Un,qt.operator=an,Error.captureStackTrace&&Error.captureStackTrace(it(qt),Gt),qt.stack,qt.name="AssertionError",rt(qt)}return Tt=rn,(_t=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:bt,value:function(Pt,qt){return pt(this,$($({},qt),{},{customInspect:!1,depth:0}))}}])&&tt(Tt.prototype,_t),Object.defineProperty(Tt,"prototype",{writable:!1}),rn}(st(Error),pt.custom);o.exports=Zt},1342:(o,s,_)=>{function j(Ft){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ut){return typeof ut}:function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut})(Ft)}function $(Ft,ut){return($=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Qt,pt){return Qt.__proto__=pt,Qt})(Ft,ut)}function et(Ft){var ut=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Qt,pt=nt(Ft);if(ut){var ft=nt(this).constructor;Qt=Reflect.construct(pt,arguments,ft)}else Qt=pt.apply(this,arguments);return tt(this,Qt)}}function tt(Ft,ut){if(ut&&(j(ut)==="object"||typeof ut=="function"))return ut;if(ut!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Qt){if(Qt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Qt}(Ft)}function nt(Ft){return(nt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ut){return ut.__proto__||Object.getPrototypeOf(ut)})(Ft)}var rt,it,st={};function Ut(Ft,ut,Qt){Qt||(Qt=Error);var pt=function(ft){(function(Rt,Dt){if(typeof Dt!="function"&&Dt!==null)throw new TypeError("Super expression must either be null or a function");Rt.prototype=Object.create(Dt&&Dt.prototype,{constructor:{value:Rt,writable:!0,configurable:!0}}),Object.defineProperty(Rt,"prototype",{writable:!1}),Dt&&$(Rt,Dt)})(Vt,ft);var mt,ht=et(Vt);function Vt(Rt,Dt,Ct){var Mt;return function(yt,Yt){if(!(yt instanceof Yt))throw new TypeError("Cannot call a class as a function")}(this,Vt),(Mt=ht.call(this,function(yt,Yt,Zt){return typeof ut=="string"?ut:ut(yt,Yt,Zt)}(Rt,Dt,Ct))).code=Ft,Mt}return mt=Vt,Object.defineProperty(mt,"prototype",{writable:!1}),mt}(Qt);st[Ft]=pt}function ct(Ft,ut){if(Array.isArray(Ft)){var Qt=Ft.length;return Ft=Ft.map(function(pt){return String(pt)}),Qt>2?"one of ".concat(ut," ").concat(Ft.slice(0,Qt-1).join(", "),", or ")+Ft[Qt-1]:Qt===2?"one of ".concat(ut," ").concat(Ft[0]," or ").concat(Ft[1]):"of ".concat(ut," ").concat(Ft[0])}return"of ".concat(ut," ").concat(String(Ft))}Ut("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),Ut("ERR_INVALID_ARG_TYPE",function(Ft,ut,Qt){var pt,ft,mt;if(rt===void 0&&(rt=_(6093)),rt(typeof Ft=="string","'name' must be a string"),typeof ut=="string"&&(ft="not ",ut.substr(0,ft.length)===ft)?(pt="must not be",ut=ut.replace(/^not /,"")):pt="must be",function(Vt,Rt,Dt){return(Dt===void 0||Dt>Vt.length)&&(Dt=Vt.length),Vt.substring(Dt-Rt.length,Dt)===Rt}(Ft," argument"))mt="The ".concat(Ft," ").concat(pt," ").concat(ct(ut,"type"));else{var ht=function(Vt,Rt,Dt){return typeof Dt!="number"&&(Dt=0),!(Dt+Rt.length>Vt.length)&&Vt.indexOf(Rt,Dt)!==-1}(Ft,".")?"property":"argument";mt='The "'.concat(Ft,'" ').concat(ht," ").concat(pt," ").concat(ct(ut,"type"))}return mt+=". Received type ".concat(j(Qt))},TypeError),Ut("ERR_INVALID_ARG_VALUE",function(Ft,ut){var Qt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";it===void 0&&(it=_(9208));var pt=it.inspect(ut);return pt.length>128&&(pt="".concat(pt.slice(0,128),"...")),"The argument '".concat(Ft,"' ").concat(Qt,". Received ").concat(pt)},TypeError),Ut("ERR_INVALID_RETURN_VALUE",function(Ft,ut,Qt){var pt;return pt=Qt&&Qt.constructor&&Qt.constructor.name?"instance of ".concat(Qt.constructor.name):"type ".concat(j(Qt)),"Expected ".concat(Ft,' to be returned from the "').concat(ut,'"')+" function but got ".concat(pt,".")},TypeError),Ut("ERR_MISSING_ARGS",function(){for(var Ft=arguments.length,ut=new Array(Ft),Qt=0;Qt0,"At least one arg needs to be specified");var pt="The ",ft=ut.length;switch(ut=ut.map(function(mt){return'"'.concat(mt,'"')}),ft){case 1:pt+="".concat(ut[0]," argument");break;case 2:pt+="".concat(ut[0]," and ").concat(ut[1]," arguments");break;default:pt+=ut.slice(0,ft-1).join(", "),pt+=", and ".concat(ut[ft-1]," arguments")}return"".concat(pt," must be specified")},TypeError),o.exports.codes=st},5656:(o,s,_)=>{function j(cn,fn){return function(sn){if(Array.isArray(sn))return sn}(cn)||function(sn,bn){var Cn=sn==null?null:typeof Symbol<"u"&&sn[Symbol.iterator]||sn["@@iterator"];if(Cn!=null){var Nn,xn,zn,wt,jt=[],zt=!0,pn=!1;try{if(zn=(Cn=Cn.call(sn)).next,bn===0){if(Object(Cn)!==Cn)return;zt=!1}else for(;!(zt=(Nn=zn.call(Cn)).done)&&(jt.push(Nn.value),jt.length!==bn);zt=!0);}catch(yn){pn=!0,xn=yn}finally{try{if(!zt&&Cn.return!=null&&(wt=Cn.return(),Object(wt)!==wt))return}finally{if(pn)throw xn}}return jt}}(cn,fn)||function(sn,bn){if(sn){if(typeof sn=="string")return $(sn,bn);var Cn=Object.prototype.toString.call(sn).slice(8,-1);if(Cn==="Object"&&sn.constructor&&(Cn=sn.constructor.name),Cn==="Map"||Cn==="Set")return Array.from(sn);if(Cn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Cn))return $(sn,bn)}}(cn,fn)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function $(cn,fn){(fn==null||fn>cn.length)&&(fn=cn.length);for(var sn=0,bn=new Array(fn);sn10)return!0;for(var fn=0;fn57)return!0}return cn.length===10&&cn>=Math.pow(2,32)}function _t(cn){return Object.keys(cn).filter(Tt).concat(st(cn).filter(Object.prototype.propertyIsEnumerable.bind(cn)))}function $t(cn,fn){if(cn===fn)return 0;for(var sn=cn.length,bn=fn.length,Cn=0,Nn=Math.min(sn,bn);Cn{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(it){return(0,et.isAsync)(it)?function(...st){const Ut=st.pop();return nt(it.apply(this,st),Ut)}:(0,j.default)(function(st,Ut){var ct;try{ct=it.apply(this,st)}catch(Ft){return Ut(Ft)}if(ct&&typeof ct.then=="function")return nt(ct,Ut);Ut(null,ct)})};var j=tt(_(6172)),$=tt(_(6857)),et=_(1214);function tt(it){return it&&it.__esModule?it:{default:it}}function nt(it,st){return it.then(Ut=>{rt(st,null,Ut)},Ut=>{rt(st,Ut&&(Ut instanceof Error||Ut.message)?Ut:new Error(Ut))})}function rt(it,st,Ut){try{it(st,Ut)}catch(ct){(0,$.default)(Ft=>{throw Ft},ct)}}o.exports=s.default},108:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0});var j=st(_(7804)),$=st(_(1371)),et=st(_(7485)),tt=st(_(6297)),nt=st(_(6083)),rt=st(_(1214)),it=st(_(6280));function st(Ft){return Ft&&Ft.__esModule?Ft:{default:Ft}}function Ut(Ft,ut,Qt){Qt=(0,tt.default)(Qt);var pt=0,ft=0,{length:mt}=Ft,ht=!1;function Vt(Rt,Dt){Rt===!1&&(ht=!0),ht!==!0&&(Rt?Qt(Rt):++ft!==mt&&Dt!==$.default||Qt(null))}for(mt===0&&Qt(null);pt{Object.defineProperty(s,"__esModule",{value:!0});var j=tt(_(6513)),$=tt(_(1214)),et=tt(_(6280));function tt(nt){return nt&&nt.__esModule?nt:{default:nt}}s.default=(0,et.default)(function(nt,rt,it,st){return(0,j.default)(rt)(nt,(0,$.default)(it),st)},4),o.exports=s.default},5313:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0});var j=et(_(7485)),$=et(_(6280));function et(tt){return tt&&tt.__esModule?tt:{default:tt}}s.default=(0,$.default)(function(tt,nt,rt){return(0,j.default)(tt,1,nt,rt)},3),o.exports=s.default},5236:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0});var j=nt(_(108)),$=nt(_(4344)),et=nt(_(1214)),tt=nt(_(6280));function nt(rt){return rt&&rt.__esModule?rt:{default:rt}}s.default=(0,tt.default)(function(rt,it,st){return(0,j.default)(rt,(0,$.default)((0,et.default)(it)),st)},3),o.exports=s.default},6959:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(tt,nt,rt,it){let st=!1,Ut=!1,ct=!1,Ft=0,ut=0;function Qt(){Ft>=nt||ct||st||(ct=!0,tt.next().then(({value:mt,done:ht})=>{if(!Ut&&!st){if(ct=!1,ht)return st=!0,void(Ft<=0&&it(null));Ft++,rt(mt,ut,pt),ut++,Qt()}}).catch(ft))}function pt(mt,ht){if(Ft-=1,!Ut)return mt?ft(mt):mt===!1?(st=!0,void(Ut=!0)):ht===et.default||st&&Ft<=0?(st=!0,it(null)):void Qt()}function ft(mt){Ut||(ct=!1,st=!0,it(mt))}Qt()};var j,$=_(1371),et=(j=$)&&j.__esModule?j:{default:j};o.exports=s.default},6280:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_,j){if(j||(j=_.length),!j)throw new Error("arity is undefined");return function(...$){return typeof $[j-1]=="function"?_.apply(this,$):new Promise((et,tt)=>{$[j-1]=(nt,...rt)=>{if(nt)return tt(nt);et(rt.length>1?rt:rt[0])},_.apply(this,$)})}},o.exports=s.default},1371:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default={},o.exports=s.default},6513:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0});var j=it(_(6297)),$=it(_(1586)),et=it(_(6083)),tt=_(1214),nt=it(_(6959)),rt=it(_(1371));function it(st){return st&&st.__esModule?st:{default:st}}s.default=st=>(Ut,ct,Ft)=>{if(Ft=(0,j.default)(Ft),st<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!Ut)return Ft(null);if((0,tt.isAsyncGenerator)(Ut))return(0,nt.default)(Ut,st,ct,Ft);if((0,tt.isAsyncIterable)(Ut))return(0,nt.default)(Ut[Symbol.asyncIterator](),st,ct,Ft);var ut=(0,$.default)(Ut),Qt=!1,pt=!1,ft=0,mt=!1;function ht(Rt,Dt){if(!pt)if(ft-=1,Rt)Qt=!0,Ft(Rt);else if(Rt===!1)Qt=!0,pt=!0;else{if(Dt===rt.default||Qt&&ft<=0)return Qt=!0,Ft(null);mt||Vt()}}function Vt(){for(mt=!0;ft{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_){return _[Symbol.iterator]&&_[Symbol.iterator]()},o.exports=s.default},6172:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_){return function(...j){var $=j.pop();return _.call(this,j,$)}},o.exports=s.default},7804:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_){return _&&typeof _.length=="number"&&_.length>=0&&_.length%1==0},o.exports=s.default},1586:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(tt){if((0,j.default)(tt))return function(ct){var Ft=-1,ut=ct.length;return function(){return++Ft{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_){function j(...$){if(_!==null){var et=_;_=null,et.apply(this,$)}}return Object.assign(j,_),j},o.exports=s.default},6083:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_){return function(...j){if(_===null)throw new Error("Callback was already called.");var $=_;_=null,$.apply(this,j)}},o.exports=s.default},7075:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0});var j=tt(_(7804)),$=tt(_(1214)),et=tt(_(6280));function tt(nt){return nt&&nt.__esModule?nt:{default:nt}}s.default=(0,et.default)((nt,rt,it)=>{var st=(0,j.default)(rt)?[]:{};nt(rt,(Ut,ct,Ft)=>{(0,$.default)(Ut)((ut,...Qt)=>{Qt.length<2&&([Qt]=Qt),st[ct]=Qt,Ft(ut)})},Ut=>it(Ut,st))},3),o.exports=s.default},6857:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.fallback=tt,s.wrap=nt;var _,j=s.hasQueueMicrotask=typeof queueMicrotask=="function"&&queueMicrotask,$=s.hasSetImmediate=typeof setImmediate=="function"&&setImmediate,et=s.hasNextTick=typeof process$1=="object"&&typeof process$1.nextTick=="function";function tt(rt){setTimeout(rt,0)}function nt(rt){return(it,...st)=>rt(()=>it(...st))}_=j?queueMicrotask:$?setImmediate:et?process$1.nextTick:tt,s.default=nt(_)},4344:(o,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(_){return(j,$,et)=>_(j,et)},o.exports=s.default},1214:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.isAsyncIterable=s.isAsyncGenerator=s.isAsync=void 0;var j,$=_(2530),et=(j=$)&&j.__esModule?j:{default:j};function tt(nt){return nt[Symbol.toStringTag]==="AsyncFunction"}s.default=function(nt){if(typeof nt!="function")throw new Error("expected a function");return tt(nt)?(0,et.default)(nt):nt},s.isAsync=tt,s.isAsyncGenerator=function(nt){return nt[Symbol.toStringTag]==="AsyncGenerator"},s.isAsyncIterable=function(nt){return typeof nt[Symbol.asyncIterator]=="function"}},481:(o,s,_)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(tt,nt){return(0,j.default)($.default,tt,nt)};var j=et(_(7075)),$=et(_(5313));function et(tt){return tt&&tt.__esModule?tt:{default:tt}}o.exports=s.default},7991:(o,s)=>{s.byteLength=function(st){var Ut=rt(st),ct=Ut[0],Ft=Ut[1];return 3*(ct+Ft)/4-Ft},s.toByteArray=function(st){var Ut,ct,Ft=rt(st),ut=Ft[0],Qt=Ft[1],pt=new $(function(ht,Vt,Rt){return 3*(Vt+Rt)/4-Rt}(0,ut,Qt)),ft=0,mt=Qt>0?ut-4:ut;for(ct=0;ct>16&255,pt[ft++]=Ut>>8&255,pt[ft++]=255&Ut;return Qt===2&&(Ut=j[st.charCodeAt(ct)]<<2|j[st.charCodeAt(ct+1)]>>4,pt[ft++]=255&Ut),Qt===1&&(Ut=j[st.charCodeAt(ct)]<<10|j[st.charCodeAt(ct+1)]<<4|j[st.charCodeAt(ct+2)]>>2,pt[ft++]=Ut>>8&255,pt[ft++]=255&Ut),pt},s.fromByteArray=function(st){for(var Ut,ct=st.length,Ft=ct%3,ut=[],Qt=0,pt=ct-Ft;Qtpt?pt:Qt+16383));return Ft===1?(Ut=st[ct-1],ut.push(_[Ut>>2]+_[Ut<<4&63]+"==")):Ft===2&&(Ut=(st[ct-2]<<8)+st[ct-1],ut.push(_[Ut>>10]+_[Ut>>4&63]+_[Ut<<2&63]+"=")),ut.join("")};for(var _=[],j=[],$=typeof Uint8Array<"u"?Uint8Array:Array,et="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tt=0,nt=et.length;tt0)throw new Error("Invalid string. Length must be a multiple of 4");var ct=st.indexOf("=");return ct===-1&&(ct=Ut),[ct,ct===Ut?0:4-ct%4]}function it(st,Ut,ct){for(var Ft,ut,Qt=[],pt=Ut;pt>18&63]+_[ut>>12&63]+_[ut>>6&63]+_[63&ut]);return Qt.join("")}j["-".charCodeAt(0)]=62,j["_".charCodeAt(0)]=63},9811:(o,s,_)=>{var j=_(6093),$=_(2495),et=_(6446),tt=_(8142),nt=_(7200);for(var rt in nt)s[rt]=nt[rt];s.NONE=0,s.DEFLATE=1,s.INFLATE=2,s.GZIP=3,s.GUNZIP=4,s.DEFLATERAW=5,s.INFLATERAW=6,s.UNZIP=7;function it(st){if(typeof st!="number"||sts.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=st,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}it.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,j(this.init_done,"close before init"),j(this.mode<=s.UNZIP),this.mode===s.DEFLATE||this.mode===s.GZIP||this.mode===s.DEFLATERAW?et.deflateEnd(this.strm):this.mode!==s.INFLATE&&this.mode!==s.GUNZIP&&this.mode!==s.INFLATERAW&&this.mode!==s.UNZIP||tt.inflateEnd(this.strm),this.mode=s.NONE,this.dictionary=null)},it.prototype.write=function(st,Ut,ct,Ft,ut,Qt,pt){return this._write(!0,st,Ut,ct,Ft,ut,Qt,pt)},it.prototype.writeSync=function(st,Ut,ct,Ft,ut,Qt,pt){return this._write(!1,st,Ut,ct,Ft,ut,Qt,pt)},it.prototype._write=function(st,Ut,ct,Ft,ut,Qt,pt,ft){if(j.equal(arguments.length,8),j(this.init_done,"write before init"),j(this.mode!==s.NONE,"already finalized"),j.equal(!1,this.write_in_progress,"write already in progress"),j.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,j.equal(!1,Ut===void 0,"must provide flush value"),this.write_in_progress=!0,Ut!==s.Z_NO_FLUSH&&Ut!==s.Z_PARTIAL_FLUSH&&Ut!==s.Z_SYNC_FLUSH&&Ut!==s.Z_FULL_FLUSH&&Ut!==s.Z_FINISH&&Ut!==s.Z_BLOCK)throw new Error("Invalid flush value");if(ct==null&&(ct=Buffer.alloc(0),ut=0,Ft=0),this.strm.avail_in=ut,this.strm.input=ct,this.strm.next_in=Ft,this.strm.avail_out=ft,this.strm.output=Qt,this.strm.next_out=pt,this.flush=Ut,!st)return this._process(),this._checkError()?this._afterSync():void 0;var mt=this;return process$1.nextTick(function(){mt._process(),mt._after()}),this},it.prototype._afterSync=function(){var st=this.strm.avail_out,Ut=this.strm.avail_in;return this.write_in_progress=!1,[Ut,st]},it.prototype._process=function(){var st=null;switch(this.mode){case s.DEFLATE:case s.GZIP:case s.DEFLATERAW:this.err=et.deflate(this.strm,this.flush);break;case s.UNZIP:switch(this.strm.avail_in>0&&(st=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(st===null)break;if(this.strm.input[st]!==31){this.mode=s.INFLATE;break}if(this.gzip_id_bytes_read=1,st++,this.strm.avail_in===1)break;case 1:if(st===null)break;this.strm.input[st]===139?(this.gzip_id_bytes_read=2,this.mode=s.GUNZIP):this.mode=s.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case s.INFLATE:case s.GUNZIP:case s.INFLATERAW:for(this.err=tt.inflate(this.strm,this.flush),this.err===s.Z_NEED_DICT&&this.dictionary&&(this.err=tt.inflateSetDictionary(this.strm,this.dictionary),this.err===s.Z_OK?this.err=tt.inflate(this.strm,this.flush):this.err===s.Z_DATA_ERROR&&(this.err=s.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===s.GUNZIP&&this.err===s.Z_STREAM_END&&this.strm.next_in[0]!==0;)this.reset(),this.err=tt.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},it.prototype._checkError=function(){switch(this.err){case s.Z_OK:case s.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===s.Z_FINISH)return this._error("unexpected end of file"),!1;break;case s.Z_STREAM_END:break;case s.Z_NEED_DICT:return this.dictionary==null?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},it.prototype._after=function(){if(this._checkError()){var st=this.strm.avail_out,Ut=this.strm.avail_in;this.write_in_progress=!1,this.callback(Ut,st),this.pending_close&&this.close()}},it.prototype._error=function(st){this.strm.msg&&(st=this.strm.msg),this.onerror(st,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},it.prototype.init=function(st,Ut,ct,Ft,ut){j(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),j(st>=8&&st<=15,"invalid windowBits"),j(Ut>=-1&&Ut<=9,"invalid compression level"),j(ct>=1&&ct<=9,"invalid memlevel"),j(Ft===s.Z_FILTERED||Ft===s.Z_HUFFMAN_ONLY||Ft===s.Z_RLE||Ft===s.Z_FIXED||Ft===s.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(Ut,st,ct,Ft,ut),this._setDictionary()},it.prototype.params=function(){throw new Error("deflateParams Not supported")},it.prototype.reset=function(){this._reset(),this._setDictionary()},it.prototype._init=function(st,Ut,ct,Ft,ut){switch(this.level=st,this.windowBits=Ut,this.memLevel=ct,this.strategy=Ft,this.flush=s.Z_NO_FLUSH,this.err=s.Z_OK,this.mode!==s.GZIP&&this.mode!==s.GUNZIP||(this.windowBits+=16),this.mode===s.UNZIP&&(this.windowBits+=32),this.mode!==s.DEFLATERAW&&this.mode!==s.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new $,this.mode){case s.DEFLATE:case s.GZIP:case s.DEFLATERAW:this.err=et.deflateInit2(this.strm,this.level,s.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case s.INFLATE:case s.GUNZIP:case s.INFLATERAW:case s.UNZIP:this.err=tt.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==s.Z_OK&&this._error("Init error"),this.dictionary=ut,this.write_in_progress=!1,this.init_done=!0},it.prototype._setDictionary=function(){if(this.dictionary!=null){switch(this.err=s.Z_OK,this.mode){case s.DEFLATE:case s.DEFLATERAW:this.err=et.deflateSetDictionary(this.strm,this.dictionary)}this.err!==s.Z_OK&&this._error("Failed to set dictionary")}},it.prototype._reset=function(){switch(this.err=s.Z_OK,this.mode){case s.DEFLATE:case s.DEFLATERAW:case s.GZIP:this.err=et.deflateReset(this.strm);break;case s.INFLATE:case s.INFLATERAW:case s.GUNZIP:this.err=tt.inflateReset(this.strm)}this.err!==s.Z_OK&&this._error("Failed to reset stream")},s.Zlib=it},7946:(o,s,_)=>{var j=_(1048).Buffer,$=_(1983).Transform,et=_(9811),tt=_(9208),nt=_(6093).ok,rt=_(1048).kMaxLength,it="Cannot create final Buffer. It would be larger than 0x"+rt.toString(16)+" bytes";et.Z_MIN_WINDOWBITS=8,et.Z_MAX_WINDOWBITS=15,et.Z_DEFAULT_WINDOWBITS=15,et.Z_MIN_CHUNK=64,et.Z_MAX_CHUNK=1/0,et.Z_DEFAULT_CHUNK=16384,et.Z_MIN_MEMLEVEL=1,et.Z_MAX_MEMLEVEL=9,et.Z_DEFAULT_MEMLEVEL=8,et.Z_MIN_LEVEL=-1,et.Z_MAX_LEVEL=9,et.Z_DEFAULT_LEVEL=et.Z_DEFAULT_COMPRESSION;for(var st=Object.keys(et),Ut=0;Ut=rt?ln=new RangeError(it):qt=j.concat(_t,$t),_t=[],Wt.close(),Tt(ln,qt)}Wt.on("error",function(qt){Wt.removeListener("end",Pt),Wt.removeListener("readable",rn),Tt(qt)}),Wt.on("end",Pt),Wt.end(It),rn()}function mt(Wt,It){if(typeof It=="string"&&(It=j.from(It)),!j.isBuffer(It))throw new TypeError("Not a string or buffer");var Tt=Wt._finishFlushFlag;return Wt._processChunk(It,Tt)}function ht(Wt){if(!(this instanceof ht))return new ht(Wt);Zt.call(this,Wt,et.DEFLATE)}function Vt(Wt){if(!(this instanceof Vt))return new Vt(Wt);Zt.call(this,Wt,et.INFLATE)}function Rt(Wt){if(!(this instanceof Rt))return new Rt(Wt);Zt.call(this,Wt,et.GZIP)}function Dt(Wt){if(!(this instanceof Dt))return new Dt(Wt);Zt.call(this,Wt,et.GUNZIP)}function Ct(Wt){if(!(this instanceof Ct))return new Ct(Wt);Zt.call(this,Wt,et.DEFLATERAW)}function Mt(Wt){if(!(this instanceof Mt))return new Mt(Wt);Zt.call(this,Wt,et.INFLATERAW)}function yt(Wt){if(!(this instanceof yt))return new yt(Wt);Zt.call(this,Wt,et.UNZIP)}function Yt(Wt){return Wt===et.Z_NO_FLUSH||Wt===et.Z_PARTIAL_FLUSH||Wt===et.Z_SYNC_FLUSH||Wt===et.Z_FULL_FLUSH||Wt===et.Z_FINISH||Wt===et.Z_BLOCK}function Zt(Wt,It){var Tt=this;if(this._opts=Wt=Wt||{},this._chunkSize=Wt.chunkSize||s.Z_DEFAULT_CHUNK,$.call(this,Wt),Wt.flush&&!Yt(Wt.flush))throw new Error("Invalid flush flag: "+Wt.flush);if(Wt.finishFlush&&!Yt(Wt.finishFlush))throw new Error("Invalid flush flag: "+Wt.finishFlush);if(this._flushFlag=Wt.flush||et.Z_NO_FLUSH,this._finishFlushFlag=Wt.finishFlush!==void 0?Wt.finishFlush:et.Z_FINISH,Wt.chunkSize&&(Wt.chunkSizes.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+Wt.chunkSize);if(Wt.windowBits&&(Wt.windowBitss.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+Wt.windowBits);if(Wt.level&&(Wt.levels.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+Wt.level);if(Wt.memLevel&&(Wt.memLevels.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+Wt.memLevel);if(Wt.strategy&&Wt.strategy!=s.Z_FILTERED&&Wt.strategy!=s.Z_HUFFMAN_ONLY&&Wt.strategy!=s.Z_RLE&&Wt.strategy!=s.Z_FIXED&&Wt.strategy!=s.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+Wt.strategy);if(Wt.dictionary&&!j.isBuffer(Wt.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new et.Zlib(It);var _t=this;this._hadError=!1,this._handle.onerror=function(Pt,qt){vt(_t),_t._hadError=!0;var ln=new Error(Pt);ln.errno=qt,ln.code=s.codes[qt],_t.emit("error",ln)};var $t=s.Z_DEFAULT_COMPRESSION;typeof Wt.level=="number"&&($t=Wt.level);var rn=s.Z_DEFAULT_STRATEGY;typeof Wt.strategy=="number"&&(rn=Wt.strategy),this._handle.init(Wt.windowBits||s.Z_DEFAULT_WINDOWBITS,$t,Wt.memLevel||s.Z_DEFAULT_MEMLEVEL,rn,Wt.dictionary),this._buffer=j.allocUnsafe(this._chunkSize),this._offset=0,this._level=$t,this._strategy=rn,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!Tt._handle},configurable:!0,enumerable:!0})}function vt(Wt,It){It&&process$1.nextTick(It),Wt._handle&&(Wt._handle.close(),Wt._handle=null)}function bt(Wt){Wt.emit("close")}Object.defineProperty(s,"codes",{enumerable:!0,value:Object.freeze(Ft),writable:!1}),s.Deflate=ht,s.Inflate=Vt,s.Gzip=Rt,s.Gunzip=Dt,s.DeflateRaw=Ct,s.InflateRaw=Mt,s.Unzip=yt,s.createDeflate=function(Wt){return new ht(Wt)},s.createInflate=function(Wt){return new Vt(Wt)},s.createDeflateRaw=function(Wt){return new Ct(Wt)},s.createInflateRaw=function(Wt){return new Mt(Wt)},s.createGzip=function(Wt){return new Rt(Wt)},s.createGunzip=function(Wt){return new Dt(Wt)},s.createUnzip=function(Wt){return new yt(Wt)},s.deflate=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new ht(It),Wt,Tt)},s.deflateSync=function(Wt,It){return mt(new ht(It),Wt)},s.gzip=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new Rt(It),Wt,Tt)},s.gzipSync=function(Wt,It){return mt(new Rt(It),Wt)},s.deflateRaw=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new Ct(It),Wt,Tt)},s.deflateRawSync=function(Wt,It){return mt(new Ct(It),Wt)},s.unzip=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new yt(It),Wt,Tt)},s.unzipSync=function(Wt,It){return mt(new yt(It),Wt)},s.inflate=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new Vt(It),Wt,Tt)},s.inflateSync=function(Wt,It){return mt(new Vt(It),Wt)},s.gunzip=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new Dt(It),Wt,Tt)},s.gunzipSync=function(Wt,It){return mt(new Dt(It),Wt)},s.inflateRaw=function(Wt,It,Tt){return typeof It=="function"&&(Tt=It,It={}),ft(new Mt(It),Wt,Tt)},s.inflateRawSync=function(Wt,It){return mt(new Mt(It),Wt)},tt.inherits(Zt,$),Zt.prototype.params=function(Wt,It,Tt){if(Wts.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+Wt);if(It!=s.Z_FILTERED&&It!=s.Z_HUFFMAN_ONLY&&It!=s.Z_RLE&&It!=s.Z_FIXED&&It!=s.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+It);if(this._level!==Wt||this._strategy!==It){var _t=this;this.flush(et.Z_SYNC_FLUSH,function(){nt(_t._handle,"zlib binding closed"),_t._handle.params(Wt,It),_t._hadError||(_t._level=Wt,_t._strategy=It,Tt&&Tt())})}else process$1.nextTick(Tt)},Zt.prototype.reset=function(){return nt(this._handle,"zlib binding closed"),this._handle.reset()},Zt.prototype._flush=function(Wt){this._transform(j.alloc(0),"",Wt)},Zt.prototype.flush=function(Wt,It){var Tt=this,_t=this._writableState;(typeof Wt=="function"||Wt===void 0&&!It)&&(It=Wt,Wt=et.Z_FULL_FLUSH),_t.ended?It&&process$1.nextTick(It):_t.ending?It&&this.once("end",It):_t.needDrain?It&&this.once("drain",function(){return Tt.flush(Wt,It)}):(this._flushFlag=Wt,this.write(j.alloc(0),"",It))},Zt.prototype.close=function(Wt){vt(this,Wt),process$1.nextTick(bt,this)},Zt.prototype._transform=function(Wt,It,Tt){var _t,$t=this._writableState,rn=($t.ending||$t.ended)&&(!Wt||$t.length===Wt.length);return Wt===null||j.isBuffer(Wt)?this._handle?(rn?_t=this._finishFlushFlag:(_t=this._flushFlag,Wt.length>=$t.length&&(this._flushFlag=this._opts.flush||et.Z_NO_FLUSH)),void this._processChunk(Wt,_t,Tt)):Tt(new Error("zlib binding closed")):Tt(new Error("invalid input"))},Zt.prototype._processChunk=function(Wt,It,Tt){var _t=Wt&&Wt.length,$t=this._chunkSize-this._offset,rn=0,Pt=this,qt=typeof Tt=="function";if(!qt){var ln,an=[],Gt=0;this.on("error",function(fn){ln=fn}),nt(this._handle,"zlib binding closed");do var Ht=this._handle.writeSync(It,Wt,rn,_t,this._buffer,this._offset,$t);while(!this._hadError&&cn(Ht[0],Ht[1]));if(this._hadError)throw ln;if(Gt>=rt)throw vt(this),new RangeError(it);var Un=j.concat(an,Gt);return vt(this),Un}nt(this._handle,"zlib binding closed");var Sn=this._handle.write(It,Wt,rn,_t,this._buffer,this._offset,$t);function cn(fn,sn){if(this&&(this.buffer=null,this.callback=null),!Pt._hadError){var bn=$t-sn;if(nt(bn>=0,"have should not go down"),bn>0){var Cn=Pt._buffer.slice(Pt._offset,Pt._offset+bn);Pt._offset+=bn,qt?Pt.push(Cn):(an.push(Cn),Gt+=Cn.length)}if((sn===0||Pt._offset>=Pt._chunkSize)&&($t=Pt._chunkSize,Pt._offset=0,Pt._buffer=j.allocUnsafe(Pt._chunkSize)),sn===0){if(rn+=_t-fn,_t=fn,!qt)return!0;var Nn=Pt._handle.write(It,Wt,rn,_t,Pt._buffer,Pt._offset,Pt._chunkSize);return Nn.callback=cn,void(Nn.buffer=Wt)}if(!qt)return!1;Tt()}}Sn.buffer=Wt,Sn.callback=cn},tt.inherits(ht,Zt),tt.inherits(Vt,Zt),tt.inherits(Rt,Zt),tt.inherits(Dt,Zt),tt.inherits(Ct,Zt),tt.inherits(Mt,Zt),tt.inherits(yt,Zt)},1048:(o,s,_)=>{const j=_(7991),$=_(9318),et=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=nt,s.SlowBuffer=function(wt){return+wt!=wt&&(wt=0),nt.alloc(+wt)},s.INSPECT_MAX_BYTES=50;function tt(wt){if(wt>2147483647)throw new RangeError('The value "'+wt+'" is invalid for option "size"');const jt=new Uint8Array(wt);return Object.setPrototypeOf(jt,nt.prototype),jt}function nt(wt,jt,zt){if(typeof wt=="number"){if(typeof jt=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return st(wt)}return rt(wt,jt,zt)}function rt(wt,jt,zt){if(typeof wt=="string")return function(Vn,kn){if(typeof kn=="string"&&kn!==""||(kn="utf8"),!nt.isEncoding(kn))throw new TypeError("Unknown encoding: "+kn);const Gn=0|ut(Vn,kn);let nr=tt(Gn);const tr=nr.write(Vn,kn);return tr!==Gn&&(nr=nr.slice(0,tr)),nr}(wt,jt);if(ArrayBuffer.isView(wt))return function(Vn){if(bn(Vn,Uint8Array)){const kn=new Uint8Array(Vn);return ct(kn.buffer,kn.byteOffset,kn.byteLength)}return Ut(Vn)}(wt);if(wt==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof wt);if(bn(wt,ArrayBuffer)||wt&&bn(wt.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(bn(wt,SharedArrayBuffer)||wt&&bn(wt.buffer,SharedArrayBuffer)))return ct(wt,jt,zt);if(typeof wt=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const pn=wt.valueOf&&wt.valueOf();if(pn!=null&&pn!==wt)return nt.from(pn,jt,zt);const yn=function(Vn){if(nt.isBuffer(Vn)){const kn=0|Ft(Vn.length),Gn=tt(kn);return Gn.length===0||Vn.copy(Gn,0,0,kn),Gn}if(Vn.length!==void 0)return typeof Vn.length!="number"||Cn(Vn.length)?tt(0):Ut(Vn);if(Vn.type==="Buffer"&&Array.isArray(Vn.data))return Ut(Vn.data)}(wt);if(yn)return yn;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof wt[Symbol.toPrimitive]=="function")return nt.from(wt[Symbol.toPrimitive]("string"),jt,zt);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof wt)}function it(wt){if(typeof wt!="number")throw new TypeError('"size" argument must be of type number');if(wt<0)throw new RangeError('The value "'+wt+'" is invalid for option "size"')}function st(wt){return it(wt),tt(wt<0?0:0|Ft(wt))}function Ut(wt){const jt=wt.length<0?0:0|Ft(wt.length),zt=tt(jt);for(let pn=0;pn=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647 .toString(16)+" bytes");return 0|wt}function ut(wt,jt){if(nt.isBuffer(wt))return wt.length;if(ArrayBuffer.isView(wt)||bn(wt,ArrayBuffer))return wt.byteLength;if(typeof wt!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof wt);const zt=wt.length,pn=arguments.length>2&&arguments[2]===!0;if(!pn&&zt===0)return 0;let yn=!1;for(;;)switch(jt){case"ascii":case"latin1":case"binary":return zt;case"utf8":case"utf-8":return cn(wt).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*zt;case"hex":return zt>>>1;case"base64":return fn(wt).length;default:if(yn)return pn?-1:cn(wt).length;jt=(""+jt).toLowerCase(),yn=!0}}function Qt(wt,jt,zt){let pn=!1;if((jt===void 0||jt<0)&&(jt=0),jt>this.length||((zt===void 0||zt>this.length)&&(zt=this.length),zt<=0)||(zt>>>=0)<=(jt>>>=0))return"";for(wt||(wt="utf8");;)switch(wt){case"hex":return vt(this,jt,zt);case"utf8":case"utf-8":return yt(this,jt,zt);case"ascii":return Yt(this,jt,zt);case"latin1":case"binary":return Zt(this,jt,zt);case"base64":return Mt(this,jt,zt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return bt(this,jt,zt);default:if(pn)throw new TypeError("Unknown encoding: "+wt);wt=(wt+"").toLowerCase(),pn=!0}}function pt(wt,jt,zt){const pn=wt[jt];wt[jt]=wt[zt],wt[zt]=pn}function ft(wt,jt,zt,pn,yn){if(wt.length===0)return-1;if(typeof zt=="string"?(pn=zt,zt=0):zt>2147483647?zt=2147483647:zt<-2147483648&&(zt=-2147483648),Cn(zt=+zt)&&(zt=yn?0:wt.length-1),zt<0&&(zt=wt.length+zt),zt>=wt.length){if(yn)return-1;zt=wt.length-1}else if(zt<0){if(!yn)return-1;zt=0}if(typeof jt=="string"&&(jt=nt.from(jt,pn)),nt.isBuffer(jt))return jt.length===0?-1:mt(wt,jt,zt,pn,yn);if(typeof jt=="number")return jt&=255,typeof Uint8Array.prototype.indexOf=="function"?yn?Uint8Array.prototype.indexOf.call(wt,jt,zt):Uint8Array.prototype.lastIndexOf.call(wt,jt,zt):mt(wt,[jt],zt,pn,yn);throw new TypeError("val must be string, number or Buffer")}function mt(wt,jt,zt,pn,yn){let Vn,kn=1,Gn=wt.length,nr=jt.length;if(pn!==void 0&&((pn=String(pn).toLowerCase())==="ucs2"||pn==="ucs-2"||pn==="utf16le"||pn==="utf-16le")){if(wt.length<2||jt.length<2)return-1;kn=2,Gn/=2,nr/=2,zt/=2}function tr(cr,Ur){return kn===1?cr[Ur]:cr.readUInt16BE(Ur*kn)}if(yn){let cr=-1;for(Vn=zt;VnGn&&(zt=Gn-nr),Vn=zt;Vn>=0;Vn--){let cr=!0;for(let Ur=0;Uryn&&(pn=yn):pn=yn;const Vn=jt.length;let kn;for(pn>Vn/2&&(pn=Vn/2),kn=0;kn>8,nr=kn%256,tr.push(nr),tr.push(Gn);return tr}(jt,wt.length-zt),wt,zt,pn)}function Mt(wt,jt,zt){return jt===0&&zt===wt.length?j.fromByteArray(wt):j.fromByteArray(wt.slice(jt,zt))}function yt(wt,jt,zt){zt=Math.min(wt.length,zt);const pn=[];let yn=jt;for(;yn239?4:Vn>223?3:Vn>191?2:1;if(yn+Gn<=zt){let nr,tr,cr,Ur;switch(Gn){case 1:Vn<128&&(kn=Vn);break;case 2:nr=wt[yn+1],(192&nr)==128&&(Ur=(31&Vn)<<6|63&nr,Ur>127&&(kn=Ur));break;case 3:nr=wt[yn+1],tr=wt[yn+2],(192&nr)==128&&(192&tr)==128&&(Ur=(15&Vn)<<12|(63&nr)<<6|63&tr,Ur>2047&&(Ur<55296||Ur>57343)&&(kn=Ur));break;case 4:nr=wt[yn+1],tr=wt[yn+2],cr=wt[yn+3],(192&nr)==128&&(192&tr)==128&&(192&cr)==128&&(Ur=(15&Vn)<<18|(63&nr)<<12|(63&tr)<<6|63&cr,Ur>65535&&Ur<1114112&&(kn=Ur))}}kn===null?(kn=65533,Gn=1):kn>65535&&(kn-=65536,pn.push(kn>>>10&1023|55296),kn=56320|1023&kn),pn.push(kn),yn+=Gn}return function(Vn){const kn=Vn.length;if(kn<=4096)return String.fromCharCode.apply(String,Vn);let Gn="",nr=0;for(;nr"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(nt.prototype,"parent",{enumerable:!0,get:function(){if(nt.isBuffer(this))return this.buffer}}),Object.defineProperty(nt.prototype,"offset",{enumerable:!0,get:function(){if(nt.isBuffer(this))return this.byteOffset}}),nt.poolSize=8192,nt.from=function(wt,jt,zt){return rt(wt,jt,zt)},Object.setPrototypeOf(nt.prototype,Uint8Array.prototype),Object.setPrototypeOf(nt,Uint8Array),nt.alloc=function(wt,jt,zt){return function(pn,yn,Vn){return it(pn),pn<=0?tt(pn):yn!==void 0?typeof Vn=="string"?tt(pn).fill(yn,Vn):tt(pn).fill(yn):tt(pn)}(wt,jt,zt)},nt.allocUnsafe=function(wt){return st(wt)},nt.allocUnsafeSlow=function(wt){return st(wt)},nt.isBuffer=function(wt){return wt!=null&&wt._isBuffer===!0&&wt!==nt.prototype},nt.compare=function(wt,jt){if(bn(wt,Uint8Array)&&(wt=nt.from(wt,wt.offset,wt.byteLength)),bn(jt,Uint8Array)&&(jt=nt.from(jt,jt.offset,jt.byteLength)),!nt.isBuffer(wt)||!nt.isBuffer(jt))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(wt===jt)return 0;let zt=wt.length,pn=jt.length;for(let yn=0,Vn=Math.min(zt,pn);ynpn.length?(nt.isBuffer(Vn)||(Vn=nt.from(Vn)),Vn.copy(pn,yn)):Uint8Array.prototype.set.call(pn,Vn,yn);else{if(!nt.isBuffer(Vn))throw new TypeError('"list" argument must be an Array of Buffers');Vn.copy(pn,yn)}yn+=Vn.length}return pn},nt.byteLength=ut,nt.prototype._isBuffer=!0,nt.prototype.swap16=function(){const wt=this.length;if(wt%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let jt=0;jtjt&&(wt+=" ... "),""},et&&(nt.prototype[et]=nt.prototype.inspect),nt.prototype.compare=function(wt,jt,zt,pn,yn){if(bn(wt,Uint8Array)&&(wt=nt.from(wt,wt.offset,wt.byteLength)),!nt.isBuffer(wt))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof wt);if(jt===void 0&&(jt=0),zt===void 0&&(zt=wt?wt.length:0),pn===void 0&&(pn=0),yn===void 0&&(yn=this.length),jt<0||zt>wt.length||pn<0||yn>this.length)throw new RangeError("out of range index");if(pn>=yn&&jt>=zt)return 0;if(pn>=yn)return-1;if(jt>=zt)return 1;if(this===wt)return 0;let Vn=(yn>>>=0)-(pn>>>=0),kn=(zt>>>=0)-(jt>>>=0);const Gn=Math.min(Vn,kn),nr=this.slice(pn,yn),tr=wt.slice(jt,zt);for(let cr=0;cr>>=0,isFinite(zt)?(zt>>>=0,pn===void 0&&(pn="utf8")):(pn=zt,zt=void 0)}const yn=this.length-jt;if((zt===void 0||zt>yn)&&(zt=yn),wt.length>0&&(zt<0||jt<0)||jt>this.length)throw new RangeError("Attempt to write outside buffer bounds");pn||(pn="utf8");let Vn=!1;for(;;)switch(pn){case"hex":return ht(this,wt,jt,zt);case"utf8":case"utf-8":return Vt(this,wt,jt,zt);case"ascii":case"latin1":case"binary":return Rt(this,wt,jt,zt);case"base64":return Dt(this,wt,jt,zt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ct(this,wt,jt,zt);default:if(Vn)throw new TypeError("Unknown encoding: "+pn);pn=(""+pn).toLowerCase(),Vn=!0}},nt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Yt(wt,jt,zt){let pn="";zt=Math.min(wt.length,zt);for(let yn=jt;ynpn)&&(zt=pn);let yn="";for(let Vn=jt;Vnzt)throw new RangeError("Trying to access beyond buffer length")}function It(wt,jt,zt,pn,yn,Vn){if(!nt.isBuffer(wt))throw new TypeError('"buffer" argument must be a Buffer instance');if(jt>yn||jtwt.length)throw new RangeError("Index out of range")}function Tt(wt,jt,zt,pn,yn){Gt(jt,pn,yn,wt,zt,7);let Vn=Number(jt&BigInt(4294967295));wt[zt++]=Vn,Vn>>=8,wt[zt++]=Vn,Vn>>=8,wt[zt++]=Vn,Vn>>=8,wt[zt++]=Vn;let kn=Number(jt>>BigInt(32)&BigInt(4294967295));return wt[zt++]=kn,kn>>=8,wt[zt++]=kn,kn>>=8,wt[zt++]=kn,kn>>=8,wt[zt++]=kn,zt}function _t(wt,jt,zt,pn,yn){Gt(jt,pn,yn,wt,zt,7);let Vn=Number(jt&BigInt(4294967295));wt[zt+7]=Vn,Vn>>=8,wt[zt+6]=Vn,Vn>>=8,wt[zt+5]=Vn,Vn>>=8,wt[zt+4]=Vn;let kn=Number(jt>>BigInt(32)&BigInt(4294967295));return wt[zt+3]=kn,kn>>=8,wt[zt+2]=kn,kn>>=8,wt[zt+1]=kn,kn>>=8,wt[zt]=kn,zt+8}function $t(wt,jt,zt,pn,yn,Vn){if(zt+pn>wt.length)throw new RangeError("Index out of range");if(zt<0)throw new RangeError("Index out of range")}function rn(wt,jt,zt,pn,yn){return jt=+jt,zt>>>=0,yn||$t(wt,0,zt,4),$.write(wt,jt,zt,pn,23,4),zt+4}function Pt(wt,jt,zt,pn,yn){return jt=+jt,zt>>>=0,yn||$t(wt,0,zt,8),$.write(wt,jt,zt,pn,52,8),zt+8}nt.prototype.slice=function(wt,jt){const zt=this.length;(wt=~~wt)<0?(wt+=zt)<0&&(wt=0):wt>zt&&(wt=zt),(jt=jt===void 0?zt:~~jt)<0?(jt+=zt)<0&&(jt=0):jt>zt&&(jt=zt),jt>>=0,jt>>>=0,zt||Wt(wt,jt,this.length);let pn=this[wt],yn=1,Vn=0;for(;++Vn>>=0,jt>>>=0,zt||Wt(wt,jt,this.length);let pn=this[wt+--jt],yn=1;for(;jt>0&&(yn*=256);)pn+=this[wt+--jt]*yn;return pn},nt.prototype.readUint8=nt.prototype.readUInt8=function(wt,jt){return wt>>>=0,jt||Wt(wt,1,this.length),this[wt]},nt.prototype.readUint16LE=nt.prototype.readUInt16LE=function(wt,jt){return wt>>>=0,jt||Wt(wt,2,this.length),this[wt]|this[wt+1]<<8},nt.prototype.readUint16BE=nt.prototype.readUInt16BE=function(wt,jt){return wt>>>=0,jt||Wt(wt,2,this.length),this[wt]<<8|this[wt+1]},nt.prototype.readUint32LE=nt.prototype.readUInt32LE=function(wt,jt){return wt>>>=0,jt||Wt(wt,4,this.length),(this[wt]|this[wt+1]<<8|this[wt+2]<<16)+16777216*this[wt+3]},nt.prototype.readUint32BE=nt.prototype.readUInt32BE=function(wt,jt){return wt>>>=0,jt||Wt(wt,4,this.length),16777216*this[wt]+(this[wt+1]<<16|this[wt+2]<<8|this[wt+3])},nt.prototype.readBigUInt64LE=xn(function(wt){Ht(wt>>>=0,"offset");const jt=this[wt],zt=this[wt+7];jt!==void 0&&zt!==void 0||Un(wt,this.length-8);const pn=jt+256*this[++wt]+65536*this[++wt]+this[++wt]*2**24,yn=this[++wt]+256*this[++wt]+65536*this[++wt]+zt*2**24;return BigInt(pn)+(BigInt(yn)<>>=0,"offset");const jt=this[wt],zt=this[wt+7];jt!==void 0&&zt!==void 0||Un(wt,this.length-8);const pn=jt*2**24+65536*this[++wt]+256*this[++wt]+this[++wt],yn=this[++wt]*2**24+65536*this[++wt]+256*this[++wt]+zt;return(BigInt(pn)<>>=0,jt>>>=0,zt||Wt(wt,jt,this.length);let pn=this[wt],yn=1,Vn=0;for(;++Vn=yn&&(pn-=Math.pow(2,8*jt)),pn},nt.prototype.readIntBE=function(wt,jt,zt){wt>>>=0,jt>>>=0,zt||Wt(wt,jt,this.length);let pn=jt,yn=1,Vn=this[wt+--pn];for(;pn>0&&(yn*=256);)Vn+=this[wt+--pn]*yn;return yn*=128,Vn>=yn&&(Vn-=Math.pow(2,8*jt)),Vn},nt.prototype.readInt8=function(wt,jt){return wt>>>=0,jt||Wt(wt,1,this.length),128&this[wt]?-1*(255-this[wt]+1):this[wt]},nt.prototype.readInt16LE=function(wt,jt){wt>>>=0,jt||Wt(wt,2,this.length);const zt=this[wt]|this[wt+1]<<8;return 32768&zt?4294901760|zt:zt},nt.prototype.readInt16BE=function(wt,jt){wt>>>=0,jt||Wt(wt,2,this.length);const zt=this[wt+1]|this[wt]<<8;return 32768&zt?4294901760|zt:zt},nt.prototype.readInt32LE=function(wt,jt){return wt>>>=0,jt||Wt(wt,4,this.length),this[wt]|this[wt+1]<<8|this[wt+2]<<16|this[wt+3]<<24},nt.prototype.readInt32BE=function(wt,jt){return wt>>>=0,jt||Wt(wt,4,this.length),this[wt]<<24|this[wt+1]<<16|this[wt+2]<<8|this[wt+3]},nt.prototype.readBigInt64LE=xn(function(wt){Ht(wt>>>=0,"offset");const jt=this[wt],zt=this[wt+7];jt!==void 0&&zt!==void 0||Un(wt,this.length-8);const pn=this[wt+4]+256*this[wt+5]+65536*this[wt+6]+(zt<<24);return(BigInt(pn)<>>=0,"offset");const jt=this[wt],zt=this[wt+7];jt!==void 0&&zt!==void 0||Un(wt,this.length-8);const pn=(jt<<24)+65536*this[++wt]+256*this[++wt]+this[++wt];return(BigInt(pn)<>>=0,jt||Wt(wt,4,this.length),$.read(this,wt,!0,23,4)},nt.prototype.readFloatBE=function(wt,jt){return wt>>>=0,jt||Wt(wt,4,this.length),$.read(this,wt,!1,23,4)},nt.prototype.readDoubleLE=function(wt,jt){return wt>>>=0,jt||Wt(wt,8,this.length),$.read(this,wt,!0,52,8)},nt.prototype.readDoubleBE=function(wt,jt){return wt>>>=0,jt||Wt(wt,8,this.length),$.read(this,wt,!1,52,8)},nt.prototype.writeUintLE=nt.prototype.writeUIntLE=function(wt,jt,zt,pn){wt=+wt,jt>>>=0,zt>>>=0,!pn&&It(this,wt,jt,zt,Math.pow(2,8*zt)-1,0);let yn=1,Vn=0;for(this[jt]=255&wt;++Vn>>=0,zt>>>=0,!pn&&It(this,wt,jt,zt,Math.pow(2,8*zt)-1,0);let yn=zt-1,Vn=1;for(this[jt+yn]=255&wt;--yn>=0&&(Vn*=256);)this[jt+yn]=wt/Vn&255;return jt+zt},nt.prototype.writeUint8=nt.prototype.writeUInt8=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,1,255,0),this[jt]=255&wt,jt+1},nt.prototype.writeUint16LE=nt.prototype.writeUInt16LE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,2,65535,0),this[jt]=255&wt,this[jt+1]=wt>>>8,jt+2},nt.prototype.writeUint16BE=nt.prototype.writeUInt16BE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,2,65535,0),this[jt]=wt>>>8,this[jt+1]=255&wt,jt+2},nt.prototype.writeUint32LE=nt.prototype.writeUInt32LE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,4,4294967295,0),this[jt+3]=wt>>>24,this[jt+2]=wt>>>16,this[jt+1]=wt>>>8,this[jt]=255&wt,jt+4},nt.prototype.writeUint32BE=nt.prototype.writeUInt32BE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,4,4294967295,0),this[jt]=wt>>>24,this[jt+1]=wt>>>16,this[jt+2]=wt>>>8,this[jt+3]=255&wt,jt+4},nt.prototype.writeBigUInt64LE=xn(function(wt,jt=0){return Tt(this,wt,jt,BigInt(0),BigInt("0xffffffffffffffff"))}),nt.prototype.writeBigUInt64BE=xn(function(wt,jt=0){return _t(this,wt,jt,BigInt(0),BigInt("0xffffffffffffffff"))}),nt.prototype.writeIntLE=function(wt,jt,zt,pn){if(wt=+wt,jt>>>=0,!pn){const Gn=Math.pow(2,8*zt-1);It(this,wt,jt,zt,Gn-1,-Gn)}let yn=0,Vn=1,kn=0;for(this[jt]=255&wt;++yn>0)-kn&255;return jt+zt},nt.prototype.writeIntBE=function(wt,jt,zt,pn){if(wt=+wt,jt>>>=0,!pn){const Gn=Math.pow(2,8*zt-1);It(this,wt,jt,zt,Gn-1,-Gn)}let yn=zt-1,Vn=1,kn=0;for(this[jt+yn]=255&wt;--yn>=0&&(Vn*=256);)wt<0&&kn===0&&this[jt+yn+1]!==0&&(kn=1),this[jt+yn]=(wt/Vn>>0)-kn&255;return jt+zt},nt.prototype.writeInt8=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,1,127,-128),wt<0&&(wt=255+wt+1),this[jt]=255&wt,jt+1},nt.prototype.writeInt16LE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,2,32767,-32768),this[jt]=255&wt,this[jt+1]=wt>>>8,jt+2},nt.prototype.writeInt16BE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,2,32767,-32768),this[jt]=wt>>>8,this[jt+1]=255&wt,jt+2},nt.prototype.writeInt32LE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,4,2147483647,-2147483648),this[jt]=255&wt,this[jt+1]=wt>>>8,this[jt+2]=wt>>>16,this[jt+3]=wt>>>24,jt+4},nt.prototype.writeInt32BE=function(wt,jt,zt){return wt=+wt,jt>>>=0,zt||It(this,wt,jt,4,2147483647,-2147483648),wt<0&&(wt=4294967295+wt+1),this[jt]=wt>>>24,this[jt+1]=wt>>>16,this[jt+2]=wt>>>8,this[jt+3]=255&wt,jt+4},nt.prototype.writeBigInt64LE=xn(function(wt,jt=0){return Tt(this,wt,jt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),nt.prototype.writeBigInt64BE=xn(function(wt,jt=0){return _t(this,wt,jt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),nt.prototype.writeFloatLE=function(wt,jt,zt){return rn(this,wt,jt,!0,zt)},nt.prototype.writeFloatBE=function(wt,jt,zt){return rn(this,wt,jt,!1,zt)},nt.prototype.writeDoubleLE=function(wt,jt,zt){return Pt(this,wt,jt,!0,zt)},nt.prototype.writeDoubleBE=function(wt,jt,zt){return Pt(this,wt,jt,!1,zt)},nt.prototype.copy=function(wt,jt,zt,pn){if(!nt.isBuffer(wt))throw new TypeError("argument should be a Buffer");if(zt||(zt=0),pn||pn===0||(pn=this.length),jt>=wt.length&&(jt=wt.length),jt||(jt=0),pn>0&&pn=this.length)throw new RangeError("Index out of range");if(pn<0)throw new RangeError("sourceEnd out of bounds");pn>this.length&&(pn=this.length),wt.length-jt>>=0,zt=zt===void 0?this.length:zt>>>0,wt||(wt=0),typeof wt=="number")for(yn=jt;yn=pn+4;zt-=3)jt=`_${wt.slice(zt-3,zt)}${jt}`;return`${wt.slice(0,zt)}${jt}`}function Gt(wt,jt,zt,pn,yn,Vn){if(wt>zt||wt3?jt===0||jt===BigInt(0)?`>= 0${kn} and < 2${kn} ** ${8*(Vn+1)}${kn}`:`>= -(2${kn} ** ${8*(Vn+1)-1}${kn}) and < 2 ** ${8*(Vn+1)-1}${kn}`:`>= ${jt}${kn} and <= ${zt}${kn}`,new qt.ERR_OUT_OF_RANGE("value",Gn,wt)}(function(kn,Gn,nr){Ht(Gn,"offset"),kn[Gn]!==void 0&&kn[Gn+nr]!==void 0||Un(Gn,kn.length-(nr+1))})(pn,yn,Vn)}function Ht(wt,jt){if(typeof wt!="number")throw new qt.ERR_INVALID_ARG_TYPE(jt,"number",wt)}function Un(wt,jt,zt){throw Math.floor(wt)!==wt?(Ht(wt,zt),new qt.ERR_OUT_OF_RANGE(zt||"offset","an integer",wt)):jt<0?new qt.ERR_BUFFER_OUT_OF_BOUNDS:new qt.ERR_OUT_OF_RANGE(zt||"offset",`>= ${zt?1:0} and <= ${jt}`,wt)}ln("ERR_BUFFER_OUT_OF_BOUNDS",function(wt){return wt?wt+" is outside of buffer bounds":"Attempt to access memory outside buffer bounds"},RangeError),ln("ERR_INVALID_ARG_TYPE",function(wt,jt){return`The "${wt}" argument must be of type number. Received type ${typeof jt}`},TypeError),ln("ERR_OUT_OF_RANGE",function(wt,jt,zt){let pn=`The value of "${wt}" is out of range.`,yn=zt;return Number.isInteger(zt)&&Math.abs(zt)>4294967296?yn=an(String(zt)):typeof zt=="bigint"&&(yn=String(zt),(zt>BigInt(2)**BigInt(32)||zt<-(BigInt(2)**BigInt(32)))&&(yn=an(yn)),yn+="n"),pn+=` It must be ${jt}. Received ${yn}`,pn},RangeError);const Sn=/[^+/0-9A-Za-z-_]/g;function cn(wt,jt){let zt;jt=jt||1/0;const pn=wt.length;let yn=null;const Vn=[];for(let kn=0;kn55295&&zt<57344){if(!yn){if(zt>56319){(jt-=3)>-1&&Vn.push(239,191,189);continue}if(kn+1===pn){(jt-=3)>-1&&Vn.push(239,191,189);continue}yn=zt;continue}if(zt<56320){(jt-=3)>-1&&Vn.push(239,191,189),yn=zt;continue}zt=65536+(yn-55296<<10|zt-56320)}else yn&&(jt-=3)>-1&&Vn.push(239,191,189);if(yn=null,zt<128){if((jt-=1)<0)break;Vn.push(zt)}else if(zt<2048){if((jt-=2)<0)break;Vn.push(zt>>6|192,63&zt|128)}else if(zt<65536){if((jt-=3)<0)break;Vn.push(zt>>12|224,zt>>6&63|128,63&zt|128)}else{if(!(zt<1114112))throw new Error("Invalid code point");if((jt-=4)<0)break;Vn.push(zt>>18|240,zt>>12&63|128,zt>>6&63|128,63&zt|128)}}return Vn}function fn(wt){return j.toByteArray(function(jt){if((jt=(jt=jt.split("=")[0]).trim().replace(Sn,"")).length<2)return"";for(;jt.length%4!=0;)jt+="=";return jt}(wt))}function sn(wt,jt,zt,pn){let yn;for(yn=0;yn=jt.length||yn>=wt.length);++yn)jt[yn+zt]=wt[yn];return yn}function bn(wt,jt){return wt instanceof jt||wt!=null&&wt.constructor!=null&&wt.constructor.name!=null&&wt.constructor.name===jt.name}function Cn(wt){return wt!=wt}const Nn=function(){const wt=new Array(256);for(let jt=0;jt<16;++jt){const zt=16*jt;for(let pn=0;pn<16;++pn)wt[zt+pn]="0123456789abcdef"[jt]+"0123456789abcdef"[pn]}return wt}();function xn(wt){return typeof BigInt>"u"?zn:wt}function zn(){throw new Error("BigInt not supported")}},49:o=>{o.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},8165:(o,s,_)=>{var j=_(9138),$=_(6095),et=_(4531),tt=_(7196);o.exports=tt||j.call(et,$)},6095:o=>{o.exports=Function.prototype.apply},4531:o=>{o.exports=Function.prototype.call},9903:(o,s,_)=>{var j=_(9138),$=_(3468),et=_(4531),tt=_(8165);o.exports=function(nt){if(nt.length<1||typeof nt[0]!="function")throw new $("a function is required");return tt(j,et,nt)}},7196:o=>{o.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply},9818:(o,s,_)=>{var j=_(528),$=_(8498),et=$(j("String.prototype.indexOf"));o.exports=function(tt,nt){var rt=j(tt,!!nt);return typeof rt=="function"&&et(tt,".prototype.")>-1?$(rt):rt}},8498:(o,s,_)=>{var j=_(9138),$=_(528),et=_(6108),tt=_(3468),nt=$("%Function.prototype.apply%"),rt=$("%Function.prototype.call%"),it=$("%Reflect.apply%",!0)||j.call(rt,nt),st=_(4940),Ut=$("%Math.max%");o.exports=function(Ft){if(typeof Ft!="function")throw new tt("a function is required");var ut=it(j,rt,arguments);return et(ut,1+Ut(0,Ft.length-(arguments.length-1)),!0)};var ct=function(){return it(j,nt,arguments)};st?st(o.exports,"apply",{value:ct}):o.exports.apply=ct},288:function(o,s){var _=typeof self<"u"?self:this,j=function(){function et(){this.fetch=!1,this.DOMException=_.DOMException}return et.prototype=_,new et}();(function(et){(function(tt){var nt="URLSearchParams"in et,rt="Symbol"in et&&"iterator"in Symbol,it="FileReader"in et&&"Blob"in et&&function(){try{return new Blob,!0}catch{return!1}}(),st="FormData"in et,Ut="ArrayBuffer"in et;if(Ut)var ct=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Ft=ArrayBuffer.isView||function(bt){return bt&&ct.indexOf(Object.prototype.toString.call(bt))>-1};function ut(bt){if(typeof bt!="string"&&(bt=String(bt)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(bt))throw new TypeError("Invalid character in header field name");return bt.toLowerCase()}function Qt(bt){return typeof bt!="string"&&(bt=String(bt)),bt}function pt(bt){var Wt={next:function(){var It=bt.shift();return{done:It===void 0,value:It}}};return rt&&(Wt[Symbol.iterator]=function(){return Wt}),Wt}function ft(bt){this.map={},bt instanceof ft?bt.forEach(function(Wt,It){this.append(It,Wt)},this):Array.isArray(bt)?bt.forEach(function(Wt){this.append(Wt[0],Wt[1])},this):bt&&Object.getOwnPropertyNames(bt).forEach(function(Wt){this.append(Wt,bt[Wt])},this)}function mt(bt){if(bt.bodyUsed)return Promise.reject(new TypeError("Already read"));bt.bodyUsed=!0}function ht(bt){return new Promise(function(Wt,It){bt.onload=function(){Wt(bt.result)},bt.onerror=function(){It(bt.error)}})}function Vt(bt){var Wt=new FileReader,It=ht(Wt);return Wt.readAsArrayBuffer(bt),It}function Rt(bt){if(bt.slice)return bt.slice(0);var Wt=new Uint8Array(bt.byteLength);return Wt.set(new Uint8Array(bt)),Wt.buffer}function Dt(){return this.bodyUsed=!1,this._initBody=function(bt){var Wt;this._bodyInit=bt,bt?typeof bt=="string"?this._bodyText=bt:it&&Blob.prototype.isPrototypeOf(bt)?this._bodyBlob=bt:st&&FormData.prototype.isPrototypeOf(bt)?this._bodyFormData=bt:nt&&URLSearchParams.prototype.isPrototypeOf(bt)?this._bodyText=bt.toString():Ut&&it&&(Wt=bt)&&DataView.prototype.isPrototypeOf(Wt)?(this._bodyArrayBuffer=Rt(bt.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Ut&&(ArrayBuffer.prototype.isPrototypeOf(bt)||Ft(bt))?this._bodyArrayBuffer=Rt(bt):this._bodyText=bt=Object.prototype.toString.call(bt):this._bodyText="",this.headers.get("content-type")||(typeof bt=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):nt&&URLSearchParams.prototype.isPrototypeOf(bt)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},it&&(this.blob=function(){var bt=mt(this);if(bt)return bt;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?mt(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Vt)}),this.text=function(){var bt,Wt,It,Tt=mt(this);if(Tt)return Tt;if(this._bodyBlob)return bt=this._bodyBlob,Wt=new FileReader,It=ht(Wt),Wt.readAsText(bt),It;if(this._bodyArrayBuffer)return Promise.resolve(function(_t){for(var $t=new Uint8Array(_t),rn=new Array($t.length),Pt=0;Pt<$t.length;Pt++)rn[Pt]=String.fromCharCode($t[Pt]);return rn.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},st&&(this.formData=function(){return this.text().then(yt)}),this.json=function(){return this.text().then(JSON.parse)},this}ft.prototype.append=function(bt,Wt){bt=ut(bt),Wt=Qt(Wt);var It=this.map[bt];this.map[bt]=It?It+", "+Wt:Wt},ft.prototype.delete=function(bt){delete this.map[ut(bt)]},ft.prototype.get=function(bt){return bt=ut(bt),this.has(bt)?this.map[bt]:null},ft.prototype.has=function(bt){return this.map.hasOwnProperty(ut(bt))},ft.prototype.set=function(bt,Wt){this.map[ut(bt)]=Qt(Wt)},ft.prototype.forEach=function(bt,Wt){for(var It in this.map)this.map.hasOwnProperty(It)&&bt.call(Wt,this.map[It],It,this)},ft.prototype.keys=function(){var bt=[];return this.forEach(function(Wt,It){bt.push(It)}),pt(bt)},ft.prototype.values=function(){var bt=[];return this.forEach(function(Wt){bt.push(Wt)}),pt(bt)},ft.prototype.entries=function(){var bt=[];return this.forEach(function(Wt,It){bt.push([It,Wt])}),pt(bt)},rt&&(ft.prototype[Symbol.iterator]=ft.prototype.entries);var Ct=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Mt(bt,Wt){var It,Tt,_t=(Wt=Wt||{}).body;if(bt instanceof Mt){if(bt.bodyUsed)throw new TypeError("Already read");this.url=bt.url,this.credentials=bt.credentials,Wt.headers||(this.headers=new ft(bt.headers)),this.method=bt.method,this.mode=bt.mode,this.signal=bt.signal,_t||bt._bodyInit==null||(_t=bt._bodyInit,bt.bodyUsed=!0)}else this.url=String(bt);if(this.credentials=Wt.credentials||this.credentials||"same-origin",!Wt.headers&&this.headers||(this.headers=new ft(Wt.headers)),this.method=(It=Wt.method||this.method||"GET",Tt=It.toUpperCase(),Ct.indexOf(Tt)>-1?Tt:It),this.mode=Wt.mode||this.mode||null,this.signal=Wt.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&_t)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(_t)}function yt(bt){var Wt=new FormData;return bt.trim().split("&").forEach(function(It){if(It){var Tt=It.split("="),_t=Tt.shift().replace(/\+/g," "),$t=Tt.join("=").replace(/\+/g," ");Wt.append(decodeURIComponent(_t),decodeURIComponent($t))}}),Wt}function Yt(bt,Wt){Wt||(Wt={}),this.type="default",this.status=Wt.status===void 0?200:Wt.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in Wt?Wt.statusText:"OK",this.headers=new ft(Wt.headers),this.url=Wt.url||"",this._initBody(bt)}Mt.prototype.clone=function(){return new Mt(this,{body:this._bodyInit})},Dt.call(Mt.prototype),Dt.call(Yt.prototype),Yt.prototype.clone=function(){return new Yt(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new ft(this.headers),url:this.url})},Yt.error=function(){var bt=new Yt(null,{status:0,statusText:""});return bt.type="error",bt};var Zt=[301,302,303,307,308];Yt.redirect=function(bt,Wt){if(Zt.indexOf(Wt)===-1)throw new RangeError("Invalid status code");return new Yt(null,{status:Wt,headers:{location:bt}})},tt.DOMException=et.DOMException;try{new tt.DOMException}catch{tt.DOMException=function(bt,Wt){this.message=bt,this.name=Wt;var It=Error(bt);this.stack=It.stack},tt.DOMException.prototype=Object.create(Error.prototype),tt.DOMException.prototype.constructor=tt.DOMException}function vt(bt,Wt){return new Promise(function(It,Tt){var _t=new Mt(bt,Wt);if(_t.signal&&_t.signal.aborted)return Tt(new tt.DOMException("Aborted","AbortError"));var $t=new XMLHttpRequest;function rn(){$t.abort()}$t.onload=function(){var Pt,qt,ln={status:$t.status,statusText:$t.statusText,headers:(Pt=$t.getAllResponseHeaders()||"",qt=new ft,Pt.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(Gt){var Ht=Gt.split(":"),Un=Ht.shift().trim();if(Un){var Sn=Ht.join(":").trim();qt.append(Un,Sn)}}),qt)};ln.url="responseURL"in $t?$t.responseURL:ln.headers.get("X-Request-URL");var an="response"in $t?$t.response:$t.responseText;It(new Yt(an,ln))},$t.onerror=function(){Tt(new TypeError("Network request failed"))},$t.ontimeout=function(){Tt(new TypeError("Network request failed"))},$t.onabort=function(){Tt(new tt.DOMException("Aborted","AbortError"))},$t.open(_t.method,_t.url,!0),_t.credentials==="include"?$t.withCredentials=!0:_t.credentials==="omit"&&($t.withCredentials=!1),"responseType"in $t&&it&&($t.responseType="blob"),_t.headers.forEach(function(Pt,qt){$t.setRequestHeader(qt,Pt)}),_t.signal&&(_t.signal.addEventListener("abort",rn),$t.onreadystatechange=function(){$t.readyState===4&&_t.signal.removeEventListener("abort",rn)}),$t.send(_t._bodyInit===void 0?null:_t._bodyInit)})}vt.polyfill=!0,et.fetch||(et.fetch=vt,et.Headers=ft,et.Request=Mt,et.Response=Yt),tt.Headers=ft,tt.Request=Mt,tt.Response=Yt,tt.fetch=vt,Object.defineProperty(tt,"__esModule",{value:!0})})({})})(j),j.fetch.ponyfill=!0,delete j.fetch.polyfill;var $=j;(s=$.fetch).default=$.fetch,s.fetch=$.fetch,s.Headers=$.Headers,s.Request=$.Request,s.Response=$.Response,o.exports=s},686:(o,s,_)=>{var j=_(4940),$=_(5731),et=_(3468),tt=_(9336);o.exports=function(nt,rt,it){if(!nt||typeof nt!="object"&&typeof nt!="function")throw new et("`obj` must be an object or a function`");if(typeof rt!="string"&&typeof rt!="symbol")throw new et("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new et("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new et("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new et("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new et("`loose`, if provided, must be a boolean");var st=arguments.length>3?arguments[3]:null,Ut=arguments.length>4?arguments[4]:null,ct=arguments.length>5?arguments[5]:null,Ft=arguments.length>6&&arguments[6],ut=!!tt&&tt(nt,rt);if(j)j(nt,rt,{configurable:ct===null&&ut?ut.configurable:!ct,enumerable:st===null&&ut?ut.enumerable:!st,value:it,writable:Ut===null&&ut?ut.writable:!Ut});else{if(!Ft&&(st||Ut||ct))throw new $("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");nt[rt]=it}}},1857:(o,s,_)=>{var j=_(9228),$=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",et=Object.prototype.toString,tt=Array.prototype.concat,nt=_(686),rt=_(7239)(),it=function(Ut,ct,Ft,ut){if(ct in Ut){if(ut===!0){if(Ut[ct]===Ft)return}else if(typeof(Qt=ut)!="function"||et.call(Qt)!=="[object Function]"||!ut())return}var Qt;rt?nt(Ut,ct,Ft,!0):nt(Ut,ct,Ft)},st=function(Ut,ct){var Ft=arguments.length>2?arguments[2]:{},ut=j(ct);$&&(ut=tt.call(ut,Object.getOwnPropertySymbols(ct)));for(var Qt=0;Qt{var j,$=_(9903),et=_(9336);try{j=[].__proto__===Array.prototype}catch(it){if(!it||typeof it!="object"||!("code"in it)||it.code!=="ERR_PROTO_ACCESS")throw it}var tt=!!j&&et&&et(Object.prototype,"__proto__"),nt=Object,rt=nt.getPrototypeOf;o.exports=tt&&typeof tt.get=="function"?$([tt.get]):typeof rt=="function"&&function(it){return rt(it==null?it:nt(it))}},2078:(o,s,_)=>{const j=_(5365),$=_(5757),et=(tt,nt,rt)=>({from:et,EnvVarError:_(5757),get:function(it){if(!it)return tt;if(arguments.length>1)throw new $("It looks like you passed more than one argument to env.get(). Since env-var@6.0.0 this is no longer supported. To set a default value use env.get(TARGET).default(DEFAULT)");return j(tt,it,nt||{},rt||function(){})},accessors:_(7350),logger:_(7869)(console.log,tt.NODE_ENV)});o.exports=et(function(){try{return process$1.env}catch{return{}}}())},2555:(o,s,_)=>{const j=_(6261);o.exports=function($,et){return et=et||",",$.length?j($).split(et).filter(Boolean):[]}},7808:o=>{o.exports=function(s){const _=s.toLowerCase();if(_!=="false"&&_!=="true")throw new Error('should be either "true", "false", "TRUE", or "FALSE"');return _!=="false"}},3576:o=>{o.exports=function(s){const _=s.toLowerCase();if(["false","0","true","1"].indexOf(_)===-1)throw new Error('should be either "true", "false", "TRUE", "FALSE", 1, or 0');return!(_==="0"||_==="false")}},349:(o,s,_)=>{const j=_(6261),$=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021\u0023-\u005b\u005d-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021-\u005a\u0053-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])+)\])$/;o.exports=function(et){const tt=j(et);if(!$.test(tt))throw new Error("should be a valid email address");return tt}},129:(o,s,_)=>{const j=_(6261);o.exports=function($,et){const tt=j($);if(et.indexOf(tt)<0)throw new Error(`should be one of [${et.join(", ")}]`);return tt}},2222:(o,s,_)=>{const j=_(5384);o.exports=function($){const et=j($);if(et>0)throw new Error("should be a negative float");return et}},3674:(o,s,_)=>{const j=_(5384);o.exports=function($){const et=j($);if(et<0)throw new Error("should be a positive float");return et}},5384:o=>{o.exports=function(s){const _=parseFloat(s);if(isNaN(_)||isNaN(s))throw new Error("should be a valid float");return _}},7350:(o,s,_)=>{o.exports={asArray:_(2555),asSet:_(7374),asBoolStrict:_(7808),asBool:_(3576),asPortNumber:_(4647),asEnum:_(129),asFloatNegative:_(2222),asFloatPositive:_(3674),asFloat:_(5384),asIntNegative:_(8455),asIntPositive:_(879),asInt:_(9799),asJsonArray:_(9974),asJsonObject:_(8124),asJson:_(3566),asRegExp:_(1045),asString:_(6261),asUrlObject:_(6912),asUrlString:_(5549),asEmailString:_(349)}},8455:(o,s,_)=>{const j=_(9799);o.exports=function($){const et=j($);if(et>0)throw new Error("should be a negative integer");return et}},879:(o,s,_)=>{const j=_(9799);o.exports=function($){const et=j($);if(et<0)throw new Error("should be a positive integer");return et}},9799:o=>{o.exports=function(s){const _=parseInt(s,10);if(isNaN(_)||_.toString(10)!==s)throw new Error("should be a valid integer");return _}},9974:(o,s,_)=>{const j=_(3566);o.exports=function($){var et=j($);if(!Array.isArray(et))throw new Error("should be a parseable JSON Array");return et}},8124:(o,s,_)=>{const j=_(3566);o.exports=function($){var et=j($);if(Array.isArray(et))throw new Error("should be a parseable JSON Object");return et}},3566:o=>{o.exports=function(s){try{return JSON.parse(s)}catch{throw new Error("should be valid (parseable) JSON")}}},4647:(o,s,_)=>{const j=_(879);o.exports=function($){var et=j($);if(et>65535)throw new Error("cannot assign a port number greater than 65535");return et}},1045:o=>{o.exports=function(s,_){try{RegExp(void 0,_)}catch{throw new Error("invalid regexp flags")}try{return new RegExp(s,_)}catch{throw new Error("should be a valid regexp")}}},7374:(o,s,_)=>{const j=_(2555);o.exports=function($,et){return $.length?new Set(j($,et)):new Set}},6261:o=>{o.exports=function(s){return s}},6912:(o,s,_)=>{const j=_(6261);o.exports=function($){const et=j($);try{return new URL(et)}catch{throw new Error("should be a valid URL")}}},5549:(o,s,_)=>{const j=_(6912);o.exports=function($){return j($).toString()}},5757:o=>{class s extends Error{constructor(j,...$){super("env-var: "+j,...$),Error.captureStackTrace&&Error.captureStackTrace(this,s),this.name="EnvVarError"}}o.exports=s},7869:o=>{o.exports=function(s,_){return function(j,$){_&&_.match(/prod|production/)||s(`env-var (${j}): ${$}`)}}},5365:(o,s,_)=>{const j=_(5757),$=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/;o.exports=function(et,tt,nt,rt){let it,st,Ut=!1,ct=!1;const Ft=_(7350);function ut(ft){rt(tt,ft)}function Qt(ft,mt){let ht=`"${tt}" ${mt}`;throw ft&&(ht=""+ht),st&&(ht=`${ht}. An example of a valid value would be: ${st}`),new j(ht)}const pt={convertFromBase64:function(){return ut("marking for base64 conversion"),Ut=!0,pt},default:function(ft){if(typeof ft=="number")it=ft.toString();else if(Array.isArray(ft)||typeof ft=="object"&&ft!==null)it=JSON.stringify(ft);else{if(typeof ft!="string")throw new j("values passed to default() must be of Number, String, Array, or Object type");it=ft}return ut(`setting default value to "${it}"`),pt},required:function(ft){return ft===void 0?(ut("marked as required"),ct=!0):(ut("setting required flag to "+ft),ct=ft),pt},example:function(ft){return st=ft,pt}};return Object.entries({...Ft,...nt}).forEach(([ft,mt])=>{pt[ft]=function(ht){return function(){let Vt=et[tt];if(ut(`will be read from the environment using "${ht.name}" accessor`),Vt===void 0)if(it===void 0&&ct)ut("was not found in the environment, but is required to be set"),Qt(void 0,"is a required variable, but it was not set");else{if(it===void 0)return void ut("was not found in the environment, but is not required. returning undefined");ut(`was not found in the environment, parsing default value "${it}" instead`),Vt=it}ct&&(ut("verifying variable value is not an empty string"),Vt.trim().length===0&&Qt(void 0,"is a required variable, but its value was empty")),Ut&&(ut("verifying variable is a valid base64 string"),Vt.match($)||Qt(Vt,"should be a valid base64 string if using convertFromBase64"),ut("converting from base64 to utf8 string"),Vt=Buffer.from(Vt,"base64").toString());const Rt=[Vt].concat(Array.prototype.slice.call(arguments));try{ut(`passing value "${Vt}" to "${ht.name}" accessor`);const Dt=ht.apply(ht,Rt);return ut("parsed successfully, returning "+Dt),Dt}catch(Dt){Qt(Vt,Dt.message)}}}(mt)}),pt}},4940:o=>{var s=Object.defineProperty||!1;if(s)try{s({},"a",{value:1})}catch{s=!1}o.exports=s},9110:o=>{o.exports=EvalError},9838:o=>{o.exports=Error},1155:o=>{o.exports=RangeError},4943:o=>{o.exports=ReferenceError},5731:o=>{o.exports=SyntaxError},3468:o=>{o.exports=TypeError},2140:o=>{o.exports=URIError},9629:o=>{o.exports=Object},46:o=>{var s,_=typeof Reflect=="object"?Reflect:null,j=_&&typeof _.apply=="function"?_.apply:function(pt,ft,mt){return Function.prototype.apply.call(pt,ft,mt)};s=_&&typeof _.ownKeys=="function"?_.ownKeys:Object.getOwnPropertySymbols?function(pt){return Object.getOwnPropertyNames(pt).concat(Object.getOwnPropertySymbols(pt))}:function(pt){return Object.getOwnPropertyNames(pt)};var $=Number.isNaN||function(pt){return pt!=pt};function et(){et.init.call(this)}o.exports=et,o.exports.once=function(pt,ft){return new Promise(function(mt,ht){function Vt(Dt){pt.removeListener(ft,Rt),ht(Dt)}function Rt(){typeof pt.removeListener=="function"&&pt.removeListener("error",Vt),mt([].slice.call(arguments))}Qt(pt,ft,Rt,{once:!0}),ft!=="error"&&function(Dt,Ct,Mt){typeof Dt.on=="function"&&Qt(Dt,"error",Ct,Mt)}(pt,Vt,{once:!0})})},et.EventEmitter=et,et.prototype._events=void 0,et.prototype._eventsCount=0,et.prototype._maxListeners=void 0;var tt=10;function nt(pt){if(typeof pt!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof pt)}function rt(pt){return pt._maxListeners===void 0?et.defaultMaxListeners:pt._maxListeners}function it(pt,ft,mt,ht){var Vt,Rt,Dt,Ct;if(nt(mt),(Rt=pt._events)===void 0?(Rt=pt._events=Object.create(null),pt._eventsCount=0):(Rt.newListener!==void 0&&(pt.emit("newListener",ft,mt.listener?mt.listener:mt),Rt=pt._events),Dt=Rt[ft]),Dt===void 0)Dt=Rt[ft]=mt,++pt._eventsCount;else if(typeof Dt=="function"?Dt=Rt[ft]=ht?[mt,Dt]:[Dt,mt]:ht?Dt.unshift(mt):Dt.push(mt),(Vt=rt(pt))>0&&Dt.length>Vt&&!Dt.warned){Dt.warned=!0;var Mt=new Error("Possible EventEmitter memory leak detected. "+Dt.length+" "+String(ft)+" listeners added. Use emitter.setMaxListeners() to increase limit");Mt.name="MaxListenersExceededWarning",Mt.emitter=pt,Mt.type=ft,Mt.count=Dt.length,Ct=Mt,console&&console.warn&&console.warn(Ct)}return pt}function st(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ut(pt,ft,mt){var ht={fired:!1,wrapFn:void 0,target:pt,type:ft,listener:mt},Vt=st.bind(ht);return Vt.listener=mt,ht.wrapFn=Vt,Vt}function ct(pt,ft,mt){var ht=pt._events;if(ht===void 0)return[];var Vt=ht[ft];return Vt===void 0?[]:typeof Vt=="function"?mt?[Vt.listener||Vt]:[Vt]:mt?function(Rt){for(var Dt=new Array(Rt.length),Ct=0;Ct0&&(Rt=ft[0]),Rt instanceof Error)throw Rt;var Dt=new Error("Unhandled error."+(Rt?" ("+Rt.message+")":""));throw Dt.context=Rt,Dt}var Ct=Vt[pt];if(Ct===void 0)return!1;if(typeof Ct=="function")j(Ct,this,ft);else{var Mt=Ct.length,yt=ut(Ct,Mt);for(mt=0;mt=0;Rt--)if(mt[Rt]===ft||mt[Rt].listener===ft){Dt=mt[Rt].listener,Vt=Rt;break}if(Vt<0)return this;Vt===0?mt.shift():function(Ct,Mt){for(;Mt+1=0;ht--)this.removeListener(pt,ft[ht]);return this},et.prototype.listeners=function(pt){return ct(this,pt,!0)},et.prototype.rawListeners=function(pt){return ct(this,pt,!1)},et.listenerCount=function(pt,ft){return typeof pt.listenerCount=="function"?pt.listenerCount(ft):Ft.call(pt,ft)},et.prototype.listenerCount=Ft,et.prototype.eventNames=function(){return this._eventsCount>0?s(this._events):[]}},6075:o=>{o.exports=function(s,_){_||(_={}),typeof _=="function"&&(_={cmp:_});var j,$=typeof _.cycles=="boolean"&&_.cycles,et=_.cmp&&(j=_.cmp,function(nt){return function(rt,it){var st={key:rt,value:nt[rt]},Ut={key:it,value:nt[it]};return j(st,Ut)}}),tt=[];return function nt(rt){if(rt&&rt.toJSON&&typeof rt.toJSON=="function"&&(rt=rt.toJSON()),rt!==void 0){if(typeof rt=="number")return isFinite(rt)?""+rt:"null";if(typeof rt!="object")return JSON.stringify(rt);var it,st;if(Array.isArray(rt)){for(st="[",it=0;it=mt-1){var Ct=ht.subarray(0,Rt);if(Vt.push(String.fromCharCode.apply(null,Ct)),!Dt)return Vt.join("");pt=pt.subarray(ft),ft=0,Rt=0}var Mt=pt[ft++];if(!(128&Mt))ht[Rt++]=Mt;else if((224&Mt)==192){var yt=63&pt[ft++];ht[Rt++]=(31&Mt)<<6|yt}else if((240&Mt)==224){yt=63&pt[ft++];var Yt=63&pt[ft++];ht[Rt++]=(31&Mt)<<12|yt<<6|Yt}else if((248&Mt)==240){var Zt=(7&Mt)<<18|(yt=63&pt[ft++])<<12|(Yt=63&pt[ft++])<<6|63&pt[ft++];Zt>65535&&(Zt-=65536,ht[Rt++]=Zt>>>10&1023|55296,Zt=56320|1023&Zt),ht[Rt++]=Zt}}}var et="Failed to ",tt=function(pt,ft,mt){if(pt)throw new Error("".concat(et).concat(ft,": the '").concat(mt,"' option is unsupported."))},nt=typeof Buffer=="function"&&Buffer.from,rt=nt?function(pt){return Buffer.from(pt)}:function(pt){for(var ft=0,mt=pt.length,ht=0,Vt=Math.max(32,mt+(mt>>>1)+7),Rt=new Uint8Array(Vt>>>3<<3);ft=55296&&Dt<=56319){if(ft=55296&&Dt<=56319)continue}if(ht+4>Rt.length){Vt+=8,Vt=(Vt*=1+ft/pt.length*2)>>>3<<3;var Mt=new Uint8Array(Vt);Mt.set(Rt),Rt=Mt}if(4294967168&Dt){if(!(4294965248&Dt))Rt[ht++]=Dt>>>6&31|192;else if(!(4294901760&Dt))Rt[ht++]=Dt>>>12&15|224,Rt[ht++]=Dt>>>6&63|128;else{if(4292870144&Dt)continue;Rt[ht++]=Dt>>>18&7|240,Rt[ht++]=Dt>>>12&63|128,Rt[ht++]=Dt>>>6&63|128}Rt[ht++]=63&Dt|128}else Rt[ht++]=Dt}return Rt.slice?Rt.slice(0,ht):Rt.subarray(0,ht)};function it(){this.encoding="utf-8"}it.prototype.encode=function(pt,ft){return tt(ft&&ft.stream,"encode","stream"),rt(pt)};var st=!nt&&typeof Blob=="function"&&typeof URL=="function"&&typeof URL.createObjectURL=="function",Ut=["utf-8","utf8","unicode-1-1-utf-8"],ct=$;nt?ct=function(pt,ft){return(pt instanceof Buffer?pt:Buffer.from(pt.buffer,pt.byteOffset,pt.byteLength)).toString(ft)}:st&&(ct=function(pt){try{return function(ft){var mt;try{var ht=new Blob([ft],{type:"text/plain;charset=UTF-8"});mt=URL.createObjectURL(ht);var Vt=new XMLHttpRequest;return Vt.open("GET",mt,!1),Vt.send(),Vt.responseText}finally{mt&&URL.revokeObjectURL(mt)}}(pt)}catch{return $(pt)}});var Ft="construct 'TextDecoder'",ut="".concat(et," ").concat(Ft,": the ");function Qt(pt,ft){if(tt(ft&&ft.fatal,Ft,"fatal"),pt=pt||"utf-8",!(nt?Buffer.isEncoding(pt):Ut.indexOf(pt.toLowerCase())!==-1))throw new RangeError("".concat(ut," encoding label provided ('").concat(pt,"') is invalid."));this.encoding=pt,this.fatal=!1,this.ignoreBOM=!1}Qt.prototype.decode=function(pt,ft){var mt;return tt(ft&&ft.stream,"decode","stream"),mt=pt instanceof Uint8Array?pt:pt.buffer instanceof ArrayBuffer?new Uint8Array(pt.buffer):new Uint8Array(pt),ct(mt,this.encoding)},j.TextEncoder=j.TextEncoder||it,j.TextDecoder=j.TextDecoder||Qt})(typeof window<"u"?window:_.g!==void 0?_.g:this)},4798:(o,s,_)=>{_.r(s),_.d(s,{assign:()=>rt,default:()=>vt,defaultI18n:()=>ct,format:()=>Yt,parse:()=>Zt,setGlobalDateI18n:()=>ut,setGlobalDateMasks:()=>yt});var j=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,$="[^\\s]+",et=/\[([^]*?)\]/gm;function tt(bt,Wt){for(var It=[],Tt=0,_t=bt.length;Tt<_t;Tt++)It.push(bt[Tt].substr(0,Wt));return It}var nt=function(bt){return function(Wt,It){var Tt=It[bt].map(function(_t){return _t.toLowerCase()}).indexOf(Wt.toLowerCase());return Tt>-1?Tt:null}};function rt(bt){for(var Wt=[],It=1;It3?0:(bt-bt%10!=10?1:0)*bt%10]}},Ft=rt({},ct),ut=function(bt){return Ft=rt(Ft,bt)},Qt=function(bt){return bt.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},pt=function(bt,Wt){for(Wt===void 0&&(Wt=2),bt=String(bt);bt.length0?"-":"+")+pt(100*Math.floor(Math.abs(Wt)/60)+Math.abs(Wt)%60,4)},Z:function(bt){var Wt=bt.getTimezoneOffset();return(Wt>0?"-":"+")+pt(Math.floor(Math.abs(Wt)/60),2)+":"+pt(Math.abs(Wt)%60,2)}},mt=function(bt){return+bt-1},ht=[null,"\\d\\d?"],Vt=[null,$],Rt=["isPm",$,function(bt,Wt){var It=bt.toLowerCase();return It===Wt.amPm[0]?0:It===Wt.amPm[1]?1:null}],Dt=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(bt){var Wt=(bt+"").match(/([+-]|\d\d)/gi);if(Wt){var It=60*+Wt[1]+parseInt(Wt[2],10);return Wt[0]==="+"?It:-It}return 0}],Ct={D:["day","\\d\\d?"],DD:["day","\\d\\d"],Do:["day","\\d\\d?"+$,function(bt){return parseInt(bt,10)}],M:["month","\\d\\d?",mt],MM:["month","\\d\\d",mt],YY:["year","\\d\\d",function(bt){var Wt=+(""+new Date().getFullYear()).substr(0,2);return+(""+(+bt>68?Wt-1:Wt)+bt)}],h:["hour","\\d\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","\\d\\d?"],HH:["hour","\\d\\d"],m:["minute","\\d\\d?"],mm:["minute","\\d\\d"],s:["second","\\d\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(bt){return 100*+bt}],SS:["millisecond","\\d\\d",function(bt){return 10*+bt}],SSS:["millisecond","\\d{3}"],d:ht,dd:ht,ddd:Vt,dddd:Vt,MMM:["month",$,nt("monthNamesShort")],MMMM:["month",$,nt("monthNames")],a:Rt,A:Rt,ZZ:Dt,Z:Dt},Mt={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},yt=function(bt){return rt(Mt,bt)},Yt=function(bt,Wt,It){if(Wt===void 0&&(Wt=Mt.default),It===void 0&&(It={}),typeof bt=="number"&&(bt=new Date(bt)),Object.prototype.toString.call(bt)!=="[object Date]"||isNaN(bt.getTime()))throw new Error("Invalid Date pass to format");var Tt=[];Wt=(Wt=Mt[Wt]||Wt).replace(et,function($t,rn){return Tt.push(rn),"@@@"});var _t=rt(rt({},Ft),It);return(Wt=Wt.replace(j,function($t){return ft[$t](bt,_t)})).replace(/@@@/g,function(){return Tt.shift()})};function Zt(bt,Wt,It){if(It===void 0&&(It={}),typeof Wt!="string")throw new Error("Invalid format in fecha parse");if(Wt=Mt[Wt]||Wt,bt.length>1e3)return null;var Tt={year:new Date().getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},_t=[],$t=[],rn=Wt.replace(et,function(Cn,Nn){return $t.push(Qt(Nn)),"@@@"}),Pt={},qt={};rn=Qt(rn).replace(j,function(Cn){var Nn=Ct[Cn],xn=Nn[0],zn=Nn[1],wt=Nn[3];if(Pt[xn])throw new Error("Invalid format. "+xn+" specified twice in format");return Pt[xn]=!0,wt&&(qt[wt]=!0),_t.push(Nn),"("+zn+")"}),Object.keys(qt).forEach(function(Cn){if(!Pt[Cn])throw new Error("Invalid format. "+Cn+" is required in specified format")}),rn=rn.replace(/@@@/g,function(){return $t.shift()});var ln=bt.match(new RegExp(rn,"i"));if(!ln)return null;for(var an,Gt=rt(rt({},Ft),It),Ht=1;Ht11||Tt.month<0||Tt.day>31||Tt.day<1||Tt.hour>23||Tt.hour<0||Tt.minute>59||Tt.minute<0||Tt.second>59||Tt.second<0)return null;return an}const vt={format:Yt,parse:Zt,defaultI18n:ct,setGlobalDateI18n:ut,setGlobalDateMasks:yt}},9827:o=>{var s=Object.prototype.toString;o.exports=function(_){if(typeof _.displayName=="string"&&_.constructor.name)return _.displayName;if(typeof _.name=="string"&&_.name)return _.name;if(typeof _=="object"&&_.constructor&&typeof _.constructor.name=="string")return _.constructor.name;var j=_.toString(),$=s.call(_).slice(8,-1);return(j=$==="Function"?j.substring(j.indexOf("(")+1,j.indexOf(")")):$)||"anonymous"}},705:(o,s,_)=>{var j=_(9617),$=Object.prototype.toString,et=Object.prototype.hasOwnProperty,tt=function(it,st,Ut){for(var ct=0,Ft=it.length;ct=3&&(ct=Ut),$.call(it)==="[object Array]"?tt(it,st,ct):typeof it=="string"?nt(it,st,ct):rt(it,st,ct)}},8794:o=>{var s="Function.prototype.bind called on incompatible ",_=Object.prototype.toString,j=Math.max,$=function(nt,rt){for(var it=[],st=0;st{var j=_(8794);o.exports=Function.prototype.bind||j},528:(o,s,_)=>{var j=_(9629),$=_(9838),et=_(9110),tt=_(1155),nt=_(4943),rt=_(5731),it=_(3468),st=_(2140),Ut=_(8479),ct=_(8449),Ft=_(8129),ut=_(2387),Qt=_(5865),pt=_(1319),ft=_(6882),mt=Function,ht=function(sn){try{return mt('"use strict"; return ('+sn+").constructor;")()}catch{}},Vt=_(9336),Rt=_(4940),Dt=function(){throw new it},Ct=Vt?function(){try{return Dt}catch{try{return Vt(arguments,"callee").get}catch{return Dt}}}():Dt,Mt=_(3558)(),yt=_(6369),Yt=_(7345),Zt=_(7859),vt=_(6095),bt=_(4531),Wt={},It=typeof Uint8Array<"u"&&yt?yt(Uint8Array):void 0,Tt={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?void 0:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?void 0:ArrayBuffer,"%ArrayIteratorPrototype%":Mt&&yt?yt([][Symbol.iterator]()):void 0,"%AsyncFromSyncIteratorPrototype%":void 0,"%AsyncFunction%":Wt,"%AsyncGenerator%":Wt,"%AsyncGeneratorFunction%":Wt,"%AsyncIteratorPrototype%":Wt,"%Atomics%":typeof Atomics>"u"?void 0:Atomics,"%BigInt%":typeof BigInt>"u"?void 0:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?void 0:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?void 0:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?void 0:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":$,"%eval%":eval,"%EvalError%":et,"%Float16Array%":typeof Float16Array>"u"?void 0:Float16Array,"%Float32Array%":typeof Float32Array>"u"?void 0:Float32Array,"%Float64Array%":typeof Float64Array>"u"?void 0:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?void 0:FinalizationRegistry,"%Function%":mt,"%GeneratorFunction%":Wt,"%Int8Array%":typeof Int8Array>"u"?void 0:Int8Array,"%Int16Array%":typeof Int16Array>"u"?void 0:Int16Array,"%Int32Array%":typeof Int32Array>"u"?void 0:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Mt&&yt?yt(yt([][Symbol.iterator]())):void 0,"%JSON%":typeof JSON=="object"?JSON:void 0,"%Map%":typeof Map>"u"?void 0:Map,"%MapIteratorPrototype%":typeof Map<"u"&&Mt&&yt?yt(new Map()[Symbol.iterator]()):void 0,"%Math%":Math,"%Number%":Number,"%Object%":j,"%Object.getOwnPropertyDescriptor%":Vt,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?void 0:Promise,"%Proxy%":typeof Proxy>"u"?void 0:Proxy,"%RangeError%":tt,"%ReferenceError%":nt,"%Reflect%":typeof Reflect>"u"?void 0:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?void 0:Set,"%SetIteratorPrototype%":typeof Set<"u"&&Mt&&yt?yt(new Set()[Symbol.iterator]()):void 0,"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?void 0:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Mt&&yt?yt(""[Symbol.iterator]()):void 0,"%Symbol%":Mt?Symbol:void 0,"%SyntaxError%":rt,"%ThrowTypeError%":Ct,"%TypedArray%":It,"%TypeError%":it,"%Uint8Array%":typeof Uint8Array>"u"?void 0:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?void 0:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?void 0:Uint32Array,"%URIError%":st,"%WeakMap%":typeof WeakMap>"u"?void 0:WeakMap,"%WeakRef%":typeof WeakRef>"u"?void 0:WeakRef,"%WeakSet%":typeof WeakSet>"u"?void 0:WeakSet,"%Function.prototype.call%":bt,"%Function.prototype.apply%":vt,"%Object.defineProperty%":Rt,"%Object.getPrototypeOf%":Yt,"%Math.abs%":Ut,"%Math.floor%":ct,"%Math.max%":Ft,"%Math.min%":ut,"%Math.pow%":Qt,"%Math.round%":pt,"%Math.sign%":ft,"%Reflect.getPrototypeOf%":Zt};if(yt)try{null.error}catch(sn){var _t=yt(yt(sn));Tt["%Error.prototype%"]=_t}var $t={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},rn=_(9138),Pt=_(8554),qt=rn.call(bt,Array.prototype.concat),ln=rn.call(vt,Array.prototype.splice),an=rn.call(bt,String.prototype.replace),Gt=rn.call(bt,String.prototype.slice),Ht=rn.call(bt,RegExp.prototype.exec),Un=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Sn=/\\(\\)?/g,cn=function(sn){var bn=Gt(sn,0,1),Cn=Gt(sn,-1);if(bn==="%"&&Cn!=="%")throw new rt("invalid intrinsic syntax, expected closing `%`");if(Cn==="%"&&bn!=="%")throw new rt("invalid intrinsic syntax, expected opening `%`");var Nn=[];return an(sn,Un,function(xn,zn,wt,jt){Nn[Nn.length]=wt?an(jt,Sn,"$1"):zn||xn}),Nn},fn=function(sn,bn){var Cn,Nn=sn;if(Pt($t,Nn)&&(Nn="%"+(Cn=$t[Nn])[0]+"%"),Pt(Tt,Nn)){var xn=Tt[Nn];if(xn===Wt&&(xn=function zn(wt){var jt;if(wt==="%AsyncFunction%")jt=ht("async function () {}");else if(wt==="%GeneratorFunction%")jt=ht("function* () {}");else if(wt==="%AsyncGeneratorFunction%")jt=ht("async function* () {}");else if(wt==="%AsyncGenerator%"){var zt=zn("%AsyncGeneratorFunction%");zt&&(jt=zt.prototype)}else if(wt==="%AsyncIteratorPrototype%"){var pn=zn("%AsyncGenerator%");pn&&yt&&(jt=yt(pn.prototype))}return Tt[wt]=jt,jt}(Nn)),xn===void 0&&!bn)throw new it("intrinsic "+sn+" exists, but is not available. Please file an issue!");return{alias:Cn,name:Nn,value:xn}}throw new rt("intrinsic "+sn+" does not exist!")};o.exports=function(sn,bn){if(typeof sn!="string"||sn.length===0)throw new it("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof bn!="boolean")throw new it('"allowMissing" argument must be a boolean');if(Ht(/^%?[^%]*%?$/,sn)===null)throw new rt("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Cn=cn(sn),Nn=Cn.length>0?Cn[0]:"",xn=fn("%"+Nn+"%",bn),zn=xn.name,wt=xn.value,jt=!1,zt=xn.alias;zt&&(Nn=zt[0],ln(Cn,qt([0,1],zt)));for(var pn=1,yn=!0;pn=Cn.length){var nr=Vt(wt,Vn);wt=(yn=!!nr)&&"get"in nr&&!("originalValue"in nr.get)?nr.get:wt[Vn]}else yn=Pt(wt,Vn),wt=wt[Vn];yn&&!jt&&(Tt[zn]=wt)}}return wt}},7345:(o,s,_)=>{var j=_(9629);o.exports=j.getPrototypeOf||null},7859:o=>{o.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null},6369:(o,s,_)=>{var j=_(7859),$=_(7345),et=_(6423);o.exports=j?function(tt){return j(tt)}:$?function(tt){if(!tt||typeof tt!="object"&&typeof tt!="function")throw new TypeError("getProto: not an object");return $(tt)}:et?function(tt){return et(tt)}:null},7186:function(__unused_webpack_module,exports,__webpack_require__){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(o,s,_){o instanceof String&&(o=String(o));for(var j=o.length,$=0;$=$}},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(o){return o||function(s,_){return $jscomp.findInternal(this,s,_).v}},"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",function(o){return o||function(s,_){var j=$jscomp.checkStringArgs(this,s,"startsWith");s+="";var $=j.length,et=s.length;_=Math.max(0,Math.min(0|_,j.length));for(var tt=0;tt=et}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(o){return o||function(s){var _=$jscomp.checkStringArgs(this,null,"repeat");if(0>s||1342177279>>=1)&&(_+=_);return j}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.exportPath_=function(o,s,_){o=o.split("."),_=_||goog.global,o[0]in _||_.execScript===void 0||_.execScript("var "+o[0]);for(var j;o.length&&(j=o.shift());)o.length||s===void 0?_=_[j]&&_[j]!==Object.prototype[j]?_[j]:_[j]={}:_[j]=s},goog.define=function(o,s){return s},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(o){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(o)},goog.constructNamespace_=function(o,s){goog.exportPath_(o,s)},goog.getScriptNonce=function(o){return o&&o!=goog.global?goog.getScriptNonce_(o.document):(goog.cspNonce_===null&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(o){return(o=o.querySelector&&o.querySelector("script[nonce]"))&&(o=o.nonce||o.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(o)?o:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(o){if(typeof o!="string"||!o||o.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+o+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=o},goog.module.get=function(o){return goog.module.getInternal_(o)},goog.module.getInternal_=function(o){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var o=goog.global.$jscomp;return!!o&&typeof o.getCurrentModulePath=="function"&&!!o.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(o){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=o;else{var s=goog.global.$jscomp;if(!s||typeof s.getCurrentModulePath!="function")throw Error('Module with namespace "'+o+'" has been loaded incorrectly.');s=s.require(s.getCurrentModulePath()),goog.loadedModules_[o]={exports:s,type:goog.ModuleType.ES6,moduleId:o}}},goog.setTestOnly=function(o){if(goog.DISALLOW_TEST_ONLY_CODE)throw o=o||"",Error("Importing test-only code into non-debug environment"+(o?": "+o:"."))},goog.forwardDeclare=function(o){},goog.getObjectByName=function(o,s){o=o.split("."),s=s||goog.global;for(var _=0;_>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(o){var s=goog.typeOf(o);if(s=="object"||s=="array"){if(typeof o.clone=="function")return o.clone();for(var _ in s=s=="array"?[]:{},o)s[_]=goog.cloneObject(o[_]);return s}return o},goog.bindNative_=function(o,s,_){return o.call.apply(o.bind,arguments)},goog.bindJs_=function(o,s,_){if(!o)throw Error();if(2_?Math.max(0,o.length+_):_,typeof o=="string")return typeof s!="string"||s.length!=1?-1:o.indexOf(s,_);for(;_(_=_??o.length-1)&&(_=Math.max(0,o.length+_)),typeof o=="string")return typeof s!="string"||s.length!=1?-1:o.lastIndexOf(s,_);for(;0<=_;_--)if(_ in o&&o[_]===s)return _;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,s,_){goog.asserts.assert(o.length!=null),Array.prototype.forEach.call(o,s,_)}:function(o,s,_){for(var j=o.length,$=typeof o=="string"?o.split(""):o,et=0;et(s=goog.array.findIndex(o,s,_))?null:typeof o=="string"?o.charAt(s):o[s]},goog.array.findIndex=function(o,s,_){for(var j=o.length,$=typeof o=="string"?o.split(""):o,et=0;et(s=goog.array.findIndexRight(o,s,_))?null:typeof o=="string"?o.charAt(s):o[s]},goog.array.findIndexRight=function(o,s,_){var j=o.length,$=typeof o=="string"?o.split(""):o;for(--j;0<=j;j--)if(j in $&&s.call(_,$[j],j,o))return j;return-1},goog.array.contains=function(o,s){return 0<=goog.array.indexOf(o,s)},goog.array.isEmpty=function(o){return o.length==0},goog.array.clear=function(o){if(!Array.isArray(o))for(var s=o.length-1;0<=s;s--)delete o[s];o.length=0},goog.array.insert=function(o,s){goog.array.contains(o,s)||o.push(s)},goog.array.insertAt=function(o,s,_){goog.array.splice(o,_,0,s)},goog.array.insertArrayAt=function(o,s,_){goog.partial(goog.array.splice,o,_,0).apply(null,s)},goog.array.insertBefore=function(o,s,_){var j;arguments.length==2||0>(j=goog.array.indexOf(o,_))?o.push(s):goog.array.insertAt(o,s,j)},goog.array.remove=function(o,s){var _;return(_=0<=(s=goog.array.indexOf(o,s)))&&goog.array.removeAt(o,s),_},goog.array.removeLast=function(o,s){return 0<=(s=goog.array.lastIndexOf(o,s))&&(goog.array.removeAt(o,s),!0)},goog.array.removeAt=function(o,s){return goog.asserts.assert(o.length!=null),Array.prototype.splice.call(o,s,1).length==1},goog.array.removeIf=function(o,s,_){return 0<=(s=goog.array.findIndex(o,s,_))&&(goog.array.removeAt(o,s),!0)},goog.array.removeAllIf=function(o,s,_){var j=0;return goog.array.forEachRight(o,function($,et){s.call(_,$,et,o)&&goog.array.removeAt(o,et)&&j++}),j},goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(o){var s=o.length;if(0=arguments.length?Array.prototype.slice.call(o,s):Array.prototype.slice.call(o,s,_)},goog.array.removeDuplicates=function(o,s,_){s=s||o;var j=function(rt){return goog.isObject(rt)?"o"+goog.getUid(rt):(typeof rt).charAt(0)+rt};_=_||j,j={};for(var $=0,et=0;et>>1),it=_?s.call($,o[rt],rt,o):s(j,o[rt]);0s?1:o(_=goog.array.binarySearch(o,s,_))&&(goog.array.insertAt(o,s,-(_+1)),!0)},goog.array.binaryRemove=function(o,s,_){return 0<=(s=goog.array.binarySearch(o,s,_))&&goog.array.removeAt(o,s)},goog.array.bucket=function(o,s,_){for(var j={},$=0;$(_=_||1)*(et-$))return[];if(0<_)for(o=$;oet;o+=_)j.push(o);return j},goog.array.repeat=function(o,s){for(var _=[],j=0;js&&Array.prototype.push.apply(o,o.splice(0,-s))),o},goog.array.moveItem=function(o,s,_){goog.asserts.assert(0<=s&&s>=8),s[_++]=$}return s},goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var s="",_=0;_$?s[_++]=$:(2048>$?s[_++]=$>>6|192:((64512&$)==55296&&j+1>18|240,s[_++]=$>>12&63|128):s[_++]=$>>12|224,s[_++]=$>>6&63|128),s[_++]=63&$|128)}return s},goog.crypt.utf8ByteArrayToString=function(o){for(var s=[],_=0,j=0;_$)s[j++]=String.fromCharCode($);else if(191<$&&224>$){var et=o[_++];s[j++]=String.fromCharCode((31&$)<<6|63&et)}else if(239<$&&365>$){et=o[_++];var tt=o[_++];$=((7&$)<<18|(63&et)<<12|(63&tt)<<6|63&o[_++])-65536,s[j++]=String.fromCharCode(55296+($>>10)),s[j++]=String.fromCharCode(56320+(1023&$))}else et=o[_++],tt=o[_++],s[j++]=String.fromCharCode((15&$)<<12|(63&et)<<6|63&tt)}return s.join("")},goog.crypt.xorByteArray=function(o,s){goog.asserts.assert(o.length==s.length,"XOR array lengths must match");for(var _=[],j=0;j"}},goog.dom.asserts.getWindow_=function(o){try{var s=o&&o.ownerDocument,_=s&&(s.defaultView||s.parentWindow);if((_=_||goog.global).Element&&_.Location)return _}catch{}return null},goog.functions={},goog.functions.constant=function(o){return function(){return o}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(o,s){return o},goog.functions.error=function(o){return function(){throw Error(o)}},goog.functions.fail=function(o){return function(){throw o}},goog.functions.lock=function(o,s){return s=s||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,s))}},goog.functions.nth=function(o){return function(){return arguments[o]}},goog.functions.partialRight=function(o,s){var _=Array.prototype.slice.call(arguments,1);return function(){var j=Array.prototype.slice.call(arguments);return j.push.apply(j,_),o.apply(this,j)}},goog.functions.withReturnValue=function(o,s){return goog.functions.sequence(o,goog.functions.constant(s))},goog.functions.equalTo=function(o,s){return function(_){return s?o==_:o===_}},goog.functions.compose=function(o,s){var _=arguments,j=_.length;return function(){var $;j&&($=_[j-1].apply(this,arguments));for(var et=j-2;0<=et;et--)$=_[et].call(this,$);return $}},goog.functions.sequence=function(o){var s=arguments,_=s.length;return function(){for(var j,$=0;$<_;$++)j=s[$].apply(this,arguments);return j}},goog.functions.and=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(!s[j].apply(this,arguments))return!1;return!0}},goog.functions.or=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(s[j].apply(this,arguments))return!0;return!1}},goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}},goog.functions.create=function(o,s){var _=function(){};return _.prototype=o.prototype,_=new _,o.apply(_,Array.prototype.slice.call(arguments,1)),_},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(o){var s,_=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(_||(s=o(),_=!0),s):o()}},goog.functions.once=function(o){var s=o;return function(){if(s){var _=s;s=null,_()}}},goog.functions.debounce=function(o,s,_){var j=0;return function($){goog.global.clearTimeout(j);var et=arguments;j=goog.global.setTimeout(function(){o.apply(_,et)},s)}},goog.functions.throttle=function(o,s,_){var j=0,$=!1,et=[],tt=function(){j=0,$&&($=!1,nt())},nt=function(){j=goog.global.setTimeout(tt,s),o.apply(_,et)};return function(rt){et=arguments,j?$=!0:nt()}},goog.functions.rateLimit=function(o,s,_){var j=0,$=function(){j=0};return function(et){j||(j=goog.global.setTimeout($,s),o.apply(_,arguments))}},goog.dom.HtmlElement=function(){},goog.dom.TagName=function(o){this.tagName_=o},goog.dom.TagName.prototype.toString=function(){return this.tagName_},goog.dom.TagName.A=new goog.dom.TagName("A"),goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR"),goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM"),goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS"),goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET"),goog.dom.TagName.AREA=new goog.dom.TagName("AREA"),goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"),goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE"),goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO"),goog.dom.TagName.B=new goog.dom.TagName("B"),goog.dom.TagName.BASE=new goog.dom.TagName("BASE"),goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT"),goog.dom.TagName.BDI=new goog.dom.TagName("BDI"),goog.dom.TagName.BDO=new goog.dom.TagName("BDO"),goog.dom.TagName.BIG=new goog.dom.TagName("BIG"),goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE"),goog.dom.TagName.BODY=new goog.dom.TagName("BODY"),goog.dom.TagName.BR=new goog.dom.TagName("BR"),goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON"),goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS"),goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION"),goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER"),goog.dom.TagName.CITE=new goog.dom.TagName("CITE"),goog.dom.TagName.CODE=new goog.dom.TagName("CODE"),goog.dom.TagName.COL=new goog.dom.TagName("COL"),goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"),goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND"),goog.dom.TagName.DATA=new goog.dom.TagName("DATA"),goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST"),goog.dom.TagName.DD=new goog.dom.TagName("DD"),goog.dom.TagName.DEL=new goog.dom.TagName("DEL"),goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS"),goog.dom.TagName.DFN=new goog.dom.TagName("DFN"),goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG"),goog.dom.TagName.DIR=new goog.dom.TagName("DIR"),goog.dom.TagName.DIV=new goog.dom.TagName("DIV"),goog.dom.TagName.DL=new goog.dom.TagName("DL"),goog.dom.TagName.DT=new goog.dom.TagName("DT"),goog.dom.TagName.EM=new goog.dom.TagName("EM"),goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED"),goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET"),goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION"),goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE"),goog.dom.TagName.FONT=new goog.dom.TagName("FONT"),goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER"),goog.dom.TagName.FORM=new goog.dom.TagName("FORM"),goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME"),goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET"),goog.dom.TagName.H1=new goog.dom.TagName("H1"),goog.dom.TagName.H2=new goog.dom.TagName("H2"),goog.dom.TagName.H3=new goog.dom.TagName("H3"),goog.dom.TagName.H4=new goog.dom.TagName("H4"),goog.dom.TagName.H5=new goog.dom.TagName("H5"),goog.dom.TagName.H6=new goog.dom.TagName("H6"),goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD"),goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"),goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP"),goog.dom.TagName.HR=new goog.dom.TagName("HR"),goog.dom.TagName.HTML=new goog.dom.TagName("HTML"),goog.dom.TagName.I=new goog.dom.TagName("I"),goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME"),goog.dom.TagName.IMG=new goog.dom.TagName("IMG"),goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT"),goog.dom.TagName.INS=new goog.dom.TagName("INS"),goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX"),goog.dom.TagName.KBD=new goog.dom.TagName("KBD"),goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN"),goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL"),goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND"),goog.dom.TagName.LI=new goog.dom.TagName("LI"),goog.dom.TagName.LINK=new goog.dom.TagName("LINK"),goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN"),goog.dom.TagName.MAP=new goog.dom.TagName("MAP"),goog.dom.TagName.MARK=new goog.dom.TagName("MARK"),goog.dom.TagName.MATH=new goog.dom.TagName("MATH"),goog.dom.TagName.MENU=new goog.dom.TagName("MENU"),goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM"),goog.dom.TagName.META=new goog.dom.TagName("META"),goog.dom.TagName.METER=new goog.dom.TagName("METER"),goog.dom.TagName.NAV=new goog.dom.TagName("NAV"),goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES"),goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT"),goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT"),goog.dom.TagName.OL=new goog.dom.TagName("OL"),goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP"),goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION"),goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"),goog.dom.TagName.P=new goog.dom.TagName("P"),goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM"),goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE"),goog.dom.TagName.PRE=new goog.dom.TagName("PRE"),goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS"),goog.dom.TagName.Q=new goog.dom.TagName("Q"),goog.dom.TagName.RP=new goog.dom.TagName("RP"),goog.dom.TagName.RT=new goog.dom.TagName("RT"),goog.dom.TagName.RTC=new goog.dom.TagName("RTC"),goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY"),goog.dom.TagName.S=new goog.dom.TagName("S"),goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"),goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT"),goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION"),goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT"),goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL"),goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE"),goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN"),goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE"),goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG"),goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"),goog.dom.TagName.SUB=new goog.dom.TagName("SUB"),goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY"),goog.dom.TagName.SUP=new goog.dom.TagName("SUP"),goog.dom.TagName.SVG=new goog.dom.TagName("SVG"),goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE"),goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY"),goog.dom.TagName.TD=new goog.dom.TagName("TD"),goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE"),goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA"),goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"),goog.dom.TagName.TH=new goog.dom.TagName("TH"),goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD"),goog.dom.TagName.TIME=new goog.dom.TagName("TIME"),goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE"),goog.dom.TagName.TR=new goog.dom.TagName("TR"),goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK"),goog.dom.TagName.TT=new goog.dom.TagName("TT"),goog.dom.TagName.U=new goog.dom.TagName("U"),goog.dom.TagName.UL=new goog.dom.TagName("UL"),goog.dom.TagName.VAR=new goog.dom.TagName("VAR"),goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO"),goog.dom.TagName.WBR=new goog.dom.TagName("WBR"),goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(o){return goog.dom.tags.VOID_TAGS_[o]===!0},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.string={},goog.string.TypedString=function(){},goog.string.Const=function(o,s){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.DEBUG&&(goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"}),goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")},goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0,goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeScript.fromConstant=function(o){return(o=goog.string.Const.unwrap(o)).length===0?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeScript.fromConstantAndArgs=function(o,s){for(var _=[],j=1;jo?goog.i18n.bidi.Dir.RTL:s?null:goog.i18n.bidi.Dir.NEUTRAL:o==null?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\uD801\uD804-\uD839\uD83C-\uDBFF豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\uD802-\uD803\uD83A-\uD83Bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(o,s){return s?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(o,s){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(o,s){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)},goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)},goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(o,s){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(o,s){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(o,s){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(o,s){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(o,s){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(o,s){return s=(s===void 0?goog.i18n.bidi.hasAnyRtl(o):s)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,s+"$&"+s)},goog.i18n.bidi.enforceRtlInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=rtl"):` +`+o+""},goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=ltr"):` +`+o+""},goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(o,s){var _=0,j=0,$=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s).split(goog.i18n.bidi.wordSeparatorRe_),s=0;sgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(o,s){return goog.i18n.bidi.estimateDirection(o,s)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(o,s){o&&(s=goog.i18n.bidi.toDir(s))&&(o.style.textAlign=s==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=s==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(o,s){switch(goog.i18n.bidi.estimateDirection(s)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(o,s){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=o===goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,s){var _=goog.html.TrustedResourceUrl.unwrap(this),j=(_=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(_))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(_[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",_[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",j,s))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.format=function(o,s){var _=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(_))throw Error("Invalid TrustedResourceUrl format: "+_);return o=_.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(j,$){if(!Object.prototype.hasOwnProperty.call(s,$))throw Error('Found marker, "'+$+'", in format string, "'+_+'", but no valid label mapping found in args: '+JSON.stringify(s));return(j=s[$])instanceof goog.string.Const?goog.string.Const.unwrap(j):encodeURIComponent(String(j))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(o,s,_,j){return goog.html.TrustedResourceUrl.format(o,s).cloneWithParams(_,j)},goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.TrustedResourceUrl.fromConstants=function(o){for(var s="",_=0;_o.length?"&":"")+encodeURIComponent(j)+"="+encodeURIComponent(String(tt)))}}return s},goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.internal={},goog.string.internal.startsWith=function(o,s){return o.lastIndexOf(s,0)==0},goog.string.internal.endsWith=function(o,s){var _=o.length-s.length;return 0<=_&&o.indexOf(s,_)==_},goog.string.internal.caseInsensitiveStartsWith=function(o,s){return goog.string.internal.caseInsensitiveCompare(s,o.substr(0,s.length))==0},goog.string.internal.caseInsensitiveEndsWith=function(o,s){return goog.string.internal.caseInsensitiveCompare(s,o.substr(o.length-s.length,s.length))==0},goog.string.internal.caseInsensitiveEquals=function(o,s){return o.toLowerCase()==s.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(o){return/^[\s\xa0]*$/.test(o)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(o){return o.trim()}:function(o){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(o)[1]},goog.string.internal.caseInsensitiveCompare=function(o,s){return(o=String(o).toLowerCase())<(s=String(s).toLowerCase())?-1:o==s?0:1},goog.string.internal.newLineToBr=function(o,s){return o.replace(/(\r\n|\r|\n)/g,s?"
":"
")},goog.string.internal.htmlEscape=function(o,s){if(s)o=o.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(o))return o;o.indexOf("&")!=-1&&(o=o.replace(goog.string.internal.AMP_RE_,"&")),o.indexOf("<")!=-1&&(o=o.replace(goog.string.internal.LT_RE_,"<")),o.indexOf(">")!=-1&&(o=o.replace(goog.string.internal.GT_RE_,">")),o.indexOf('"')!=-1&&(o=o.replace(goog.string.internal.QUOT_RE_,""")),o.indexOf("'")!=-1&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),o.indexOf("\0")!=-1&&(o=o.replace(goog.string.internal.NULL_RE_,"�"))}return o},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=//g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(o,s){return goog.string.internal.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.internal.contains=function(o,s){return o.indexOf(s)!=-1},goog.string.internal.caseInsensitiveContains=function(o,s){return goog.string.internal.contains(o.toLowerCase(),s.toLowerCase())},goog.string.internal.compareVersions=function(o,s){var _=0;o=goog.string.internal.trim(String(o)).split("."),s=goog.string.internal.trim(String(s)).split(".");for(var j=Math.max(o.length,s.length),$=0;_==0&&$s?1:0},goog.html.SafeUrl=function(o,s){this.privateDoNotAccessOrElseSafeUrlWrappedValue_=o===goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)},goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SafeUrl.isSafeMimeType(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromMediaSource=function(o){return goog.asserts.assert("MediaSource"in goog.global,"No support for MediaSource"),o=o instanceof MediaSource?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.DATA_URL_PATTERN_=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(o){var s=(o=o.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return s=s&&goog.html.SafeUrl.isSafeMimeType(s[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s?o:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var s=o.indexOf("#");if(0+~[\]()=^$|]+$/.test(_))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(_))throw Error("() and [] in selector must be balanced, got: "+o);return s instanceof goog.html.SafeStyle||(s=goog.html.SafeStyle.create(s)),o=o+"{"+goog.html.SafeStyle.unwrap(s).replace(/",null)},goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.html.SafeHtml.create=function(o,s,_){return goog.html.SafeHtml.verifyTagName(String(o)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(o),s,_)},goog.html.SafeHtml.verifyTagName=function(o){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(o))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Invalid tag name <"+o+">.":"");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Tag name <"+o+"> is not allowed for SafeHtml.":"")},goog.html.SafeHtml.createIframe=function(o,s,_,j){o&&goog.html.TrustedResourceUrl.unwrap(o);var $={};return $.src=o||null,$.srcdoc=s&&goog.html.SafeHtml.unwrap(s),o=goog.html.SafeHtml.combineAttributes($,{sandbox:""},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.createSandboxIframe=function(o,s,_,j){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"The browser does not support sandboxed iframes.":"");var $={};return $.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,$.srcdoc=s||null,$.sandbox="",o=goog.html.SafeHtml.combineAttributes($,{},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(o,s){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},s),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(o,s){for(var _ in s){var j=_.toLowerCase();if(j=="language"||j=="src"||j=="text"||j=="type")throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot set "'+j+'" attribute':"")}for(_="",o=goog.array.concat(o),j=0;j does not allow content."),$+=">"):(j=goog.html.SafeHtml.concat(_),$+=">"+goog.html.SafeHtml.unwrap(j)+"",j=j.getDirection()),(o=s&&s.dir)&&(j=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse($,j)},goog.html.SafeHtml.stringifyAttributes=function(o,s){var _="";if(s)for(var j in s){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(j))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Invalid attribute name "'+j+'".':"");var $=s[j];$!=null&&(_+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,j,$))}return _},goog.html.SafeHtml.combineAttributes=function(o,s,_){var j,$={};for(j in o)goog.asserts.assert(j.toLowerCase()==j,"Must be lower case"),$[j]=o[j];for(j in s)goog.asserts.assert(j.toLowerCase()==j,"Must be lower case"),$[j]=s[j];if(_)for(j in _){var et=j.toLowerCase();if(et in o)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot override "'+et+'" attribute, got "'+j+'" with value "'+_[j]+'"':"");et in s&&delete $[et],$[j]=_[j]}return $},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("
",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,s,_){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(s,_||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(s)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(o,s,_){o.insertAdjacentHTML(s,goog.html.SafeHtml.unwrapTrustedHTML(_))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&typeof document>"u")return!1;var o=document.createElement("div"),s=document.createElement("div");return s.appendChild(document.createElement("div")),o.appendChild(s),!(goog.DEBUG&&!o.firstChild)&&(s=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!s.parentElement)}),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,s){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setInnerHtml=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[_])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,s)},goog.dom.safe.setOuterHtml=function(o,s){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setFormElementAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setButtonFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setInputFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setStyle=function(o,s){o.style.cssText=goog.html.SafeStyle.unwrap(s)},goog.dom.safe.documentWrite=function(o,s){o.write(goog.html.SafeHtml.unwrapTrustedHTML(s))},goog.dom.safe.setAnchorHref=function(o,s){goog.dom.asserts.assertIsHTMLAnchorElement(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setImageSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:image\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setAudioSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:audio\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setVideoSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:video\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setEmbedSrc=function(o,s){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setFrameSrc=function(o,s){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrap(s)},goog.dom.safe.setIframeSrc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrap(s)},goog.dom.safe.setIframeSrcdoc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setLinkHrefAndRel=function(o,s,_){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=_,goog.string.internal.caseInsensitiveContains(_,"stylesheet")?(goog.asserts.assert(s instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrap(s)):o.href=s instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(s):s instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(s):goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeAssertUnchanged(s))},goog.dom.safe.setObjectData=function(o,s){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setScriptSrc=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setScriptContent=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setLocationHref=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.assignLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.assign(goog.html.SafeUrl.unwrap(s))},goog.dom.safe.replaceLocation=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.replace(goog.html.SafeUrl.unwrap(s))},goog.dom.safe.openInWindow=function(o,s,_,j,$){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),s=s||goog.global,_=_ instanceof goog.string.Const?goog.string.Const.unwrap(_):_||"",s.open(goog.html.SafeUrl.unwrap(o),_,j,$)},goog.dom.safe.parseFromStringHtml=function(o,s){return goog.dom.safe.parseFromString(o,s,"text/html")},goog.dom.safe.parseFromString=function(o,s,_){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(s),_)},goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var s=goog.global.URL.createObjectURL(o);return(o=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(s)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),s)),o},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(o,s){for(var _=o.split("%s"),j="",$=Array.prototype.slice.call(arguments,1);$.length&&1<_.length;)j+=_.shift()+$.shift();return j+_.join("%s")},goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(o){return o.length==0},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)},goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)},goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)},goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)},goog.string.isSpace=function(o){return o==" "},goog.string.isUnicodeChar=function(o){return o.length==1&&" "<=o&&"~">=o||"€"<=o&&"�">=o},goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,` +`)},goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(o,s,_){if(o==s)return 0;if(!o)return-1;if(!s)return 1;for(var j=o.toLowerCase().match(_),$=s.toLowerCase().match(_),et=Math.min(j.length,$.length),tt=0;tt",""":'"'},j=s?s.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function($,et){var tt=_[$];return tt||(et.charAt(0)=="#"&&(et=+("0"+et.substr(1)),isNaN(et)||(tt=String.fromCharCode(et))),tt||(goog.dom.safe.setInnerHtml(j,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),$+" ")),tt=j.firstChild.nodeValue.slice(0,-1)),_[$]=tt)})},goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(s,_){switch(_){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return _.charAt(0)!="#"||(_=+("0"+_.substr(1)),isNaN(_))?s:String.fromCharCode(_)}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(o,s){return goog.string.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(o,s){for(var _=s.length,j=0;j<_;j++){var $=_==1?s:s.charAt(j);if(o.charAt(0)==$&&o.charAt(o.length-1)==$)return o.substring(1,o.length-1)}return o},goog.string.truncate=function(o,s,_){return _&&(o=goog.string.unescapeEntities(o)),o.length>s&&(o=o.substring(0,s-3)+"..."),_&&(o=goog.string.htmlEscape(o)),o},goog.string.truncateMiddle=function(o,s,_,j){if(_&&(o=goog.string.unescapeEntities(o)),j&&o.length>s){j>s&&(j=s);var $=o.length-j;o=o.substring(0,s-j)+"..."+o.substring($)}else o.length>s&&(j=Math.floor(s/2),$=o.length-j,o=o.substring(0,j+s%2)+"..."+o.substring($));return _&&(o=goog.string.htmlEscape(o)),o},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(o){o=String(o);for(var s=['"'],_=0;_$?j:goog.string.escapeChar(j))}return s.push('"'),s.join("")},goog.string.escapeString=function(o){for(var s=[],_=0;_s)var _=o;else 256>s?(_="\\x",(16>s||256s&&(_+="0")),_+=s.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=_},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(o,s){return o&&s?o.split(s).length-1:0},goog.string.removeAt=function(o,s,_){var j=o;return 0<=s&&s>>0;return s},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(o){var s=Number(o);return s==0&&goog.string.isEmptyOrWhitespace(o)?NaN:s},goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)},goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)},goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(s,_){return _.toUpperCase()})},goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(o,s){return s=typeof s=="string"?goog.string.regExpEscape(s):"\\s",o.replace(new RegExp("(^"+(s?"|["+s+"]+":"")+")([a-z])","g"),function(_,j,$){return j+$.toUpperCase()})},goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()},goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),typeof o=="string"?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN},goog.string.splitLimit=function(o,s,_){o=o.split(s);for(var j=[];0<_&&o.length;)j.push(o.shift()),_--;return o.length&&j.push(o.join(s)),j},goog.string.lastComponent=function(o,s){if(!s)return o;typeof s=="string"&&(s=[s]);for(var _=-1,j=0;j_&&(_=$)}return _==-1?o:o.slice(_+1)},goog.string.editDistance=function(o,s){var _=[],j=[];if(o==s)return 0;if(!o.length||!s.length)return Math.max(o.length,s.length);for(var $=0;$parseFloat(o)?String(s):o},goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(o):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(o):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(o):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(o):void 0},goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(o,s){return goog.string.compareVersions(o,s)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE){var o=goog.userAgent.getDocumentMode_();return o||parseInt(goog.userAgent.VERSION,10)||void 0}}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)},goog.crypt.base64.byteToCharMaps_={},goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function",goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function",goog.crypt.base64.encodeByteArray=function(o,s){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),s===void 0&&(s=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),s=goog.crypt.base64.byteToCharMaps_[s];for(var _=[],j=0;j>2;$=(3&$)<<4|tt>>4,tt=(15&tt)<<2|rt>>6,rt&=63,nt||(rt=64,et||(tt=64)),_.push(s[it],s[$],s[tt]||"",s[rt]||"")}return _.join("")},goog.crypt.base64.encodeString=function(o,s){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!s?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),s)},goog.crypt.base64.decodeString=function(o,s){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!s)return goog.global.atob(o);var _="";return goog.crypt.base64.decodeStringInternal_(o,function(j){_+=String.fromCharCode(j)}),_},goog.crypt.base64.decodeStringToByteArray=function(o,s){var _=[];return goog.crypt.base64.decodeStringInternal_(o,function(j){_.push(j)}),_},goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var s=o.length,_=3*s/4;_%3?_=Math.floor(_):goog.crypt.base64.isPadding_(o[s-1])&&(_=goog.crypt.base64.isPadding_(o[s-2])?_-2:_-1);var j=new Uint8Array(_),$=0;return goog.crypt.base64.decodeStringInternal_(o,function(et){j[$++]=et}),j.subarray(0,$)},goog.crypt.base64.decodeStringInternal_=function(o,s){function _(rt){for(;j>4),tt!=64&&(s(et<<4&240|tt>>2),nt!=64&&s(tt<<6&192|nt))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),s=["+/=","+/","-_=","-_.","-_"],_=0;5>_;_++){var j=o.concat(s[_].split(""));goog.crypt.base64.byteToCharMaps_[_]=j;for(var $=0;$>>0;o=Math.floor((o-s)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=s,jspb.utils.split64High=o},jspb.utils.splitInt64=function(o){var s=0>o,_=(o=Math.abs(o))>>>0;o=Math.floor((o-_)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,s&&(o=~o>>>0,4294967295<(_=1+(~_>>>0))&&(_=0,4294967295<++o&&(o=0))),jspb.utils.split64Low=_,jspb.utils.split64High=o},jspb.utils.splitZigzag64=function(o){var s=0>o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;s&&(o==0?_==0?_=o=4294967295:(_--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=_},jspb.utils.splitFloat32=function(o){var s=0>o?1:0;if((o=s?-o:o)===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|2139095040)>>>0;else if(o>>0;else{var _=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-_),16777216<=(o=Math.round(o*jspb.BinaryConstants.TWO_TO_23))&&++_,jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|_+127<<23|8388607&o)>>>0}},jspb.utils.splitFloat64=function(o){var s=0>o?1:0;if((o=s?-o:o)===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(s<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o>>0,jspb.utils.split64Low=_>>>0}else{var j=0;if(2<=(_=o))for(;2<=_&&1023>j;)j++,_/=2;else for(;1>_&&-1022>>0,jspb.utils.split64High=(s<<31|j+1023<<20|o)>>>0,jspb.utils.split64Low=_}},jspb.utils.splitHash64=function(o){var s=o.charCodeAt(0),_=o.charCodeAt(1),j=o.charCodeAt(2),$=o.charCodeAt(3),et=o.charCodeAt(4),tt=o.charCodeAt(5),nt=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=s+(_<<8)+(j<<16)+($<<24)>>>0,jspb.utils.split64High=et+(tt<<8)+(nt<<16)+(o<<24)>>>0},jspb.utils.joinUint64=function(o,s){return s*jspb.BinaryConstants.TWO_TO_32+(o>>>0)},jspb.utils.joinInt64=function(o,s){var _=2147483648&s;return _&&(s=~s>>>0,(o=1+~o>>>0)==0&&(s=s+1>>>0)),o=jspb.utils.joinUint64(o,s),_?-o:o},jspb.utils.toZigzag64=function(o,s,_){var j=s>>31;return _(o<<1^j,(s<<1|o>>>31)^j)},jspb.utils.joinZigzag64=function(o,s){return jspb.utils.fromZigzag64(o,s,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(o,s,_){var j=-(1&o);return _((o>>>1|s<<31)^j,s>>>1^j)},jspb.utils.joinFloat32=function(o,s){s=2*(o>>31)+1;var _=o>>>23&255;return o&=8388607,_==255?o?NaN:1/0*s:_==0?s*Math.pow(2,-149)*o:s*Math.pow(2,_-150)*(o+Math.pow(2,23))},jspb.utils.joinFloat64=function(o,s){var _=2*(s>>31)+1,j=s>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(1048575&s)+o,j==2047?o?NaN:1/0*_:j==0?_*Math.pow(2,-1074)*o:_*Math.pow(2,j-1075)*(o+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(o,s){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,s>>>0&255,s>>>8&255,s>>>16&255,s>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(o,s){function _($,et){return $=$?String($):"",et?"0000000".slice($.length)+$:$}if(2097151>=s)return""+jspb.utils.joinUint64(o,s);var j=(o>>>24|s<<8)>>>0&16777215;return o=(16777215&o)+6777216*j+6710656*(s=s>>16&65535),j+=8147497*s,s*=2,1e7<=o&&(j+=Math.floor(o/1e7),o%=1e7),1e7<=j&&(s+=Math.floor(j/1e7),j%=1e7),_(s,0)+_(j,s)+_(o,1)},jspb.utils.joinSignedDecimalString=function(o,s){var _=2147483648&s;return _&&(s=~s+((o=1+~o>>>0)==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,s),_?"-"+o:o},jspb.utils.hash64ToDecimalString=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinSignedDecimalString(o,_):jspb.utils.joinUnsignedDecimalString(o,_)},jspb.utils.hash64ArrayToDecimalStrings=function(o,s){for(var _=Array(o.length),j=0;jnt&&(et!==1||0>>=8}jspb.asserts.assert(0et;et++)j[et]=255&~j[et]}(),s(1,1)),goog.crypt.byteArrayToString(j)},jspb.utils.splitDecimalString=function(o){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o))},jspb.utils.toHexDigit_=function(o){return String.fromCharCode(10>o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)},jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(o){var s=Array(18);s[0]="0",s[1]="x";for(var _=0;8>_;_++){var j=o.charCodeAt(7-_);s[2*_+2]=jspb.utils.toHexDigit_(j>>4),s[2*_+3]=jspb.utils.toHexDigit_(15&j)}return s.join("")},jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),jspb.asserts.assert(o.length==18),jspb.asserts.assert(o[0]=="0"),jspb.asserts.assert(o[1]=="x");for(var s="",_=0;8>_;_++){var j=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+2)),$=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+3));s=String.fromCharCode(16*j+$)+s}return s},jspb.utils.hash64ToNumber=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinInt64(o,_):jspb.utils.joinUint64(o,_)},jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(o,s,_){for(var j=0,$=s;$<_;$++)j+=o[$]>>7;return _-s-j},jspb.utils.countVarintFields=function(o,s,_,j){var $=0;if(128>(j=8*j+jspb.BinaryConstants.WireType.VARINT))for(;s<_&&o[s++]==j;)for($++;;){var et=o[s++];if(!(128&et))break}else for(;s<_;){for(et=j;128>=7}if(o[s++]!=et)break;for($++;128&(et=o[s++]););}return $},jspb.utils.countFixedFields_=function(o,s,_,j,$){var et=0;if(128>j)for(;s<_&&o[s++]==j;)et++,s+=$;else for(;s<_;){for(var tt=j;128>=7}if(o[s++]!=tt)break;et++,s+=$}return et},jspb.utils.countFixed32Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(o,s,_,j){var $=0;for(j=8*j+jspb.BinaryConstants.WireType.DELIMITED;s<_;){for(var et=j;128>=7}if(o[s++]!=et)break;$++;for(var tt=0,nt=1;tt+=(127&(et=o[s++]))*nt,nt*=128,(128&et)!=0;);s+=tt}return $},jspb.utils.debugBytesToTextFormat=function(o){var s='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var _=0;_o[_]&&(s+="0"),s+=o[_].toString(16)}return s+'"'},jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()},jspb.utils.stringToByteArray=function(o){for(var s=new Uint8Array(o.length),_=0;_jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(o,s,_){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=s!==void 0?s:0,this.end_=_!==void 0?this.start_+_:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o},jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,jspb.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var s=128,_=0,j=0,$=0;4>$&&128<=s;$++)_|=(127&(s=this.bytes_[this.cursor_++]))<<7*$;if(128<=s&&(_|=(127&(s=this.bytes_[this.cursor_++]))<<28,j|=(127&s)>>4),128<=s)for($=0;5>$&&128<=s;$++)j|=(127&(s=this.bytes_[this.cursor_++]))<<7*$+3;if(128>s)return o(_>>>0,j>>>0);jspb.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var s=this.bytes_,_=this.cursor_;this.cursor_+=8;for(var j=0,$=0,et=_+7;et>=_;et--)j=j<<8|s[et],$=$<<8|s[et+4];return o(j,$)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;128&this.bytes_[this.cursor_];)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,s=o[this.cursor_+0],_=127&s;return 128>s?(this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+1]))<<7,128>s?(this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+2]))<<14,128>s?(this.cursor_+=3,jspb.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+3]))<<21,128>s?(this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),_):(_|=(15&(s=o[this.cursor_+4]))<<28,128>s?(this.cursor_+=5,jspb.asserts.assert(this.cursor_<=this.end_),_>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&jspb.asserts.assert(!1),jspb.asserts.assert(this.cursor_<=this.end_),_)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=function(){return~~this.readUnsignedVarint32()},jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(1&o)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),o},jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8|_<<16|j<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUint64(o,s)},jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),o<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8|_<<16|j<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinInt64(o,s)},jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinSignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinFloat64(o,s)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(o){var s=this.bytes_,_=this.cursor_;o=_+o;for(var j=[],$="";_et)j.push(et);else{if(192>et)continue;if(224>et){var tt=s[_++];j.push((31&et)<<6|63&tt)}else if(240>et){tt=s[_++];var nt=s[_++];j.push((15&et)<<12|(63&tt)<<6|63&nt)}else 248>et&&(et=(7&et)<<18|(63&(tt=s[_++]))<<12|(63&(nt=s[_++]))<<6|63&s[_++],et-=65536,j.push(55296+(et>>10&1023),56320+(1023&et)))}8192<=j.length&&($+=String.fromCharCode.apply(null,j),j.length=0)}return $+=goog.crypt.byteArrayToString(j),this.cursor_=_,$},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)},jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,jspb.asserts.fail("Invalid byte length!"),new Uint8Array(0);var s=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,jspb.asserts.assert(this.cursor_<=this.end_),s},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,s=this.cursor_,_=o[s+0],j=o[s+1],$=o[s+2],et=o[s+3],tt=o[s+4],nt=o[s+5],rt=o[s+6];return o=o[s+7],this.cursor_+=8,String.fromCharCode(_,j,$,et,tt,nt,rt,o)},jspb.BinaryReader=function(o,s,_){this.decoder_=jspb.BinaryDecoder.alloc(o,s,_),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(o,s,_){if(jspb.BinaryReader.instanceCache_.length){var j=jspb.BinaryReader.instanceCache_.pop();return o&&j.decoder_.setBlock(o,s,_),j}return new jspb.BinaryReader(o,s,_)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},goog.exportProperty(jspb.BinaryReader.prototype,"getFieldNumber",jspb.BinaryReader.prototype.getFieldNumber),jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},goog.exportProperty(jspb.BinaryReader.prototype,"isDelimited",jspb.BinaryReader.prototype.isDelimited),jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},goog.exportProperty(jspb.BinaryReader.prototype,"isEndGroup",jspb.BinaryReader.prototype.isEndGroup),jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(o,s,_){this.decoder_.setBlock(o,s,_),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return jspb.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),s=o>>>3;return(o&=7)!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(jspb.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=s,this.nextWireType_=o,!0)},goog.exportProperty(jspb.BinaryReader.prototype,"nextField",jspb.BinaryReader.prototype.nextField),jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(jspb.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)jspb.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(jspb.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(jspb.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){for(var o=this.nextField_;;){if(!this.nextField()){jspb.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(jspb.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:jspb.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(o,s){this.readCallbacks_===null&&(this.readCallbacks_={}),jspb.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=s},jspb.BinaryReader.prototype.runReadCallback=function(o){return jspb.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],jspb.asserts.assert(o),o(this)},jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var s=jspb.BinaryConstants.FieldType;switch(o){case s.DOUBLE:return this.readDouble();case s.FLOAT:return this.readFloat();case s.INT64:return this.readInt64();case s.UINT64:return this.readUint64();case s.INT32:return this.readInt32();case s.FIXED64:return this.readFixed64();case s.FIXED32:return this.readFixed32();case s.BOOL:return this.readBool();case s.STRING:return this.readString();case s.GROUP:jspb.asserts.fail("Group field type not supported in readAny()");case s.MESSAGE:jspb.asserts.fail("Message field type not supported in readAny()");case s.BYTES:return this.readBytes();case s.UINT32:return this.readUint32();case s.ENUM:return this.readEnum();case s.SFIXED32:return this.readSfixed32();case s.SFIXED64:return this.readSfixed64();case s.SINT32:return this.readSint32();case s.SINT64:return this.readSint64();case s.FHASH64:return this.readFixedHash64();case s.VHASH64:return this.readVarintHash64();default:jspb.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(o,s){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var _=this.decoder_.getEnd(),j=this.decoder_.readUnsignedVarint32();j=this.decoder_.getCursor()+j,this.decoder_.setEnd(j),s(o,this),this.decoder_.setCursor(j),this.decoder_.setEnd(_)},goog.exportProperty(jspb.BinaryReader.prototype,"readMessage",jspb.BinaryReader.prototype.readMessage),jspb.BinaryReader.prototype.readGroup=function(o,s,_){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),jspb.asserts.assert(this.nextField_==o),_(s,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(jspb.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},goog.exportProperty(jspb.BinaryReader.prototype,"readGroup",jspb.BinaryReader.prototype.readGroup),jspb.BinaryReader.prototype.getFieldDecoder=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),s=this.decoder_.getCursor(),_=s+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),s,o),this.decoder_.setCursor(_),o},jspb.BinaryReader.prototype.readInt32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readInt32",jspb.BinaryReader.prototype.readInt32),jspb.BinaryReader.prototype.readInt32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readInt64",jspb.BinaryReader.prototype.readInt64),jspb.BinaryReader.prototype.readInt64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readUint32",jspb.BinaryReader.prototype.readUint32),jspb.BinaryReader.prototype.readUint32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readUint64",jspb.BinaryReader.prototype.readUint64),jspb.BinaryReader.prototype.readUint64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readSint32",jspb.BinaryReader.prototype.readSint32),jspb.BinaryReader.prototype.readSint64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readSint64",jspb.BinaryReader.prototype.readSint64),jspb.BinaryReader.prototype.readSint64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readFixed32",jspb.BinaryReader.prototype.readFixed32),jspb.BinaryReader.prototype.readFixed64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readFixed64",jspb.BinaryReader.prototype.readFixed64),jspb.BinaryReader.prototype.readFixed64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},goog.exportProperty(jspb.BinaryReader.prototype,"readSfixed32",jspb.BinaryReader.prototype.readSfixed32),jspb.BinaryReader.prototype.readSfixed32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},goog.exportProperty(jspb.BinaryReader.prototype,"readSfixed64",jspb.BinaryReader.prototype.readSfixed64),jspb.BinaryReader.prototype.readSfixed64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},goog.exportProperty(jspb.BinaryReader.prototype,"readFloat",jspb.BinaryReader.prototype.readFloat),jspb.BinaryReader.prototype.readDouble=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},goog.exportProperty(jspb.BinaryReader.prototype,"readDouble",jspb.BinaryReader.prototype.readDouble),jspb.BinaryReader.prototype.readBool=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readBool",jspb.BinaryReader.prototype.readBool),jspb.BinaryReader.prototype.readEnum=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readEnum",jspb.BinaryReader.prototype.readEnum),jspb.BinaryReader.prototype.readString=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)},goog.exportProperty(jspb.BinaryReader.prototype,"readString",jspb.BinaryReader.prototype.readString),jspb.BinaryReader.prototype.readBytes=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)},goog.exportProperty(jspb.BinaryReader.prototype,"readBytes",jspb.BinaryReader.prototype.readBytes),jspb.BinaryReader.prototype.readVarintHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryReader.prototype.readFixedHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)},jspb.BinaryReader.prototype.readPackedField_=function(o){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var s=this.decoder_.readUnsignedVarint32();s=this.decoder_.getCursor()+s;for(var _=[];this.decoder_.getCursor()>>7|s<<25)>>>0,s>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,s){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(s==Math.floor(s)),jspb.asserts.assert(0<=o&&o>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&os;s++)this.buffer_.push(127&o|128),o>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&o=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_31&&o>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o>>0,j>>>0)})},jspb.BinaryEncoder.prototype.writeUint8=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&oo),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_63&&+o=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(o){jspb.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(o){jspb.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&oj)this.buffer_.push(j);else if(2048>j)this.buffer_.push(j>>6|192),this.buffer_.push(63&j|128);else if(65536>j)if(55296<=j&&56319>=j&&_+1=$&&(j=1024*(j-55296)+$-56320+65536,this.buffer_.push(j>>18|240),this.buffer_.push(j>>12&63|128),this.buffer_.push(j>>6&63|128),this.buffer_.push(63&j|128),_++)}else this.buffer_.push(j>>12|224),this.buffer_.push(j>>6&63|128),this.buffer_.push(63&j|128)}return this.buffer_.length-s},jspb.arith={},jspb.arith.UInt64=function(o,s){this.lo=o,this.hi=s},jspb.arith.UInt64.prototype.cmp=function(o){return this.hi>>1|(1&this.hi)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(2147483648&this.hi)},jspb.arith.UInt64.prototype.lsb=function(){return!!(1&this.lo)},jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0},jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(o,s){var _=65535&o,j=65535&s,$=s>>>16;for(s=_*j+65536*(_*$&65535)+65536*((o>>>=16)*j&65535),_=o*$+(_*$>>>16)+(o*j>>>16);4294967296<=s;)s-=4294967296,_+=1;return new jspb.arith.UInt64(s>>>0,_>>>0)},jspb.arith.UInt64.prototype.mul=function(o){var s=jspb.arith.UInt64.mul32x32(this.lo,o);return(o=jspb.arith.UInt64.mul32x32(this.hi,o)).hi=o.lo,o.lo=0,s.add(o)},jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var j=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),j=j.leftShift();for(;!j.zero();)0>=o.cmp(_)&&(s=s.add(j),_=_.sub(o)),o=o.rightShift(),j=j.rightShift();return[s,_]},jspb.arith.UInt64.prototype.toString=function(){for(var o="",s=this;!s.zero();){var _=(s=s.div(10))[0];o=s[1].lo+o,s=_}return o==""&&(o="0"),o},jspb.arith.UInt64.fromString=function(o){for(var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(0,0),j=0;jo[j]||"9">>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var o=(2147483648&this.hi)!=0,s=new jspb.arith.UInt64(this.lo,this.hi);return o&&(s=new jspb.arith.UInt64(0,0).sub(s)),(o?"-":"")+s.toString()},jspb.arith.Int64.fromString=function(o){var s=0>>=7,this.totalLength_++;o.push(s),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,s,_){this.appendUint8Array_(o.subarray(s,_))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,s,_){o!=null&&s!=null&&_!=null&&this.writeSerializedMessage(o,s,_)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){jspb.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),s=this.blocks_,_=s.length,j=0,$=0;$<_;$++){var et=s[$];o.set(et,j),j+=et.length}return s=this.encoder_.end(),o.set(s,j),j+=s.length,jspb.asserts.assert(j==o.length),this.blocks_=[o],o},goog.exportProperty(jspb.BinaryWriter.prototype,"getResultBuffer",jspb.BinaryWriter.prototype.getResultBuffer),jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)},jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))},jspb.BinaryWriter.prototype.endSubMessage=function(){jspb.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,s){jspb.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+s)},jspb.BinaryWriter.prototype.writeAny=function(o,s,_){var j=jspb.BinaryConstants.FieldType;switch(o){case j.DOUBLE:this.writeDouble(s,_);break;case j.FLOAT:this.writeFloat(s,_);break;case j.INT64:this.writeInt64(s,_);break;case j.UINT64:this.writeUint64(s,_);break;case j.INT32:this.writeInt32(s,_);break;case j.FIXED64:this.writeFixed64(s,_);break;case j.FIXED32:this.writeFixed32(s,_);break;case j.BOOL:this.writeBool(s,_);break;case j.STRING:this.writeString(s,_);break;case j.GROUP:jspb.asserts.fail("Group field type not supported in writeAny()");break;case j.MESSAGE:jspb.asserts.fail("Message field type not supported in writeAny()");break;case j.BYTES:this.writeBytes(s,_);break;case j.UINT32:this.writeUint32(s,_);break;case j.ENUM:this.writeEnum(s,_);break;case j.SFIXED32:this.writeSfixed32(s,_);break;case j.SFIXED64:this.writeSfixed64(s,_);break;case j.SINT32:this.writeSint32(s,_);break;case j.SINT64:this.writeSint64(s,_);break;case j.FHASH64:this.writeFixedHash64(s,_);break;case j.VHASH64:this.writeVarintHash64(s,_);break;default:jspb.asserts.fail("Invalid field type in writeAny()")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(s))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(s))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(s))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(s))},jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(s))},jspb.BinaryWriter.prototype.writeInt32=function(o,s){s!=null&&(jspb.asserts.assert(s>=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s>>0,et>>>0)})},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,s){if(s!=null)for(var _=0;_>>0,nt>>>0)});this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(o,s){if(s!=null&&s.length){o=this.beginDelimited_(o);for(var _=0;_s.length?_.length:s.length;for(o.getJsPbMessageId()&&(j[0]=o.getJsPbMessageId(),$=1);${var j=_(7186),$=j,et=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||et!==void 0&&et||typeof self<"u"&&self||function(){return this}.call(null)||Function("return this")();$.exportSymbol("proto.google.protobuf.BoolValue",null,et),$.exportSymbol("proto.google.protobuf.BytesValue",null,et),$.exportSymbol("proto.google.protobuf.DoubleValue",null,et),$.exportSymbol("proto.google.protobuf.FloatValue",null,et),$.exportSymbol("proto.google.protobuf.Int32Value",null,et),$.exportSymbol("proto.google.protobuf.Int64Value",null,et),$.exportSymbol("proto.google.protobuf.StringValue",null,et),$.exportSymbol("proto.google.protobuf.UInt32Value",null,et),$.exportSymbol("proto.google.protobuf.UInt64Value",null,et),proto.google.protobuf.DoubleValue=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.DoubleValue,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.DoubleValue.displayName="proto.google.protobuf.DoubleValue"),proto.google.protobuf.FloatValue=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.FloatValue,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.FloatValue.displayName="proto.google.protobuf.FloatValue"),proto.google.protobuf.Int64Value=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.Int64Value,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.Int64Value.displayName="proto.google.protobuf.Int64Value"),proto.google.protobuf.UInt64Value=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.UInt64Value,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.UInt64Value.displayName="proto.google.protobuf.UInt64Value"),proto.google.protobuf.Int32Value=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.Int32Value,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.Int32Value.displayName="proto.google.protobuf.Int32Value"),proto.google.protobuf.UInt32Value=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.UInt32Value,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.UInt32Value.displayName="proto.google.protobuf.UInt32Value"),proto.google.protobuf.BoolValue=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.BoolValue,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.BoolValue.displayName="proto.google.protobuf.BoolValue"),proto.google.protobuf.StringValue=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.StringValue,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.StringValue.displayName="proto.google.protobuf.StringValue"),proto.google.protobuf.BytesValue=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.google.protobuf.BytesValue,j.Message),$.DEBUG&&!COMPILED&&(proto.google.protobuf.BytesValue.displayName="proto.google.protobuf.BytesValue"),j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.DoubleValue.prototype.toObject=function(tt){return proto.google.protobuf.DoubleValue.toObject(tt,this)},proto.google.protobuf.DoubleValue.toObject=function(tt,nt){var rt={value:j.Message.getFloatingPointFieldWithDefault(nt,1,0)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.DoubleValue.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.DoubleValue;return proto.google.protobuf.DoubleValue.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.DoubleValue.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readDouble();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.DoubleValue.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.DoubleValue.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.DoubleValue.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())!==0&&nt.writeDouble(1,rt)},proto.google.protobuf.DoubleValue.prototype.getValue=function(){return j.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.google.protobuf.DoubleValue.prototype.setValue=function(tt){return j.Message.setProto3FloatField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.FloatValue.prototype.toObject=function(tt){return proto.google.protobuf.FloatValue.toObject(tt,this)},proto.google.protobuf.FloatValue.toObject=function(tt,nt){var rt={value:j.Message.getFloatingPointFieldWithDefault(nt,1,0)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.FloatValue.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.FloatValue;return proto.google.protobuf.FloatValue.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.FloatValue.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readFloat();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.FloatValue.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.FloatValue.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.FloatValue.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())!==0&&nt.writeFloat(1,rt)},proto.google.protobuf.FloatValue.prototype.getValue=function(){return j.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.google.protobuf.FloatValue.prototype.setValue=function(tt){return j.Message.setProto3FloatField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Int64Value.prototype.toObject=function(tt){return proto.google.protobuf.Int64Value.toObject(tt,this)},proto.google.protobuf.Int64Value.toObject=function(tt,nt){var rt={value:j.Message.getFieldWithDefault(nt,1,0)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.Int64Value.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.Int64Value;return proto.google.protobuf.Int64Value.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.Int64Value.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readInt64();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.Int64Value.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.Int64Value.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.Int64Value.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())!==0&&nt.writeInt64(1,rt)},proto.google.protobuf.Int64Value.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.Int64Value.prototype.setValue=function(tt){return j.Message.setProto3IntField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.UInt64Value.prototype.toObject=function(tt){return proto.google.protobuf.UInt64Value.toObject(tt,this)},proto.google.protobuf.UInt64Value.toObject=function(tt,nt){var rt={value:j.Message.getFieldWithDefault(nt,1,0)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.UInt64Value.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.UInt64Value;return proto.google.protobuf.UInt64Value.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.UInt64Value.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readUint64();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.UInt64Value.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.UInt64Value.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.UInt64Value.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())!==0&&nt.writeUint64(1,rt)},proto.google.protobuf.UInt64Value.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.UInt64Value.prototype.setValue=function(tt){return j.Message.setProto3IntField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Int32Value.prototype.toObject=function(tt){return proto.google.protobuf.Int32Value.toObject(tt,this)},proto.google.protobuf.Int32Value.toObject=function(tt,nt){var rt={value:j.Message.getFieldWithDefault(nt,1,0)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.Int32Value.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.Int32Value;return proto.google.protobuf.Int32Value.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.Int32Value.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readInt32();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.Int32Value.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.Int32Value.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.Int32Value.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())!==0&&nt.writeInt32(1,rt)},proto.google.protobuf.Int32Value.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.Int32Value.prototype.setValue=function(tt){return j.Message.setProto3IntField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.UInt32Value.prototype.toObject=function(tt){return proto.google.protobuf.UInt32Value.toObject(tt,this)},proto.google.protobuf.UInt32Value.toObject=function(tt,nt){var rt={value:j.Message.getFieldWithDefault(nt,1,0)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.UInt32Value.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.UInt32Value;return proto.google.protobuf.UInt32Value.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.UInt32Value.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readUint32();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.UInt32Value.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.UInt32Value.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.UInt32Value.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())!==0&&nt.writeUint32(1,rt)},proto.google.protobuf.UInt32Value.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,0)},proto.google.protobuf.UInt32Value.prototype.setValue=function(tt){return j.Message.setProto3IntField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BoolValue.prototype.toObject=function(tt){return proto.google.protobuf.BoolValue.toObject(tt,this)},proto.google.protobuf.BoolValue.toObject=function(tt,nt){var rt={value:j.Message.getBooleanFieldWithDefault(nt,1,!1)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.BoolValue.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.BoolValue;return proto.google.protobuf.BoolValue.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.BoolValue.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readBool();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.BoolValue.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.BoolValue.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.BoolValue.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue())&&nt.writeBool(1,rt)},proto.google.protobuf.BoolValue.prototype.getValue=function(){return j.Message.getBooleanFieldWithDefault(this,1,!1)},proto.google.protobuf.BoolValue.prototype.setValue=function(tt){return j.Message.setProto3BooleanField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.StringValue.prototype.toObject=function(tt){return proto.google.protobuf.StringValue.toObject(tt,this)},proto.google.protobuf.StringValue.toObject=function(tt,nt){var rt={value:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.StringValue.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.StringValue;return proto.google.protobuf.StringValue.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.StringValue.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.StringValue.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.StringValue.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.StringValue.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue()).length>0&&nt.writeString(1,rt)},proto.google.protobuf.StringValue.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function(tt){return proto.google.protobuf.BytesValue.toObject(tt,this)},proto.google.protobuf.BytesValue.toObject=function(tt,nt){var rt={value:nt.getValue_asB64()};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.google.protobuf.BytesValue.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(rt,nt)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readBytes();tt.setValue(rt);break;default:nt.skipField()}return tt},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getValue_asU8()).length>0&&nt.writeBytes(1,rt)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return j.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return j.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function(tt){return j.Message.setProto3BytesField(this,1,tt)},$.object.extend(s,proto.google.protobuf)},1292:o=>{o.exports=Object.getOwnPropertyDescriptor},9336:(o,s,_)=>{var j=_(1292);if(j)try{j([],"length")}catch{j=null}o.exports=j},5949:function(o,s,_){var j;function $(At){var en=0;return function(){return en(hn=hn||0)&&(hn=Math.max(hn+Pn,0));hnen?1:0}e:{var zn=Rt.navigator;if(zn){var wt=zn.userAgent;if(wt){sn=wt;break e}}sn=""}var jt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function zt(At){var en=1;At=At.split(":");for(var hn=[];0parseFloat(Ur)){yn=String(Sr);break e}}yn=Ur}var Nt={};function Xt(){return function(At){var en=Nt;return Object.prototype.hasOwnProperty.call(en,9)?en[9]:en[9]=At(9)}(function(){for(var At=0,en=Cn(String(yn)).split("."),hn=Cn("9").split("."),wn=Math.max(en.length,hn.length),Pn=0;At==0&&Pn>>0);function ga(At){return typeof At=="function"?At:(At[na]||(At[na]=function(en){return At.handleEvent(en)}),At[na])}function ho(){gn.call(this),this.f=new uo(this),this.U=this}function oo(At,en){At=At.U;var hn=en.type||en;if(typeof en=="string")en=new Ln(en,At);else if(en instanceof Ln)en.target=en.target||At;else{var wn=en;(function(Pn,Xn){for(var In,Kn,or=1;or=(At?Mn(Zn(Jn(),At.getName())):On).value),wn&&(en=en||On,wn=Zn(Jn(),At.getName()),typeof hn=="function"&&(hn=hn()),Fo||(Fo=new Ot),function(Pn,Xn){for(;Pn;)Pn.f.forEach(function(In){In(Xn)}),Pn=Pn.b}(wn,At=new En(en,hn,At=At.getName())))}function Bt(At,en){At&<(At,Kt,en)}function Jt(){}function tn(At){var en;return(en=At.a)||(en={},qn(At)&&(en[0]=!0,en[1]=!0),en=At.a=en),en}function mn(){}function Dn(At){return(At=qn(At))?new ActiveXObject(At):new XMLHttpRequest}function qn(At){if(!At.b&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var en=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],hn=0;hn2*this.size&&_o(this),!0)},j.get=function(At,en){return Po(this.o,At)?this.o[At]:en},j.set=function(At,en){Po(this.o,At)||(this.size+=1,this.j.push(At),this.B++),this.o[At]=en},j.addAll=function(At){if(At instanceof go)for(var en=At.G(),hn=0;hn=wn.j.length)throw Qr;var Xn=wn.j[en++];return At?Xn:wn.o[Xn]},Pn.next=Pn.a.bind(Pn),Pn};var ZU=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^\\/?#]*)@)?([^\\/?#]*?)(?::([0-9]+))?(?=[\\/?#]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;function Js(At){ho.call(this),this.headers=new go,this.C=At||null,this.c=!1,this.J=this.a=null,this.P=this.v="",this.g=0,this.l="",this.i=this.N=this.s=this.L=!1,this.h=0,this.w=null,this.m=As,this.I=this.M=!1}vt(Js,ho);var As="";Js.prototype.b=Zn(Jn(),"goog.net.XhrIo",void 0).g;var Fl=/^https?$/i,gs=["POST","PUT"];function Ll(At,en,hn){if(At.a)throw Error("[goog.net.XhrIo] Object is active with another request="+At.v+"; newUri="+en);At.v=en,At.l="",At.g=0,At.P="POST",At.L=!1,At.c=!0,At.a=At.C?Dn(At.C):Dn(gr),At.J=At.C?tn(At.C):tn(gr),At.a.onreadystatechange=Zt(At.R,At);try{Bt(At.b,ba(At,"Opening Xhr")),At.N=!0,At.a.open("POST",String(en),!0),At.N=!1}catch(Xn){return Bt(At.b,ba(At,"Error opening Xhr: "+Xn.message)),void Ql(At,Xn)}en=hn||"";var wn=(hn=At.headers.clone()).G().find(function(Xn){return Xn.toLowerCase()=="content-type"}),Pn=Rt.FormData&&en instanceof Rt.FormData;!(0<=bn(gs,"POST"))||wn||Pn||hn.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),hn.forEach(function(Xn,In){this.a.setRequestHeader(In,Xn)},At),At.m&&(At.a.responseType=At.m),"withCredentials"in At.a&&At.a.withCredentials!==At.M&&(At.a.withCredentials=At.M);try{Rl(At),0>4),mr!=64&&(In(Br<<4&240|mr>>2),Mr!=64&&In(mr<<6&192|Mr))}}(At,function(Xn){wn[Pn++]=Xn}),wn.subarray(0,Pn)}function Yl(){if(!Ts){Ts={};for(var At="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),en=["+/=","+/","-_=","-_.","-_"],hn=0;5>hn;hn++){var wn=At.concat(en[hn].split(""));zl[hn]=wn;for(var Pn=0;Pn(Kn=Pn.indexOf("#"))&&(Kn=Pn.length),0>(In=Pn.indexOf("?"))||In>Kn?(In=Kn,or=""):or=Pn.substring(In+1,Kn),Kn=(Pn=[Pn.substr(0,In),or,Pn.substr(Kn)])[1],Pn[1]=Br?Kn?Kn+"&"+Br:Br:Kn,Pn=Pn[0]+(Pn[1]?"?"+Pn[1]:"")+Pn[2])):Pn.a("$httpHeaders",Kn))}for(wn=(en=(0,wn.a)(en.getRequestMessage())).length,Br=[0,0,0,0],Kn=new Uint8Array(5+wn),In=3;0<=In;In--)Br[In]=wn%256,wn>>>=8;if(Kn.set(new Uint8Array(Br),1),Kn.set(en,5),en=Kn,At.a=="text"){var mr;for(At=en,mr===void 0&&(mr=0),Yl(),mr=zl[mr],en=Array(Math.floor(At.length/3)),wn=mr[64]||"",Br=Kn=0;Kn>2],pr=mr[(3&pr)<<4|Mr>>4],Mr=mr[(15&Mr)<<2|or>>6],or=mr[63&or],en[Br++]=In+pr+Mr+or}switch(In=0,or=wn,At.length-Kn){case 2:or=mr[(15&(In=At[Kn+1]))<<2]||wn;case 1:At=At[Kn],en[Br]=mr[At>>2]+mr[(3&At)<<4|In>>4]+or+wn}en=en.join("")}else At.a=="binary"&&(hn.m="arraybuffer");return Ll(hn,Pn,en),Xn}function Hl(At,en,hn){var wn=!1,Pn=null,Xn=!1;At.on("data",function(In){wn=!0,Pn=In}),At.on("error",function(In){In.code==0||Xn||(Xn=!0,en(In,null))}),At.on("status",function(In){In.code==0||Xn?hn&&en(null,null,In):(Xn=!0,en({code:In.code,message:In.details,metadata:In.metadata},null))}),hn&&At.on("metadata",function(In){en(null,null,null,In)}),At.on("end",function(){Xn||(wn?hn?en(null,Pn,null,null,!0):en(null,Pn):en({code:2,message:"Incomplete response"})),hn&&en(null,null)})}function yl(At,en){var hn=At;return en.forEach(function(wn){var Pn=hn;hn=function(Xn){return wn.intercept(Xn,Pn)}}),hn}zo.prototype.on=function(At,en){return At=="data"?this.b.push(en):At=="status"?this.h.push(en):At=="metadata"?this.g.push(en):At=="end"?this.c.push(en):At=="error"&&this.f.push(en),this},zo.prototype.removeListener=function(At,en){return At=="data"?Ns(this.b,en):At=="status"?Ns(this.h,en):At=="metadata"?Ns(this.g,en):At=="end"?Ns(this.c,en):At=="error"&&Ns(this.f,en),this},zo.prototype.cancel=function(){this.l=!0,this.a.abort()},zo.prototype.cancel=zo.prototype.cancel,zo.prototype.removeListener=zo.prototype.removeListener,zo.prototype.on=zo.prototype.on,Eo.prototype.X=function(At,en,hn,wn,Pn){var Xn=this,In=At.substr(0,At.length-wn.name.length);return Hl(At=yl(function(Kn){return Sl(Xn,Kn,In)},this.b).call(this,_t(wn,en,hn)),Pn,!1),new rn(At)},Eo.prototype.S=function(At,en,hn,wn){var Pn=this,Xn=At.substr(0,At.length-wn.name.length);return yl(function(In){return new Promise(function(Kn,or){var pr,Br,mr;Hl(Sl(Pn,In,Xn),function(Mr,Ir,Xr,yr,Lr){Mr?or(Mr):Lr?mr=Ir:Xr?Br=Xr:yr?pr=yr:(Mr=In.getMethodDescriptor(),Kn(new It(mr,Mr,Ir=(Ir=pr)===void 0?{}:Ir,Br===void 0?null:Br)))},!0)})},this.h).call(this,_t(wn,en,hn)).then(function(In){return In.getResponseMessage()})},Eo.prototype.unaryCall=function(At,en,hn,wn){return this.S(At,en,hn,wn)},Eo.prototype.Y=function(At,en,hn,wn){var Pn=this,Xn=At.substr(0,At.length-wn.name.length);return yl(function(In){return Sl(Pn,In,Xn)},this.b).call(this,_t(wn,en,hn))},Eo.prototype.serverStreaming=Eo.prototype.Y,Eo.prototype.unaryCall=Eo.prototype.unaryCall,Eo.prototype.thenableCall=Eo.prototype.S,Eo.prototype.rpcCall=Eo.prototype.X,o.exports.CallOptions=bt,o.exports.MethodDescriptor=Tt,o.exports.GrpcWebClientBase=Eo,o.exports.RpcError=$t,o.exports.StatusCode={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,UNAUTHENTICATED:16,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15},o.exports.MethodType={UNARY:"unary",SERVER_STREAMING:"server_streaming",BIDI_STREAMING:"bidi_streaming"},Zo=typeof globalThis<"u"&&globalThis||self},7239:(o,s,_)=>{var j=_(4940),$=function(){return!!j};$.hasArrayLengthDefineBug=function(){if(!j)return null;try{return j([],"length",{value:1}).length!==1}catch{return!0}},o.exports=$},3558:(o,s,_)=>{var j=typeof Symbol<"u"&&Symbol,$=_(2908);o.exports=function(){return typeof j=="function"&&typeof Symbol=="function"&&typeof j("foo")=="symbol"&&typeof Symbol("bar")=="symbol"&&$()}},2908:o=>{o.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var s={},_=Symbol("test"),j=Object(_);if(typeof _=="string"||Object.prototype.toString.call(_)!=="[object Symbol]"||Object.prototype.toString.call(j)!=="[object Symbol]")return!1;for(var $ in s[_]=42,s)return!1;if(typeof Object.keys=="function"&&Object.keys(s).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(s).length!==0)return!1;var et=Object.getOwnPropertySymbols(s);if(et.length!==1||et[0]!==_||!Object.prototype.propertyIsEnumerable.call(s,_))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var tt=Object.getOwnPropertyDescriptor(s,_);if(tt.value!==42||tt.enumerable!==!0)return!1}return!0}},1913:(o,s,_)=>{var j=_(2908);o.exports=function(){return j()&&!!Symbol.toStringTag}},8554:(o,s,_)=>{var j=Function.prototype.call,$=Object.prototype.hasOwnProperty,et=_(9138);o.exports=et.call(j,$)},7500:(o,s,_)=>{var j=_(4865),$=_(5442),et=o.exports;for(var tt in j)j.hasOwnProperty(tt)&&(et[tt]=j[tt]);function nt(rt){if(typeof rt=="string"&&(rt=$.parse(rt)),rt.protocol||(rt.protocol="https:"),rt.protocol!=="https:")throw new Error('Protocol "'+rt.protocol+'" not supported. Expected "https:"');return rt}et.request=function(rt,it){return rt=nt(rt),j.request.call(this,rt,it)},et.get=function(rt,it){return rt=nt(rt),j.get.call(this,rt,it)}},9318:(o,s)=>{s.read=function(_,j,$,et,tt){var nt,rt,it=8*tt-et-1,st=(1<>1,ct=-7,Ft=$?tt-1:0,ut=$?-1:1,Qt=_[j+Ft];for(Ft+=ut,nt=Qt&(1<<-ct)-1,Qt>>=-ct,ct+=it;ct>0;nt=256*nt+_[j+Ft],Ft+=ut,ct-=8);for(rt=nt&(1<<-ct)-1,nt>>=-ct,ct+=et;ct>0;rt=256*rt+_[j+Ft],Ft+=ut,ct-=8);if(nt===0)nt=1-Ut;else{if(nt===st)return rt?NaN:1/0*(Qt?-1:1);rt+=Math.pow(2,et),nt-=Ut}return(Qt?-1:1)*rt*Math.pow(2,nt-et)},s.write=function(_,j,$,et,tt,nt){var rt,it,st,Ut=8*nt-tt-1,ct=(1<>1,ut=tt===23?Math.pow(2,-24)-Math.pow(2,-77):0,Qt=et?0:nt-1,pt=et?1:-1,ft=j<0||j===0&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(it=isNaN(j)?1:0,rt=ct):(rt=Math.floor(Math.log(j)/Math.LN2),j*(st=Math.pow(2,-rt))<1&&(rt--,st*=2),(j+=rt+Ft>=1?ut/st:ut*Math.pow(2,1-Ft))*st>=2&&(rt++,st/=2),rt+Ft>=ct?(it=0,rt=ct):rt+Ft>=1?(it=(j*st-1)*Math.pow(2,tt),rt+=Ft):(it=j*Math.pow(2,Ft-1)*Math.pow(2,tt),rt=0));tt>=8;_[$+Qt]=255&it,Qt+=pt,it/=256,tt-=8);for(rt=rt<0;_[$+Qt]=255&rt,Qt+=pt,rt/=256,Ut-=8);_[$+Qt-pt]|=128*ft}},5615:o=>{typeof Object.create=="function"?o.exports=function(s,_){_&&(s.super_=_,s.prototype=Object.create(_.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}))}:o.exports=function(s,_){if(_){s.super_=_;var j=function(){};j.prototype=_.prototype,s.prototype=new j,s.prototype.constructor=s}}},5387:(o,s,_)=>{var j=_(1913)(),$=_(9818)("Object.prototype.toString"),et=function(rt){return!(j&&rt&&typeof rt=="object"&&Symbol.toStringTag in rt)&&$(rt)==="[object Arguments]"},tt=function(rt){return!!et(rt)||rt!==null&&typeof rt=="object"&&typeof rt.length=="number"&&rt.length>=0&&$(rt)!=="[object Array]"&&$(rt.callee)==="[object Function]"},nt=function(){return et(arguments)}();et.isLegacyArguments=tt,o.exports=nt?et:tt},9617:o=>{var s,_,j=Function.prototype.toString,$=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply;if(typeof $=="function"&&typeof Object.defineProperty=="function")try{s=Object.defineProperty({},"length",{get:function(){throw _}}),_={},$(function(){throw 42},null,s)}catch(Ft){Ft!==_&&($=null)}else $=null;var et=/^\s*class\b/,tt=function(Ft){try{var ut=j.call(Ft);return et.test(ut)}catch{return!1}},nt=function(Ft){try{return!tt(Ft)&&(j.call(Ft),!0)}catch{return!1}},rt=Object.prototype.toString,it=typeof Symbol=="function"&&!!Symbol.toStringTag,st=!(0 in[,]),Ut=function(){return!1};if(typeof document=="object"){var ct=document.all;rt.call(ct)===rt.call(document.all)&&(Ut=function(Ft){if((st||!Ft)&&(Ft===void 0||typeof Ft=="object"))try{var ut=rt.call(Ft);return(ut==="[object HTMLAllCollection]"||ut==="[object HTML document.all class]"||ut==="[object HTMLCollection]"||ut==="[object Object]")&&Ft("")==null}catch{}return!1})}o.exports=$?function(Ft){if(Ut(Ft))return!0;if(!Ft||typeof Ft!="function"&&typeof Ft!="object")return!1;try{$(Ft,null,s)}catch(ut){if(ut!==_)return!1}return!tt(Ft)&&nt(Ft)}:function(Ft){if(Ut(Ft))return!0;if(!Ft||typeof Ft!="function"&&typeof Ft!="object")return!1;if(it)return nt(Ft);if(tt(Ft))return!1;var ut=rt.call(Ft);return!(ut!=="[object Function]"&&ut!=="[object GeneratorFunction]"&&!/^\[object HTML/.test(ut))&&nt(Ft)}},2625:(o,s,_)=>{var j,$=Object.prototype.toString,et=Function.prototype.toString,tt=/^\s*(?:function)?\*/,nt=_(1913)(),rt=Object.getPrototypeOf;o.exports=function(it){if(typeof it!="function")return!1;if(tt.test(et.call(it)))return!0;if(!nt)return $.call(it)==="[object GeneratorFunction]";if(!rt)return!1;if(j===void 0){var st=function(){if(!nt)return!1;try{return Function("return function*() {}")()}catch{}}();j=!!st&&rt(st)}return rt(it)===j}},8006:o=>{o.exports=function(s){return s!=s}},7838:(o,s,_)=>{var j=_(8498),$=_(1857),et=_(8006),tt=_(1591),nt=_(1641),rt=j(tt(),Number);$(rt,{getPolyfill:tt,implementation:et,shim:nt}),o.exports=rt},1591:(o,s,_)=>{var j=_(8006);o.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:j}},1641:(o,s,_)=>{var j=_(1857),$=_(1591);o.exports=function(){var et=$();return j(Number,{isNaN:et},{isNaN:function(){return Number.isNaN!==et}}),et}},6605:o=>{const s=_=>_!==null&&typeof _=="object"&&typeof _.pipe=="function";s.writable=_=>s(_)&&_.writable!==!1&&typeof _._write=="function"&&typeof _._writableState=="object",s.readable=_=>s(_)&&_.readable!==!1&&typeof _._read=="function"&&typeof _._readableState=="object",s.duplex=_=>s.writable(_)&&s.readable(_),s.transform=_=>s.duplex(_)&&typeof _._transform=="function",o.exports=s},5943:(o,s,_)=>{var j=_(2730);o.exports=function($){return!!j($)}},8311:(o,s,_)=>{_(3737),o.exports={encode:j=>new TextEncoder().encode(j),decode:j=>new TextDecoder().decode(j)}},8278:(o,s,_)=>{var j=_(1616);o.exports=j(function($){return $.message=" ".concat($.message),$})},8911:(o,s,_)=>{var j=s.format=_(1616);s.levels=_(3084),Object.defineProperty(j,"align",{value:_(8278)}),Object.defineProperty(j,"cli",{value:_(8877)}),Object.defineProperty(j,"colorize",{value:_(452)}),Object.defineProperty(j,"combine",{value:_(4450)}),Object.defineProperty(j,"errors",{value:_(2244)}),Object.defineProperty(j,"json",{value:_(9181)}),Object.defineProperty(j,"label",{value:_(4673)}),Object.defineProperty(j,"logstash",{value:_(372)}),Object.defineProperty(j,"metadata",{value:_(5350)}),Object.defineProperty(j,"ms",{value:_(4659)}),Object.defineProperty(j,"padLevels",{value:_(8071)}),Object.defineProperty(j,"prettyPrint",{value:_(9121)}),Object.defineProperty(j,"printf",{value:_(7016)}),Object.defineProperty(j,"simple",{value:_(205)}),Object.defineProperty(j,"splat",{value:_(2695)}),Object.defineProperty(j,"timestamp",{value:_(8215)}),Object.defineProperty(j,"uncolorize",{value:_(1083)})},8877:(o,s,_)=>{function j(Ft){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ut){return typeof ut}:function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut})(Ft)}function $(Ft,ut){if(!(Ft instanceof ut))throw new TypeError("Cannot call a class as a function")}function et(Ft,ut){for(var Qt=0;Qt0&&arguments[0]!==void 0?arguments[0]:{};$(this,Ft),pt.levels||(pt.levels=st.cli.levels),this.colorizer=new nt(pt),this.padder=new rt(pt),this.options=pt}var ut,Qt;return ut=Ft,(Qt=[{key:"transform",value:function(pt,ft){return this.colorizer.transform(this.padder.transform(pt,ft),ft),pt[Ut]="".concat(pt.level,":").concat(pt.message),pt}}])&&et(ut.prototype,Qt),Object.defineProperty(ut,"prototype",{writable:!1}),Ft}();o.exports=function(Ft){return new ct(Ft)},o.exports.Format=ct},452:(o,s,_)=>{function j(Ft){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ut){return typeof ut}:function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut})(Ft)}function $(Ft,ut){if(!(Ft instanceof ut))throw new TypeError("Cannot call a class as a function")}function et(Ft,ut){for(var Qt=0;Qt0&&arguments[0]!==void 0?arguments[0]:{};$(this,Ft),ft.colors&&this.addColors(ft.colors),this.options=ft}var ut,Qt,pt;return ut=Ft,pt=[{key:"addColors",value:function(ft){var mt=Object.keys(ft).reduce(function(ht,Vt){return ht[Vt]=Ut.test(ft[Vt])?ft[Vt].split(Ut):ft[Vt],ht},{});return Ft.allColors=Object.assign({},Ft.allColors||{},mt),Ft.allColors}}],(Qt=[{key:"addColors",value:function(ft){return Ft.addColors(ft)}},{key:"colorize",value:function(ft,mt,ht){if(ht===void 0&&(ht=mt),!Array.isArray(Ft.allColors[ft]))return nt[Ft.allColors[ft]](ht);for(var Vt=0,Rt=Ft.allColors[ft].length;Vt{var j=_(1616);function $(tt){if(tt.every(et))return function(nt){for(var rt=nt,it=0;it{function j(it){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(st){return typeof st}:function(st){return st&&typeof Symbol=="function"&&st.constructor===Symbol&&st!==Symbol.prototype?"symbol":typeof st})(it)}function $(it,st,Ut){var ct;return ct=function(Ft,ut){if(j(Ft)!="object"||!Ft)return Ft;var Qt=Ft[Symbol.toPrimitive];if(Qt!==void 0){var pt=Qt.call(Ft,ut||"default");if(j(pt)!="object")return pt;throw new TypeError("@@toPrimitive must return a primitive value.")}return(ut==="string"?String:Number)(Ft)}(st,"string"),(st=j(ct)=="symbol"?ct:String(ct))in it?Object.defineProperty(it,st,{value:Ut,enumerable:!0,configurable:!0,writable:!0}):it[st]=Ut,it}var et=_(1616),tt=_(4966),nt=tt.LEVEL,rt=tt.MESSAGE;o.exports=et(function(it,st){var Ut=st.stack,ct=st.cause;if(it instanceof Error){var Ft=Object.assign({},it,$($($({level:it.level},nt,it[nt]||it.level),"message",it.message),rt,it[rt]||it.message));return Ut&&(Ft.stack=it.stack),ct&&(Ft.cause=it.cause),Ft}if(!(it.message instanceof Error))return it;var ut=it.message;return Object.assign(it,ut),it.message=ut.message,it[rt]=ut.message,Ut&&(it.stack=ut.stack),ct&&(it.cause=ut.cause),it})},1616:o=>{function s(st){return(s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ut){return typeof Ut}:function(Ut){return Ut&&typeof Symbol=="function"&&Ut.constructor===Symbol&&Ut!==Symbol.prototype?"symbol":typeof Ut})(st)}function _(st,Ut){if(Ut&&(s(Ut)==="object"||typeof Ut=="function"))return Ut;if(Ut!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return j(st)}function j(st){if(st===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return st}function $(st){var Ut=typeof Map=="function"?new Map:void 0;return($=function(ct){if(ct===null||!function(ut){try{return Function.toString.call(ut).indexOf("[native code]")!==-1}catch{return typeof ut=="function"}}(ct))return ct;if(typeof ct!="function")throw new TypeError("Super expression must either be null or a function");if(Ut!==void 0){if(Ut.has(ct))return Ut.get(ct);Ut.set(ct,Ft)}function Ft(){return et(ct,arguments,rt(this).constructor)}return Ft.prototype=Object.create(ct.prototype,{constructor:{value:Ft,enumerable:!1,writable:!0,configurable:!0}}),nt(Ft,ct)})(st)}function et(st,Ut,ct){return(et=tt()?Reflect.construct.bind():function(Ft,ut,Qt){var pt=[null];pt.push.apply(pt,ut);var ft=new(Function.bind.apply(Ft,pt));return Qt&&nt(ft,Qt.prototype),ft}).apply(null,arguments)}function tt(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function nt(st,Ut){return(nt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ct,Ft){return ct.__proto__=Ft,ct})(st,Ut)}function rt(st){return(rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Ut){return Ut.__proto__||Object.getPrototypeOf(Ut)})(st)}var it=function(st){(function(pt,ft){if(typeof ft!="function"&&ft!==null)throw new TypeError("Super expression must either be null or a function");pt.prototype=Object.create(ft&&ft.prototype,{constructor:{value:pt,writable:!0,configurable:!0}}),Object.defineProperty(pt,"prototype",{writable:!1}),ft&&nt(pt,ft)})(Qt,st);var Ut,ct,Ft,ut=(Ut=Qt,ct=tt(),function(){var pt,ft=rt(Ut);if(ct){var mt=rt(this).constructor;pt=Reflect.construct(ft,arguments,mt)}else pt=ft.apply(this,arguments);return _(this,pt)});function Qt(pt){var ft;return function(mt,ht){if(!(mt instanceof ht))throw new TypeError("Cannot call a class as a function")}(this,Qt),ft=ut.call(this,`Format functions must be synchronous taking a two arguments: (info, opts) +Found: `.concat(pt.toString().split(` +`)[0],` +`)),Error.captureStackTrace(j(ft),Qt),ft}return Ft=Qt,Object.defineProperty(Ft,"prototype",{writable:!1}),Ft}($(Error));o.exports=function(st){if(st.length>2)throw new it(st);function Ut(){var Ft=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=Ft}function ct(Ft){return new Ut(Ft)}return Ut.prototype.transform=st,ct.Format=Ut,ct}},9181:(o,s,_)=>{var j=_(1616),$=_(4966).MESSAGE,et=_(1145);function tt(nt,rt){return typeof rt=="bigint"?rt.toString():rt}o.exports=j(function(nt,rt){var it=et.configure(rt);return nt[$]=it(nt,rt.replacer||tt,rt.space),nt})},4673:(o,s,_)=>{var j=_(1616);o.exports=j(function($,et){return et.message?($.message="[".concat(et.label,"] ").concat($.message),$):($.label=et.label,$)})},3084:(o,s,_)=>{var j=_(452).Colorizer;o.exports=function($){return j.addColors($.colors||$),$}},372:(o,s,_)=>{var j=_(1616),$=_(4966).MESSAGE,et=_(1145);o.exports=j(function(tt){var nt={};return tt.message&&(nt["@message"]=tt.message,delete tt.message),tt.timestamp&&(nt["@timestamp"]=tt.timestamp,delete tt.timestamp),nt["@fields"]=tt,tt[$]=et(nt),tt})},5350:(o,s,_)=>{function j(rt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(it){return typeof it}:function(it){return it&&typeof Symbol=="function"&&it.constructor===Symbol&&it!==Symbol.prototype?"symbol":typeof it})(rt)}function $(rt,it,st){var Ut;return Ut=function(ct,Ft){if(j(ct)!="object"||!ct)return ct;var ut=ct[Symbol.toPrimitive];if(ut!==void 0){var Qt=ut.call(ct,Ft||"default");if(j(Qt)!="object")return Qt;throw new TypeError("@@toPrimitive must return a primitive value.")}return(Ft==="string"?String:Number)(ct)}(it,"string"),(it=j(Ut)=="symbol"?Ut:String(Ut))in rt?Object.defineProperty(rt,it,{value:st,enumerable:!0,configurable:!0,writable:!0}):rt[it]=st,rt}var et=_(1616);function tt(rt,it,st){var Ut=it.reduce(function(Ft,ut){return Ft[ut]=rt[ut],delete rt[ut],Ft},{}),ct=Object.keys(rt).reduce(function(Ft,ut){return Ft[ut]=rt[ut],delete rt[ut],Ft},{});return Object.assign(rt,Ut,$({},st,ct)),rt}function nt(rt,it,st){return rt[st]=it.reduce(function(Ut,ct){return Ut[ct]=rt[ct],delete rt[ct],Ut},{}),rt}o.exports=et(function(rt){var it=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},st="metadata";it.key&&(st=it.key);var Ut=[];return it.fillExcept||it.fillWith||(Ut.push("level"),Ut.push("message")),it.fillExcept&&(Ut=it.fillExcept),Ut.length>0?tt(rt,Ut,st):it.fillWith?nt(rt,it.fillWith,st):rt})},4659:(o,s,_)=>{var j=_(1616),$=_(7250);o.exports=j(function(et){var tt=+new Date;return(void 0).diff=tt-((void 0).prevTime||tt),(void 0).prevTime=tt,et.ms="+".concat($((void 0).diff)),et})},8071:(o,s,_)=>{function j(ut){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Qt){return typeof Qt}:function(Qt){return Qt&&typeof Symbol=="function"&&Qt.constructor===Symbol&&Qt!==Symbol.prototype?"symbol":typeof Qt})(ut)}function $(ut){return function(Qt){if(Array.isArray(Qt))return et(Qt)}(ut)||function(Qt){if(typeof Symbol<"u"&&Qt[Symbol.iterator]!=null||Qt["@@iterator"]!=null)return Array.from(Qt)}(ut)||function(Qt,pt){if(Qt){if(typeof Qt=="string")return et(Qt,pt);var ft=Object.prototype.toString.call(Qt).slice(8,-1);if(ft==="Object"&&Qt.constructor&&(ft=Qt.constructor.name),ft==="Map"||ft==="Set")return Array.from(Qt);if(ft==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ft))return et(Qt,pt)}}(ut)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function et(ut,Qt){(Qt==null||Qt>ut.length)&&(Qt=ut.length);for(var pt=0,ft=new Array(Qt);pt0&&arguments[0]!==void 0?arguments[0]:{levels:st.npm.levels};tt(this,ut),this.paddings=ut.paddingForLevels(mt.levels,mt.filler),this.options=mt}var Qt,pt,ft;return Qt=ut,ft=[{key:"getLongestLevel",value:function(mt){var ht=Object.keys(mt).map(function(Vt){return Vt.length});return Math.max.apply(Math,$(ht))}},{key:"paddingForLevel",value:function(mt,ht,Vt){var Rt=Vt+1-mt.length,Dt=Math.floor(Rt/ht.length);return"".concat(ht).concat(ht.repeat(Dt)).slice(0,Rt)}},{key:"paddingForLevels",value:function(mt){var ht=arguments.length>1&&arguments[1]!==void 0?arguments[1]:" ",Vt=ut.getLongestLevel(mt);return Object.keys(mt).reduce(function(Rt,Dt){return Rt[Dt]=ut.paddingForLevel(Dt,ht,Vt),Rt},{})}}],(pt=[{key:"transform",value:function(mt,ht){return mt.message="".concat(this.paddings[mt[Ut]]).concat(mt.message),mt[ct]&&(mt[ct]="".concat(this.paddings[mt[Ut]]).concat(mt[ct])),mt}}])&&nt(Qt.prototype,pt),ft&&nt(Qt,ft),Object.defineProperty(Qt,"prototype",{writable:!1}),ut}();o.exports=function(ut){return new Ft(ut)},o.exports.Padder=o.exports.Format=Ft},9121:(o,s,_)=>{var j=_(9208).inspect,$=_(1616),et=_(4966),tt=et.LEVEL,nt=et.MESSAGE,rt=et.SPLAT;o.exports=$(function(it){var st=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ut=Object.assign({},it);return delete Ut[tt],delete Ut[nt],delete Ut[rt],it[nt]=j(Ut,!1,st.depth||null,st.colorize),it})},7016:(o,s,_)=>{function j(rt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(it){return typeof it}:function(it){return it&&typeof Symbol=="function"&&it.constructor===Symbol&&it!==Symbol.prototype?"symbol":typeof it})(rt)}function $(rt,it){for(var st=0;st{var j=_(1616),$=_(4966).MESSAGE,et=_(1145);o.exports=j(function(tt){var nt=et(Object.assign({},tt,{level:void 0,message:void 0,splat:void 0})),rt=tt.padding&&tt.padding[tt.level]||"";return tt[$]=nt!=="{}"?"".concat(tt.level,":").concat(rt," ").concat(tt.message," ").concat(nt):"".concat(tt.level,":").concat(rt," ").concat(tt.message),tt})},2695:(o,s,_)=>{function j(Ft){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ut){return typeof ut}:function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut})(Ft)}function $(Ft){return function(ut){if(Array.isArray(ut))return et(ut)}(Ft)||function(ut){if(typeof Symbol<"u"&&ut[Symbol.iterator]!=null||ut["@@iterator"]!=null)return Array.from(ut)}(Ft)||function(ut,Qt){if(ut){if(typeof ut=="string")return et(ut,Qt);var pt=Object.prototype.toString.call(ut).slice(8,-1);if(pt==="Object"&&ut.constructor&&(pt=ut.constructor.name),pt==="Map"||pt==="Set")return Array.from(ut);if(pt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(pt))return et(ut,Qt)}}(Ft)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function et(Ft,ut){(ut==null||ut>Ft.length)&&(ut=Ft.length);for(var Qt=0,pt=new Array(ut);Qt1?mt.splice(0):mt,Rt=Vt.length;if(Rt)for(var Dt=0;Dt{var j=_(4798),$=_(1616);o.exports=$(function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return tt.format&&(et.timestamp=typeof tt.format=="function"?tt.format():j.format(new Date,tt.format)),et.timestamp||(et.timestamp=new Date().toISOString()),tt.alias&&(et[tt.alias]=et.timestamp),et})},1083:(o,s,_)=>{var j=_(1158),$=_(1616),et=_(4966).MESSAGE;o.exports=$(function(tt,nt){return nt.level!==!1&&(tt.level=j.strip(tt.level)),nt.message!==!1&&(tt.message=j.strip(String(tt.message))),nt.raw!==!1&&tt[et]&&(tt[et]=j.strip(String(tt[et]))),tt})},9327:o=>{class s extends Error{constructor(j){super(`Format functions must be synchronous taking a two arguments: (info, opts) +Found: ${j.toString().split(` +`)[0]} +`),Error.captureStackTrace(this,s)}}o.exports=_=>{if(_.length>2)throw new s(_);function j(et={}){this.options=et}function $(et){return new j(et)}return j.prototype.transform=_,$.Format=j,$}},2598:(o,s,_)=>{const j=_(9327),{MESSAGE:$}=_(4966),et=_(1145);function tt(nt,rt){return typeof rt=="bigint"?rt.toString():rt}o.exports=j((nt,rt)=>{const it=et.configure(rt);return nt[$]=it(nt,rt.replacer||tt,rt.space),nt})},8479:o=>{o.exports=Math.abs},8449:o=>{o.exports=Math.floor},2422:o=>{o.exports=Number.isNaN||function(s){return s!=s}},8129:o=>{o.exports=Math.max},2387:o=>{o.exports=Math.min},5865:o=>{o.exports=Math.pow},1319:o=>{o.exports=Math.round},6882:(o,s,_)=>{var j=_(2422);o.exports=function($){return j($)||$===0?$:$<0?-1:1}},7250:o=>{var s=1e3,_=6e4,j=60*_,$=24*j;function et(tt,nt,rt,it){var st=nt>=1.5*rt;return Math.round(tt/rt)+" "+it+(st?"s":"")}o.exports=function(tt,nt){nt=nt||{};var rt=typeof tt;if(rt==="string"&&tt.length>0)return function(it){if(!((it=String(it)).length>100)){var st=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(it);if(st){var Ut=parseFloat(st[1]);switch((st[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*Ut;case"weeks":case"week":case"w":return 6048e5*Ut;case"days":case"day":case"d":return Ut*$;case"hours":case"hour":case"hrs":case"hr":case"h":return Ut*j;case"minutes":case"minute":case"mins":case"min":case"m":return Ut*_;case"seconds":case"second":case"secs":case"sec":case"s":return Ut*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Ut;default:return}}}}(tt);if(rt==="number"&&isFinite(tt))return nt.long?function(it){var st=Math.abs(it);return st>=$?et(it,st,$,"day"):st>=j?et(it,st,j,"hour"):st>=_?et(it,st,_,"minute"):st>=s?et(it,st,s,"second"):it+" ms"}(tt):function(it){var st=Math.abs(it);return st>=$?Math.round(it/$)+"d":st>=j?Math.round(it/j)+"h":st>=_?Math.round(it/_)+"m":st>=s?Math.round(it/s)+"s":it+"ms"}(tt);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(tt))}},8660:(o,s,_)=>{var j=typeof Map=="function"&&Map.prototype,$=Object.getOwnPropertyDescriptor&&j?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,et=j&&$&&typeof $.get=="function"?$.get:null,tt=j&&Map.prototype.forEach,nt=typeof Set=="function"&&Set.prototype,rt=Object.getOwnPropertyDescriptor&&nt?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,it=nt&&rt&&typeof rt.get=="function"?rt.get:null,st=nt&&Set.prototype.forEach,Ut=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap.prototype.has:null,ct=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet.prototype.has:null,Ft=typeof WeakRef=="function"&&WeakRef.prototype?WeakRef.prototype.deref:null,ut=Boolean.prototype.valueOf,Qt=Object.prototype.toString,pt=Function.prototype.toString,ft=String.prototype.match,mt=String.prototype.slice,ht=String.prototype.replace,Vt=String.prototype.toUpperCase,Rt=String.prototype.toLowerCase,Dt=RegExp.prototype.test,Ct=Array.prototype.concat,Mt=Array.prototype.join,yt=Array.prototype.slice,Yt=Math.floor,Zt=typeof BigInt=="function"?BigInt.prototype.valueOf:null,vt=Object.getOwnPropertySymbols,bt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Wt=typeof Symbol=="function"&&typeof Symbol.iterator=="object",It=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Wt||"symbol")?Symbol.toStringTag:null,Tt=Object.prototype.propertyIsEnumerable,_t=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(jt){return jt.__proto__}:null);function $t(jt,zt){if(jt===1/0||jt===-1/0||jt!=jt||jt&&jt>-1e3&&jt<1e3||Dt.call(/e/,zt))return zt;var pn=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof jt=="number"){var yn=jt<0?-Yt(-jt):Yt(jt);if(yn!==jt){var Vn=String(yn),kn=mt.call(zt,Vn.length+1);return ht.call(Vn,pn,"$&_")+"."+ht.call(ht.call(kn,/([0-9]{3})/g,"$&_"),/_$/,"")}}return ht.call(zt,pn,"$&_")}var rn=_(6973),Pt=rn.custom,qt=Un(Pt)?Pt:null;function ln(jt,zt,pn){var yn=(pn.quoteStyle||zt)==="double"?'"':"'";return yn+jt+yn}function an(jt){return ht.call(String(jt),/"/g,""")}function Gt(jt){return!(fn(jt)!=="[object Array]"||It&&typeof jt=="object"&&It in jt)}function Ht(jt){return!(fn(jt)!=="[object RegExp]"||It&&typeof jt=="object"&&It in jt)}function Un(jt){if(Wt)return jt&&typeof jt=="object"&&jt instanceof Symbol;if(typeof jt=="symbol")return!0;if(!jt||typeof jt!="object"||!bt)return!1;try{return bt.call(jt),!0}catch{}return!1}o.exports=function jt(zt,pn,yn,Vn){var kn=pn||{};if(cn(kn,"quoteStyle")&&kn.quoteStyle!=="single"&&kn.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(cn(kn,"maxStringLength")&&(typeof kn.maxStringLength=="number"?kn.maxStringLength<0&&kn.maxStringLength!==1/0:kn.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Gn=!cn(kn,"customInspect")||kn.customInspect;if(typeof Gn!="boolean"&&Gn!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(cn(kn,"indent")&&kn.indent!==null&&kn.indent!==" "&&!(parseInt(kn.indent,10)===kn.indent&&kn.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(cn(kn,"numericSeparator")&&typeof kn.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var nr=kn.numericSeparator;if(zt===void 0)return"undefined";if(zt===null)return"null";if(typeof zt=="boolean")return zt?"true":"false";if(typeof zt=="string")return function sr(zr,Gr){if(zr.length>Gr.maxStringLength){var lo=zr.length-Gr.maxStringLength,Ro="... "+lo+" more character"+(lo>1?"s":"");return sr(mt.call(zr,0,Gr.maxStringLength),Gr)+Ro}return ln(ht.call(ht.call(zr,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,bn),"single",Gr)}(zt,kn);if(typeof zt=="number"){if(zt===0)return 1/0/zt>0?"0":"-0";var tr=String(zt);return nr?$t(zt,tr):tr}if(typeof zt=="bigint"){var cr=String(zt)+"n";return nr?$t(zt,cr):cr}var Ur=kn.depth===void 0?5:kn.depth;if(yn===void 0&&(yn=0),yn>=Ur&&Ur>0&&typeof zt=="object")return Gt(zt)?"[Array]":"[Object]";var Jr=function(sr,zr){var Gr;if(sr.indent===" ")Gr=" ";else{if(!(typeof sr.indent=="number"&&sr.indent>0))return null;Gr=Mt.call(Array(sr.indent+1)," ")}return{base:Gr,prev:Mt.call(Array(zr+1),Gr)}}(kn,yn);if(Vn===void 0)Vn=[];else if(sn(Vn,zt)>=0)return"[Circular]";function Sr(sr,zr,Gr){if(zr&&(Vn=yt.call(Vn)).push(zr),Gr){var lo={depth:kn.depth};return cn(kn,"quoteStyle")&&(lo.quoteStyle=kn.quoteStyle),jt(sr,lo,yn+1,Vn)}return jt(sr,kn,yn+1,Vn)}if(typeof zt=="function"&&!Ht(zt)){var dn=function(sr){if(sr.name)return sr.name;var zr=ft.call(pt.call(sr),/^function\s*([\w$]+)/);return zr?zr[1]:null}(zt),Nt=wt(zt,Sr);return"[Function"+(dn?": "+dn:" (anonymous)")+"]"+(Nt.length>0?" { "+Mt.call(Nt,", ")+" }":"")}if(Un(zt)){var Xt=Wt?ht.call(String(zt),/^(Symbol\(.*\))_[^)]*$/,"$1"):bt.call(zt);return typeof zt!="object"||Wt?Xt:Cn(Xt)}if(function(sr){return!sr||typeof sr!="object"?!1:typeof HTMLElement<"u"&&sr instanceof HTMLElement?!0:typeof sr.nodeName=="string"&&typeof sr.getAttribute=="function"}(zt)){for(var gn="<"+Rt.call(String(zt.nodeName)),nn=zt.attributes||[],Ln=0;Ln"}if(Gt(zt)){if(zt.length===0)return"[]";var Hn=wt(zt,Sr);return Jr&&!function(sr){for(var zr=0;zr=0)return!1;return!0}(Hn)?"["+zn(Hn,Jr)+"]":"[ "+Mt.call(Hn,", ")+" ]"}if(function(sr){return!(fn(sr)!=="[object Error]"||It&&typeof sr=="object"&&It in sr)}(zt)){var ur=wt(zt,Sr);return"cause"in Error.prototype||!("cause"in zt)||Tt.call(zt,"cause")?ur.length===0?"["+String(zt)+"]":"{ ["+String(zt)+"] "+Mt.call(ur,", ")+" }":"{ ["+String(zt)+"] "+Mt.call(Ct.call("[cause]: "+Sr(zt.cause),ur),", ")+" }"}if(typeof zt=="object"&&Gn){if(qt&&typeof zt[qt]=="function"&&rn)return rn(zt,{depth:Ur-yn});if(Gn!=="symbol"&&typeof zt.inspect=="function")return zt.inspect()}if(function(sr){if(!et||!sr||typeof sr!="object")return!1;try{et.call(sr);try{it.call(sr)}catch{return!0}return sr instanceof Map}catch{}return!1}(zt)){var Dr=[];return tt&&tt.call(zt,function(sr,zr){Dr.push(Sr(zr,zt,!0)+" => "+Sr(sr,zt))}),xn("Map",et.call(zt),Dr,Jr)}if(function(sr){if(!it||!sr||typeof sr!="object")return!1;try{it.call(sr);try{et.call(sr)}catch{return!0}return sr instanceof Set}catch{}return!1}(zt)){var Cr=[];return st&&st.call(zt,function(sr){Cr.push(Sr(sr,zt))}),xn("Set",it.call(zt),Cr,Jr)}if(function(sr){if(!Ut||!sr||typeof sr!="object")return!1;try{Ut.call(sr,Ut);try{ct.call(sr,ct)}catch{return!0}return sr instanceof WeakMap}catch{}return!1}(zt))return Nn("WeakMap");if(function(sr){if(!ct||!sr||typeof sr!="object")return!1;try{ct.call(sr,ct);try{Ut.call(sr,Ut)}catch{return!0}return sr instanceof WeakSet}catch{}return!1}(zt))return Nn("WeakSet");if(function(sr){if(!Ft||!sr||typeof sr!="object")return!1;try{return Ft.call(sr),!0}catch{}return!1}(zt))return Nn("WeakRef");if(function(sr){return!(fn(sr)!=="[object Number]"||It&&typeof sr=="object"&&It in sr)}(zt))return Cn(Sr(Number(zt)));if(function(sr){if(!sr||typeof sr!="object"||!Zt)return!1;try{return Zt.call(sr),!0}catch{}return!1}(zt))return Cn(Sr(Zt.call(zt)));if(function(sr){return!(fn(sr)!=="[object Boolean]"||It&&typeof sr=="object"&&It in sr)}(zt))return Cn(ut.call(zt));if(function(sr){return!(fn(sr)!=="[object String]"||It&&typeof sr=="object"&&It in sr)}(zt))return Cn(Sr(String(zt)));if(typeof window<"u"&&zt===window)return"{ [object Window] }";if(typeof globalThis<"u"&&zt===globalThis||_.g!==void 0&&zt===_.g)return"{ [object globalThis] }";if(!function(sr){return!(fn(sr)!=="[object Date]"||It&&typeof sr=="object"&&It in sr)}(zt)&&!Ht(zt)){var ir=wt(zt,Sr),Nr=_t?_t(zt)===Object.prototype:zt instanceof Object||zt.constructor===Object,Uo=zt instanceof Object?"":"null prototype",uo=!Nr&&It&&Object(zt)===zt&&It in zt?mt.call(fn(zt),8,-1):Uo?"Object":"",Vo=(Nr||typeof zt.constructor!="function"?"":zt.constructor.name?zt.constructor.name+" ":"")+(uo||Uo?"["+Mt.call(Ct.call([],uo||[],Uo||[]),": ")+"] ":"");return ir.length===0?Vo+"{}":Jr?Vo+"{"+zn(ir,Jr)+"}":Vo+"{ "+Mt.call(ir,", ")+" }"}return String(zt)};var Sn=Object.prototype.hasOwnProperty||function(jt){return jt in this};function cn(jt,zt){return Sn.call(jt,zt)}function fn(jt){return Qt.call(jt)}function sn(jt,zt){if(jt.indexOf)return jt.indexOf(zt);for(var pn=0,yn=jt.length;pn{var s=function(_){return _!=_};o.exports=function(_,j){return _===0&&j===0?1/_==1/j:_===j||!(!s(_)||!s(j))}},5968:(o,s,_)=>{var j=_(1857),$=_(8498),et=_(2372),tt=_(1937),nt=_(5087),rt=$(tt(),Object);j(rt,{getPolyfill:tt,implementation:et,shim:nt}),o.exports=rt},1937:(o,s,_)=>{var j=_(2372);o.exports=function(){return typeof Object.is=="function"?Object.is:j}},5087:(o,s,_)=>{var j=_(1937),$=_(1857);o.exports=function(){var et=j();return $(Object,{is:et},{is:function(){return Object.is!==et}}),et}},8160:(o,s,_)=>{var j;if(!Object.keys){var $=Object.prototype.hasOwnProperty,et=Object.prototype.toString,tt=_(968),nt=Object.prototype.propertyIsEnumerable,rt=!nt.call({toString:null},"toString"),it=nt.call(function(){},"prototype"),st=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Ut=function(ut){var Qt=ut.constructor;return Qt&&Qt.prototype===ut},ct={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},Ft=function(){if(typeof window>"u")return!1;for(var ut in window)try{if(!ct["$"+ut]&&$.call(window,ut)&&window[ut]!==null&&typeof window[ut]=="object")try{Ut(window[ut])}catch{return!0}}catch{return!0}return!1}();j=function(ut){var Qt=ut!==null&&typeof ut=="object",pt=et.call(ut)==="[object Function]",ft=tt(ut),mt=Qt&&et.call(ut)==="[object String]",ht=[];if(!Qt&&!pt&&!ft)throw new TypeError("Object.keys called on a non-object");var Vt=it&&pt;if(mt&&ut.length>0&&!$.call(ut,0))for(var Rt=0;Rt0)for(var Dt=0;Dt"u"||!Ft)return Ut(Yt);try{return Ut(Yt)}catch{return!1}}(ut),yt=0;yt{var j=Array.prototype.slice,$=_(968),et=Object.keys,tt=et?function(rt){return et(rt)}:_(8160),nt=Object.keys;tt.shim=function(){return Object.keys?function(){var rt=Object.keys(arguments);return rt&&rt.length===arguments.length}(1,2)||(Object.keys=function(rt){return $(rt)?nt(j.call(rt)):nt(rt)}):Object.keys=tt,Object.keys||tt},o.exports=tt},968:o=>{var s=Object.prototype.toString;o.exports=function(_){var j=s.call(_),$=j==="[object Arguments]";return $||($=j!=="[object Array]"&&_!==null&&typeof _=="object"&&typeof _.length=="number"&&_.length>=0&&s.call(_.callee)==="[object Function]"),$}},5164:(o,s,_)=>{var j=_(9228),$=_(2908)(),et=_(9818),tt=Object,nt=et("Array.prototype.push"),rt=et("Object.prototype.propertyIsEnumerable"),it=$?Object.getOwnPropertySymbols:null;o.exports=function(st,Ut){if(st==null)throw new TypeError("target must be an object");var ct=tt(st);if(arguments.length===1)return ct;for(var Ft=1;Ft{var j=_(5164);o.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var $="abcdefghijklmnopqrst",et=$.split(""),tt={},nt=0;nt{var j=_(9827);o.exports=function($){var et,tt=0;function nt(){return tt||(tt=1,et=$.apply(this,arguments),$=null),et}return nt.displayName=j($),nt}},2213:(o,s)=>{s.endianness=function(){return"LE"},s.hostname=function(){return typeof location<"u"?location.hostname:""},s.loadavg=function(){return[]},s.uptime=function(){return 0},s.freemem=function(){return Number.MAX_VALUE},s.totalmem=function(){return Number.MAX_VALUE},s.cpus=function(){return[]},s.type=function(){return"Browser"},s.release=function(){return typeof navigator<"u"?navigator.appVersion:""},s.networkInterfaces=s.getNetworkInterfaces=function(){return{}},s.arch=function(){return"javascript"},s.platform=function(){return"browser"},s.tmpdir=s.tmpDir=function(){return"/tmp"},s.EOL=` +`,s.homedir=function(){return"/"}},1824:(o,s)=>{var _=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function j(tt,nt){return Object.prototype.hasOwnProperty.call(tt,nt)}s.assign=function(tt){for(var nt=Array.prototype.slice.call(arguments,1);nt.length;){var rt=nt.shift();if(rt){if(typeof rt!="object")throw new TypeError(rt+"must be non-object");for(var it in rt)j(rt,it)&&(tt[it]=rt[it])}}return tt},s.shrinkBuf=function(tt,nt){return tt.length===nt?tt:tt.subarray?tt.subarray(0,nt):(tt.length=nt,tt)};var $={arraySet:function(tt,nt,rt,it,st){if(nt.subarray&&tt.subarray)tt.set(nt.subarray(rt,rt+it),st);else for(var Ut=0;Ut{o.exports=function(s,_,j,$){for(var et=65535&s|0,tt=s>>>16&65535|0,nt=0;j!==0;){j-=nt=j>2e3?2e3:j;do tt=tt+(et=et+_[$++]|0)|0;while(--nt);et%=65521,tt%=65521}return et|tt<<16|0}},7200:o=>{o.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},2506:o=>{var s=function(){for(var _,j=[],$=0;$<256;$++){_=$;for(var et=0;et<8;et++)_=1&_?3988292384^_>>>1:_>>>1;j[$]=_}return j}();o.exports=function(_,j,$,et){var tt=s,nt=et+$;_^=-1;for(var rt=et;rt>>8^tt[255&(_^j[rt])];return-1^_}},6446:(o,s,_)=>{var j,$=_(1824),et=_(9708),tt=_(6904),nt=_(2506),rt=_(2817);function it(yt,Yt){return yt.msg=rt[Yt],Yt}function st(yt){return(yt<<1)-(yt>4?9:0)}function Ut(yt){for(var Yt=yt.length;--Yt>=0;)yt[Yt]=0}function ct(yt){var Yt=yt.state,Zt=Yt.pending;Zt>yt.avail_out&&(Zt=yt.avail_out),Zt!==0&&($.arraySet(yt.output,Yt.pending_buf,Yt.pending_out,Zt,yt.next_out),yt.next_out+=Zt,Yt.pending_out+=Zt,yt.total_out+=Zt,yt.avail_out-=Zt,Yt.pending-=Zt,Yt.pending===0&&(Yt.pending_out=0))}function Ft(yt,Yt){et._tr_flush_block(yt,yt.block_start>=0?yt.block_start:-1,yt.strstart-yt.block_start,Yt),yt.block_start=yt.strstart,ct(yt.strm)}function ut(yt,Yt){yt.pending_buf[yt.pending++]=Yt}function Qt(yt,Yt){yt.pending_buf[yt.pending++]=Yt>>>8&255,yt.pending_buf[yt.pending++]=255&Yt}function pt(yt,Yt){var Zt,vt,bt=yt.max_chain_length,Wt=yt.strstart,It=yt.prev_length,Tt=yt.nice_match,_t=yt.strstart>yt.w_size-262?yt.strstart-(yt.w_size-262):0,$t=yt.window,rn=yt.w_mask,Pt=yt.prev,qt=yt.strstart+258,ln=$t[Wt+It-1],an=$t[Wt+It];yt.prev_length>=yt.good_match&&(bt>>=2),Tt>yt.lookahead&&(Tt=yt.lookahead);do if($t[(Zt=Yt)+It]===an&&$t[Zt+It-1]===ln&&$t[Zt]===$t[Wt]&&$t[++Zt]===$t[Wt+1]){Wt+=2,Zt++;do;while($t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&$t[++Wt]===$t[++Zt]&&WtIt){if(yt.match_start=Yt,It=vt,vt>=Tt)break;ln=$t[Wt+It-1],an=$t[Wt+It]}}while((Yt=Pt[Yt&rn])>_t&&--bt!=0);return It<=yt.lookahead?It:yt.lookahead}function ft(yt){var Yt,Zt,vt,bt,Wt,It,Tt,_t,$t,rn,Pt=yt.w_size;do{if(bt=yt.window_size-yt.lookahead-yt.strstart,yt.strstart>=Pt+(Pt-262)){$.arraySet(yt.window,yt.window,Pt,Pt,0),yt.match_start-=Pt,yt.strstart-=Pt,yt.block_start-=Pt,Yt=Zt=yt.hash_size;do vt=yt.head[--Yt],yt.head[Yt]=vt>=Pt?vt-Pt:0;while(--Zt);Yt=Zt=Pt;do vt=yt.prev[--Yt],yt.prev[Yt]=vt>=Pt?vt-Pt:0;while(--Zt);bt+=Pt}if(yt.strm.avail_in===0)break;if(It=yt.strm,Tt=yt.window,_t=yt.strstart+yt.lookahead,$t=bt,rn=void 0,(rn=It.avail_in)>$t&&(rn=$t),Zt=rn===0?0:(It.avail_in-=rn,$.arraySet(Tt,It.input,It.next_in,rn,_t),It.state.wrap===1?It.adler=tt(It.adler,Tt,rn,_t):It.state.wrap===2&&(It.adler=nt(It.adler,Tt,rn,_t)),It.next_in+=rn,It.total_in+=rn,rn),yt.lookahead+=Zt,yt.lookahead+yt.insert>=3)for(Wt=yt.strstart-yt.insert,yt.ins_h=yt.window[Wt],yt.ins_h=(yt.ins_h<=3&&(yt.ins_h=(yt.ins_h<=3)if(vt=et._tr_tally(yt,yt.strstart-yt.match_start,yt.match_length-3),yt.lookahead-=yt.match_length,yt.match_length<=yt.max_lazy_match&&yt.lookahead>=3){yt.match_length--;do yt.strstart++,yt.ins_h=(yt.ins_h<=3&&(yt.ins_h=(yt.ins_h<4096)&&(yt.match_length=2)),yt.prev_length>=3&&yt.match_length<=yt.prev_length){bt=yt.strstart+yt.lookahead-3,vt=et._tr_tally(yt,yt.strstart-1-yt.prev_match,yt.prev_length-3),yt.lookahead-=yt.prev_length-1,yt.prev_length-=2;do++yt.strstart<=bt&&(yt.ins_h=(yt.ins_h<15&&(It=2,vt-=16),bt<1||bt>9||Zt!==8||vt<8||vt>15||Yt<0||Yt>9||Wt<0||Wt>4)return it(yt,-2);vt===8&&(vt=9);var Tt=new Rt;return yt.state=Tt,Tt.strm=yt,Tt.wrap=It,Tt.gzhead=null,Tt.w_bits=vt,Tt.w_size=1<yt.pending_buf_size-5&&(Zt=yt.pending_buf_size-5);;){if(yt.lookahead<=1){if(ft(yt),yt.lookahead===0&&Yt===0)return 1;if(yt.lookahead===0)break}yt.strstart+=yt.lookahead,yt.lookahead=0;var vt=yt.block_start+Zt;if((yt.strstart===0||yt.strstart>=vt)&&(yt.lookahead=yt.strstart-vt,yt.strstart=vt,Ft(yt,!1),yt.strm.avail_out===0)||yt.strstart-yt.block_start>=yt.w_size-262&&(Ft(yt,!1),yt.strm.avail_out===0))return 1}return yt.insert=0,Yt===4?(Ft(yt,!0),yt.strm.avail_out===0?3:4):(yt.strstart>yt.block_start&&(Ft(yt,!1),yt.strm.avail_out),1)}),new Vt(4,4,8,4,mt),new Vt(4,5,16,8,mt),new Vt(4,6,32,32,mt),new Vt(4,4,16,16,ht),new Vt(8,16,32,32,ht),new Vt(8,16,128,128,ht),new Vt(8,32,128,256,ht),new Vt(32,128,258,1024,ht),new Vt(32,258,258,4096,ht)],s.deflateInit=function(yt,Yt){return Mt(yt,Yt,8,15,8,0)},s.deflateInit2=Mt,s.deflateReset=Ct,s.deflateResetKeep=Dt,s.deflateSetHeader=function(yt,Yt){return yt&&yt.state?yt.state.wrap!==2?-2:(yt.state.gzhead=Yt,0):-2},s.deflate=function(yt,Yt){var Zt,vt,bt,Wt;if(!yt||!yt.state||Yt>5||Yt<0)return yt?it(yt,-2):-2;if(vt=yt.state,!yt.output||!yt.input&&yt.avail_in!==0||vt.status===666&&Yt!==4)return it(yt,yt.avail_out===0?-5:-2);if(vt.strm=yt,Zt=vt.last_flush,vt.last_flush=Yt,vt.status===42)if(vt.wrap===2)yt.adler=0,ut(vt,31),ut(vt,139),ut(vt,8),vt.gzhead?(ut(vt,(vt.gzhead.text?1:0)+(vt.gzhead.hcrc?2:0)+(vt.gzhead.extra?4:0)+(vt.gzhead.name?8:0)+(vt.gzhead.comment?16:0)),ut(vt,255&vt.gzhead.time),ut(vt,vt.gzhead.time>>8&255),ut(vt,vt.gzhead.time>>16&255),ut(vt,vt.gzhead.time>>24&255),ut(vt,vt.level===9?2:vt.strategy>=2||vt.level<2?4:0),ut(vt,255&vt.gzhead.os),vt.gzhead.extra&&vt.gzhead.extra.length&&(ut(vt,255&vt.gzhead.extra.length),ut(vt,vt.gzhead.extra.length>>8&255)),vt.gzhead.hcrc&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending,0)),vt.gzindex=0,vt.status=69):(ut(vt,0),ut(vt,0),ut(vt,0),ut(vt,0),ut(vt,0),ut(vt,vt.level===9?2:vt.strategy>=2||vt.level<2?4:0),ut(vt,3),vt.status=113);else{var It=8+(vt.w_bits-8<<4)<<8;It|=(vt.strategy>=2||vt.level<2?0:vt.level<6?1:vt.level===6?2:3)<<6,vt.strstart!==0&&(It|=32),It+=31-It%31,vt.status=113,Qt(vt,It),vt.strstart!==0&&(Qt(vt,yt.adler>>>16),Qt(vt,65535&yt.adler)),yt.adler=1}if(vt.status===69)if(vt.gzhead.extra){for(bt=vt.pending;vt.gzindex<(65535&vt.gzhead.extra.length)&&(vt.pending!==vt.pending_buf_size||(vt.gzhead.hcrc&&vt.pending>bt&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending-bt,bt)),ct(yt),bt=vt.pending,vt.pending!==vt.pending_buf_size));)ut(vt,255&vt.gzhead.extra[vt.gzindex]),vt.gzindex++;vt.gzhead.hcrc&&vt.pending>bt&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending-bt,bt)),vt.gzindex===vt.gzhead.extra.length&&(vt.gzindex=0,vt.status=73)}else vt.status=73;if(vt.status===73)if(vt.gzhead.name){bt=vt.pending;do{if(vt.pending===vt.pending_buf_size&&(vt.gzhead.hcrc&&vt.pending>bt&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending-bt,bt)),ct(yt),bt=vt.pending,vt.pending===vt.pending_buf_size)){Wt=1;break}Wt=vt.gzindexbt&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending-bt,bt)),Wt===0&&(vt.gzindex=0,vt.status=91)}else vt.status=91;if(vt.status===91)if(vt.gzhead.comment){bt=vt.pending;do{if(vt.pending===vt.pending_buf_size&&(vt.gzhead.hcrc&&vt.pending>bt&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending-bt,bt)),ct(yt),bt=vt.pending,vt.pending===vt.pending_buf_size)){Wt=1;break}Wt=vt.gzindexbt&&(yt.adler=nt(yt.adler,vt.pending_buf,vt.pending-bt,bt)),Wt===0&&(vt.status=103)}else vt.status=103;if(vt.status===103&&(vt.gzhead.hcrc?(vt.pending+2>vt.pending_buf_size&&ct(yt),vt.pending+2<=vt.pending_buf_size&&(ut(vt,255&yt.adler),ut(vt,yt.adler>>8&255),yt.adler=0,vt.status=113)):vt.status=113),vt.pending!==0){if(ct(yt),yt.avail_out===0)return vt.last_flush=-1,0}else if(yt.avail_in===0&&st(Yt)<=st(Zt)&&Yt!==4)return it(yt,-5);if(vt.status===666&&yt.avail_in!==0)return it(yt,-5);if(yt.avail_in!==0||vt.lookahead!==0||Yt!==0&&vt.status!==666){var Tt=vt.strategy===2?function(_t,$t){for(var rn;;){if(_t.lookahead===0&&(ft(_t),_t.lookahead===0)){if($t===0)return 1;break}if(_t.match_length=0,rn=et._tr_tally(_t,0,_t.window[_t.strstart]),_t.lookahead--,_t.strstart++,rn&&(Ft(_t,!1),_t.strm.avail_out===0))return 1}return _t.insert=0,$t===4?(Ft(_t,!0),_t.strm.avail_out===0?3:4):_t.last_lit&&(Ft(_t,!1),_t.strm.avail_out===0)?1:2}(vt,Yt):vt.strategy===3?function(_t,$t){for(var rn,Pt,qt,ln,an=_t.window;;){if(_t.lookahead<=258){if(ft(_t),_t.lookahead<=258&&$t===0)return 1;if(_t.lookahead===0)break}if(_t.match_length=0,_t.lookahead>=3&&_t.strstart>0&&(Pt=an[qt=_t.strstart-1])===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]){ln=_t.strstart+258;do;while(Pt===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]&&Pt===an[++qt]&&qt_t.lookahead&&(_t.match_length=_t.lookahead)}if(_t.match_length>=3?(rn=et._tr_tally(_t,1,_t.match_length-3),_t.lookahead-=_t.match_length,_t.strstart+=_t.match_length,_t.match_length=0):(rn=et._tr_tally(_t,0,_t.window[_t.strstart]),_t.lookahead--,_t.strstart++),rn&&(Ft(_t,!1),_t.strm.avail_out===0))return 1}return _t.insert=0,$t===4?(Ft(_t,!0),_t.strm.avail_out===0?3:4):_t.last_lit&&(Ft(_t,!1),_t.strm.avail_out===0)?1:2}(vt,Yt):j[vt.level].func(vt,Yt);if(Tt!==3&&Tt!==4||(vt.status=666),Tt===1||Tt===3)return yt.avail_out===0&&(vt.last_flush=-1),0;if(Tt===2&&(Yt===1?et._tr_align(vt):Yt!==5&&(et._tr_stored_block(vt,0,0,!1),Yt===3&&(Ut(vt.head),vt.lookahead===0&&(vt.strstart=0,vt.block_start=0,vt.insert=0))),ct(yt),yt.avail_out===0))return vt.last_flush=-1,0}return Yt!==4?0:vt.wrap<=0?1:(vt.wrap===2?(ut(vt,255&yt.adler),ut(vt,yt.adler>>8&255),ut(vt,yt.adler>>16&255),ut(vt,yt.adler>>24&255),ut(vt,255&yt.total_in),ut(vt,yt.total_in>>8&255),ut(vt,yt.total_in>>16&255),ut(vt,yt.total_in>>24&255)):(Qt(vt,yt.adler>>>16),Qt(vt,65535&yt.adler)),ct(yt),vt.wrap>0&&(vt.wrap=-vt.wrap),vt.pending!==0?0:1)},s.deflateEnd=function(yt){var Yt;return yt&&yt.state?(Yt=yt.state.status)!==42&&Yt!==69&&Yt!==73&&Yt!==91&&Yt!==103&&Yt!==113&&Yt!==666?it(yt,-2):(yt.state=null,Yt===113?it(yt,-3):0):-2},s.deflateSetDictionary=function(yt,Yt){var Zt,vt,bt,Wt,It,Tt,_t,$t,rn=Yt.length;if(!yt||!yt.state||(Wt=(Zt=yt.state).wrap)===2||Wt===1&&Zt.status!==42||Zt.lookahead)return-2;for(Wt===1&&(yt.adler=tt(yt.adler,Yt,rn,0)),Zt.wrap=0,rn>=Zt.w_size&&(Wt===0&&(Ut(Zt.head),Zt.strstart=0,Zt.block_start=0,Zt.insert=0),$t=new $.Buf8(Zt.w_size),$.arraySet($t,Yt,rn-Zt.w_size,Zt.w_size,0),Yt=$t,rn=Zt.w_size),It=yt.avail_in,Tt=yt.next_in,_t=yt.input,yt.avail_in=rn,yt.next_in=0,yt.input=Yt,ft(Zt);Zt.lookahead>=3;){vt=Zt.strstart,bt=Zt.lookahead-2;do Zt.ins_h=(Zt.ins_h<{o.exports=function(s,_){var j,$,et,tt,nt,rt,it,st,Ut,ct,Ft,ut,Qt,pt,ft,mt,ht,Vt,Rt,Dt,Ct,Mt,yt,Yt,Zt;j=s.state,$=s.next_in,Yt=s.input,et=$+(s.avail_in-5),tt=s.next_out,Zt=s.output,nt=tt-(_-s.avail_out),rt=tt+(s.avail_out-257),it=j.dmax,st=j.wsize,Ut=j.whave,ct=j.wnext,Ft=j.window,ut=j.hold,Qt=j.bits,pt=j.lencode,ft=j.distcode,mt=(1<>>=Rt=Vt>>>24,Qt-=Rt,(Rt=Vt>>>16&255)===0)Zt[tt++]=65535&Vt;else{if(!(16&Rt)){if(!(64&Rt)){Vt=pt[(65535&Vt)+(ut&(1<>>=Rt,Qt-=Rt),Qt<15&&(ut+=Yt[$++]<>>=Rt=Vt>>>24,Qt-=Rt,!(16&(Rt=Vt>>>16&255))){if(!(64&Rt)){Vt=ft[(65535&Vt)+(ut&(1<it){s.msg="invalid distance too far back",j.mode=30;break e}if(ut>>>=Rt,Qt-=Rt,Ct>(Rt=tt-nt)){if((Rt=Ct-Rt)>Ut&&j.sane){s.msg="invalid distance too far back",j.mode=30;break e}if(Mt=0,yt=Ft,ct===0){if(Mt+=st-Rt,Rt2;)Zt[tt++]=yt[Mt++],Zt[tt++]=yt[Mt++],Zt[tt++]=yt[Mt++],Dt-=3;Dt&&(Zt[tt++]=yt[Mt++],Dt>1&&(Zt[tt++]=yt[Mt++]))}else{Mt=tt-Ct;do Zt[tt++]=Zt[Mt++],Zt[tt++]=Zt[Mt++],Zt[tt++]=Zt[Mt++],Dt-=3;while(Dt>2);Dt&&(Zt[tt++]=Zt[Mt++],Dt>1&&(Zt[tt++]=Zt[Mt++]))}break}}break}}while($>3,ut&=(1<<(Qt-=Dt<<3))-1,s.next_in=$,s.next_out=tt,s.avail_in=${var j=_(1824),$=_(6904),et=_(2506),tt=_(2128),nt=_(9673);function rt(ht){return(ht>>>24&255)+(ht>>>8&65280)+((65280&ht)<<8)+((255&ht)<<24)}function it(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new j.Buf16(320),this.work=new j.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function st(ht){var Vt;return ht&&ht.state?(Vt=ht.state,ht.total_in=ht.total_out=Vt.total=0,ht.msg="",Vt.wrap&&(ht.adler=1&Vt.wrap),Vt.mode=1,Vt.last=0,Vt.havedict=0,Vt.dmax=32768,Vt.head=null,Vt.hold=0,Vt.bits=0,Vt.lencode=Vt.lendyn=new j.Buf32(852),Vt.distcode=Vt.distdyn=new j.Buf32(592),Vt.sane=1,Vt.back=-1,0):-2}function Ut(ht){var Vt;return ht&&ht.state?((Vt=ht.state).wsize=0,Vt.whave=0,Vt.wnext=0,st(ht)):-2}function ct(ht,Vt){var Rt,Dt;return ht&&ht.state?(Dt=ht.state,Vt<0?(Rt=0,Vt=-Vt):(Rt=1+(Vt>>4),Vt<48&&(Vt&=15)),Vt&&(Vt<8||Vt>15)?-2:(Dt.window!==null&&Dt.wbits!==Vt&&(Dt.window=null),Dt.wrap=Rt,Dt.wbits=Vt,Ut(ht))):-2}function Ft(ht,Vt){var Rt,Dt;return ht?(Dt=new it,ht.state=Dt,Dt.window=null,(Rt=ct(ht,Vt))!==0&&(ht.state=null),Rt):-2}var ut,Qt,pt=!0;function ft(ht){if(pt){var Vt;for(ut=new j.Buf32(512),Qt=new j.Buf32(32),Vt=0;Vt<144;)ht.lens[Vt++]=8;for(;Vt<256;)ht.lens[Vt++]=9;for(;Vt<280;)ht.lens[Vt++]=7;for(;Vt<288;)ht.lens[Vt++]=8;for(nt(1,ht.lens,0,288,ut,0,ht.work,{bits:9}),Vt=0;Vt<32;)ht.lens[Vt++]=5;nt(2,ht.lens,0,32,Qt,0,ht.work,{bits:5}),pt=!1}ht.lencode=ut,ht.lenbits=9,ht.distcode=Qt,ht.distbits=5}function mt(ht,Vt,Rt,Dt){var Ct,Mt=ht.state;return Mt.window===null&&(Mt.wsize=1<=Mt.wsize?(j.arraySet(Mt.window,Vt,Rt-Mt.wsize,Mt.wsize,0),Mt.wnext=0,Mt.whave=Mt.wsize):((Ct=Mt.wsize-Mt.wnext)>Dt&&(Ct=Dt),j.arraySet(Mt.window,Vt,Rt-Dt,Ct,Mt.wnext),(Dt-=Ct)?(j.arraySet(Mt.window,Vt,Rt-Dt,Dt,0),Mt.wnext=Dt,Mt.whave=Mt.wsize):(Mt.wnext+=Ct,Mt.wnext===Mt.wsize&&(Mt.wnext=0),Mt.whave>>8&255,Rt.check=et(Rt.check,sn,2,0),vt=0,bt=0,Rt.mode=2;break}if(Rt.flags=0,Rt.head&&(Rt.head.done=!1),!(1&Rt.wrap)||(((255&vt)<<8)+(vt>>8))%31){ht.msg="incorrect header check",Rt.mode=30;break}if((15&vt)!=8){ht.msg="unknown compression method",Rt.mode=30;break}if(bt-=4,Ht=8+(15&(vt>>>=4)),Rt.wbits===0)Rt.wbits=Ht;else if(Ht>Rt.wbits){ht.msg="invalid window size",Rt.mode=30;break}Rt.dmax=1<>8&1),512&Rt.flags&&(sn[0]=255&vt,sn[1]=vt>>>8&255,Rt.check=et(Rt.check,sn,2,0)),vt=0,bt=0,Rt.mode=3;case 3:for(;bt<32;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>8&255,sn[2]=vt>>>16&255,sn[3]=vt>>>24&255,Rt.check=et(Rt.check,sn,4,0)),vt=0,bt=0,Rt.mode=4;case 4:for(;bt<16;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>8),512&Rt.flags&&(sn[0]=255&vt,sn[1]=vt>>>8&255,Rt.check=et(Rt.check,sn,2,0)),vt=0,bt=0,Rt.mode=5;case 5:if(1024&Rt.flags){for(;bt<16;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>8&255,Rt.check=et(Rt.check,sn,2,0)),vt=0,bt=0}else Rt.head&&(Rt.head.extra=null);Rt.mode=6;case 6:if(1024&Rt.flags&&((Tt=Rt.length)>Yt&&(Tt=Yt),Tt&&(Rt.head&&(Ht=Rt.head.extra_len-Rt.length,Rt.head.extra||(Rt.head.extra=new Array(Rt.head.extra_len)),j.arraySet(Rt.head.extra,Dt,Mt,Tt,Ht)),512&Rt.flags&&(Rt.check=et(Rt.check,Dt,Tt,Mt)),Yt-=Tt,Mt+=Tt,Rt.length-=Tt),Rt.length))break e;Rt.length=0,Rt.mode=7;case 7:if(2048&Rt.flags){if(Yt===0)break e;Tt=0;do Ht=Dt[Mt+Tt++],Rt.head&&Ht&&Rt.length<65536&&(Rt.head.name+=String.fromCharCode(Ht));while(Ht&&Tt>9&1,Rt.head.done=!0),ht.adler=Rt.check=0,Rt.mode=12;break;case 10:for(;bt<32;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>=7&bt,bt-=7&bt,Rt.mode=27;break}for(;bt<3;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>=1)){case 0:Rt.mode=14;break;case 1:if(ft(Rt),Rt.mode=20,Vt===6){vt>>>=2,bt-=2;break e}break;case 2:Rt.mode=17;break;case 3:ht.msg="invalid block type",Rt.mode=30}vt>>>=2,bt-=2;break;case 14:for(vt>>>=7&bt,bt-=7&bt;bt<32;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>16^65535)){ht.msg="invalid stored block lengths",Rt.mode=30;break}if(Rt.length=65535&vt,vt=0,bt=0,Rt.mode=15,Vt===6)break e;case 15:Rt.mode=16;case 16:if(Tt=Rt.length){if(Tt>Yt&&(Tt=Yt),Tt>Zt&&(Tt=Zt),Tt===0)break e;j.arraySet(Ct,Dt,Mt,Tt,yt),Yt-=Tt,Mt+=Tt,Zt-=Tt,yt+=Tt,Rt.length-=Tt;break}Rt.mode=12;break;case 17:for(;bt<14;){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>=5,bt-=5,Rt.ndist=1+(31&vt),vt>>>=5,bt-=5,Rt.ncode=4+(15&vt),vt>>>=4,bt-=4,Rt.nlen>286||Rt.ndist>30){ht.msg="too many length or distance symbols",Rt.mode=30;break}Rt.have=0,Rt.mode=18;case 18:for(;Rt.have>>=3,bt-=3}for(;Rt.have<19;)Rt.lens[bn[Rt.have++]]=0;if(Rt.lencode=Rt.lendyn,Rt.lenbits=7,Sn={bits:Rt.lenbits},Un=nt(0,Rt.lens,0,19,Rt.lencode,0,Rt.work,Sn),Rt.lenbits=Sn.bits,Un){ht.msg="invalid code lengths set",Rt.mode=30;break}Rt.have=0,Rt.mode=19;case 19:for(;Rt.have>>16&255,qt=65535&fn,!((rn=fn>>>24)<=bt);){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>=rn,bt-=rn,Rt.lens[Rt.have++]=qt;else{if(qt===16){for(cn=rn+2;bt>>=rn,bt-=rn,Rt.have===0){ht.msg="invalid bit length repeat",Rt.mode=30;break}Ht=Rt.lens[Rt.have-1],Tt=3+(3&vt),vt>>>=2,bt-=2}else if(qt===17){for(cn=rn+3;bt>>=rn)),vt>>>=3,bt-=3}else{for(cn=rn+7;bt>>=rn)),vt>>>=7,bt-=7}if(Rt.have+Tt>Rt.nlen+Rt.ndist){ht.msg="invalid bit length repeat",Rt.mode=30;break}for(;Tt--;)Rt.lens[Rt.have++]=Ht}}if(Rt.mode===30)break;if(Rt.lens[256]===0){ht.msg="invalid code -- missing end-of-block",Rt.mode=30;break}if(Rt.lenbits=9,Sn={bits:Rt.lenbits},Un=nt(1,Rt.lens,0,Rt.nlen,Rt.lencode,0,Rt.work,Sn),Rt.lenbits=Sn.bits,Un){ht.msg="invalid literal/lengths set",Rt.mode=30;break}if(Rt.distbits=6,Rt.distcode=Rt.distdyn,Sn={bits:Rt.distbits},Un=nt(2,Rt.lens,Rt.nlen,Rt.ndist,Rt.distcode,0,Rt.work,Sn),Rt.distbits=Sn.bits,Un){ht.msg="invalid distances set",Rt.mode=30;break}if(Rt.mode=20,Vt===6)break e;case 20:Rt.mode=21;case 21:if(Yt>=6&&Zt>=258){ht.next_out=yt,ht.avail_out=Zt,ht.next_in=Mt,ht.avail_in=Yt,Rt.hold=vt,Rt.bits=bt,tt(ht,It),yt=ht.next_out,Ct=ht.output,Zt=ht.avail_out,Mt=ht.next_in,Dt=ht.input,Yt=ht.avail_in,vt=Rt.hold,bt=Rt.bits,Rt.mode===12&&(Rt.back=-1);break}for(Rt.back=0;Pt=(fn=Rt.lencode[vt&(1<>>16&255,qt=65535&fn,!((rn=fn>>>24)<=bt);){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>ln)])>>>16&255,qt=65535&fn,!(ln+(rn=fn>>>24)<=bt);){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>=ln,bt-=ln,Rt.back+=ln}if(vt>>>=rn,bt-=rn,Rt.back+=rn,Rt.length=qt,Pt===0){Rt.mode=26;break}if(32&Pt){Rt.back=-1,Rt.mode=12;break}if(64&Pt){ht.msg="invalid literal/length code",Rt.mode=30;break}Rt.extra=15&Pt,Rt.mode=22;case 22:if(Rt.extra){for(cn=Rt.extra;bt>>=Rt.extra,bt-=Rt.extra,Rt.back+=Rt.extra}Rt.was=Rt.length,Rt.mode=23;case 23:for(;Pt=(fn=Rt.distcode[vt&(1<>>16&255,qt=65535&fn,!((rn=fn>>>24)<=bt);){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>ln)])>>>16&255,qt=65535&fn,!(ln+(rn=fn>>>24)<=bt);){if(Yt===0)break e;Yt--,vt+=Dt[Mt++]<>>=ln,bt-=ln,Rt.back+=ln}if(vt>>>=rn,bt-=rn,Rt.back+=rn,64&Pt){ht.msg="invalid distance code",Rt.mode=30;break}Rt.offset=qt,Rt.extra=15&Pt,Rt.mode=24;case 24:if(Rt.extra){for(cn=Rt.extra;bt>>=Rt.extra,bt-=Rt.extra,Rt.back+=Rt.extra}if(Rt.offset>Rt.dmax){ht.msg="invalid distance too far back",Rt.mode=30;break}Rt.mode=25;case 25:if(Zt===0)break e;if(Tt=It-Zt,Rt.offset>Tt){if((Tt=Rt.offset-Tt)>Rt.whave&&Rt.sane){ht.msg="invalid distance too far back",Rt.mode=30;break}Tt>Rt.wnext?(Tt-=Rt.wnext,_t=Rt.wsize-Tt):_t=Rt.wnext-Tt,Tt>Rt.length&&(Tt=Rt.length),$t=Rt.window}else $t=Ct,_t=yt-Rt.offset,Tt=Rt.length;Tt>Zt&&(Tt=Zt),Zt-=Tt,Rt.length-=Tt;do Ct[yt++]=$t[_t++];while(--Tt);Rt.length===0&&(Rt.mode=21);break;case 26:if(Zt===0)break e;Ct[yt++]=Rt.length,Zt--,Rt.mode=21;break;case 27:if(Rt.wrap){for(;bt<32;){if(Yt===0)break e;Yt--,vt|=Dt[Mt++]<{var j=_(1824),$=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],et=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],tt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],nt=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];o.exports=function(rt,it,st,Ut,ct,Ft,ut,Qt){var pt,ft,mt,ht,Vt,Rt,Dt,Ct,Mt,yt=Qt.bits,Yt=0,Zt=0,vt=0,bt=0,Wt=0,It=0,Tt=0,_t=0,$t=0,rn=0,Pt=null,qt=0,ln=new j.Buf16(16),an=new j.Buf16(16),Gt=null,Ht=0;for(Yt=0;Yt<=15;Yt++)ln[Yt]=0;for(Zt=0;Zt=1&&ln[bt]===0;bt--);if(Wt>bt&&(Wt=bt),bt===0)return ct[Ft++]=20971520,ct[Ft++]=20971520,Qt.bits=1,0;for(vt=1;vt0&&(rt===0||bt!==1))return-1;for(an[1]=0,Yt=1;Yt<15;Yt++)an[Yt+1]=an[Yt]+ln[Yt];for(Zt=0;Zt852||rt===2&&$t>592)return 1;for(;;){Dt=Yt-Tt,ut[Zt]Rt?(Ct=Gt[Ht+ut[Zt]],Mt=Pt[qt+ut[Zt]]):(Ct=96,Mt=0),pt=1<>Tt)+(ft-=pt)]=Dt<<24|Ct<<16|Mt|0;while(ft!==0);for(pt=1<>=1;if(pt!==0?(rn&=pt-1,rn+=pt):rn=0,Zt++,--ln[Yt]==0){if(Yt===bt)break;Yt=it[st+ut[Zt]]}if(Yt>Wt&&(rn&ht)!==mt){for(Tt===0&&(Tt=Wt),Vt+=vt,_t=1<<(It=Yt-Tt);It+Tt852||rt===2&&$t>592)return 1;ct[mt=rn&ht]=Wt<<24|It<<16|Vt-Ft|0}}return rn!==0&&(ct[Vt+rn]=Yt-Tt<<24|4194304|0),Qt.bits=Wt,0}},2817:o=>{o.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},9708:(o,s,_)=>{var j=_(1824);function $(Pt){for(var qt=Pt.length;--qt>=0;)Pt[qt]=0}var et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],nt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],rt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=new Array(576);$(it);var st=new Array(60);$(st);var Ut=new Array(512);$(Ut);var ct=new Array(256);$(ct);var Ft=new Array(29);$(Ft);var ut,Qt,pt,ft=new Array(30);function mt(Pt,qt,ln,an,Gt){this.static_tree=Pt,this.extra_bits=qt,this.extra_base=ln,this.elems=an,this.max_length=Gt,this.has_stree=Pt&&Pt.length}function ht(Pt,qt){this.dyn_tree=Pt,this.max_code=0,this.stat_desc=qt}function Vt(Pt){return Pt<256?Ut[Pt]:Ut[256+(Pt>>>7)]}function Rt(Pt,qt){Pt.pending_buf[Pt.pending++]=255&qt,Pt.pending_buf[Pt.pending++]=qt>>>8&255}function Dt(Pt,qt,ln){Pt.bi_valid>16-ln?(Pt.bi_buf|=qt<>16-Pt.bi_valid,Pt.bi_valid+=ln-16):(Pt.bi_buf|=qt<>>=1,ln<<=1;while(--qt>0);return ln>>>1}function yt(Pt,qt,ln){var an,Gt,Ht=new Array(16),Un=0;for(an=1;an<=15;an++)Ht[an]=Un=Un+ln[an-1]<<1;for(Gt=0;Gt<=qt;Gt++){var Sn=Pt[2*Gt+1];Sn!==0&&(Pt[2*Gt]=Mt(Ht[Sn]++,Sn))}}function Yt(Pt){var qt;for(qt=0;qt<286;qt++)Pt.dyn_ltree[2*qt]=0;for(qt=0;qt<30;qt++)Pt.dyn_dtree[2*qt]=0;for(qt=0;qt<19;qt++)Pt.bl_tree[2*qt]=0;Pt.dyn_ltree[512]=1,Pt.opt_len=Pt.static_len=0,Pt.last_lit=Pt.matches=0}function Zt(Pt){Pt.bi_valid>8?Rt(Pt,Pt.bi_buf):Pt.bi_valid>0&&(Pt.pending_buf[Pt.pending++]=Pt.bi_buf),Pt.bi_buf=0,Pt.bi_valid=0}function vt(Pt,qt,ln,an){var Gt=2*qt,Ht=2*ln;return Pt[Gt]>1;ln>=1;ln--)bt(Pt,Ht,ln);Gt=cn;do ln=Pt.heap[1],Pt.heap[1]=Pt.heap[Pt.heap_len--],bt(Pt,Ht,1),an=Pt.heap[1],Pt.heap[--Pt.heap_max]=ln,Pt.heap[--Pt.heap_max]=an,Ht[2*Gt]=Ht[2*ln]+Ht[2*an],Pt.depth[Gt]=(Pt.depth[ln]>=Pt.depth[an]?Pt.depth[ln]:Pt.depth[an])+1,Ht[2*ln+1]=Ht[2*an+1]=Gt,Pt.heap[1]=Gt++,bt(Pt,Ht,1);while(Pt.heap_len>=2);Pt.heap[--Pt.heap_max]=Pt.heap[1],function(sn,bn){var Cn,Nn,xn,zn,wt,jt,zt=bn.dyn_tree,pn=bn.max_code,yn=bn.stat_desc.static_tree,Vn=bn.stat_desc.has_stree,kn=bn.stat_desc.extra_bits,Gn=bn.stat_desc.extra_base,nr=bn.stat_desc.max_length,tr=0;for(zn=0;zn<=15;zn++)sn.bl_count[zn]=0;for(zt[2*sn.heap[sn.heap_max]+1]=0,Cn=sn.heap_max+1;Cn<573;Cn++)(zn=zt[2*zt[2*(Nn=sn.heap[Cn])+1]+1]+1)>nr&&(zn=nr,tr++),zt[2*Nn+1]=zn,Nn>pn||(sn.bl_count[zn]++,wt=0,Nn>=Gn&&(wt=kn[Nn-Gn]),jt=zt[2*Nn],sn.opt_len+=jt*(zn+wt),Vn&&(sn.static_len+=jt*(yn[2*Nn+1]+wt)));if(tr!==0){do{for(zn=nr-1;sn.bl_count[zn]===0;)zn--;sn.bl_count[zn]--,sn.bl_count[zn+1]+=2,sn.bl_count[nr]--,tr-=2}while(tr>0);for(zn=nr;zn!==0;zn--)for(Nn=sn.bl_count[zn];Nn!==0;)(xn=sn.heap[--Cn])>pn||(zt[2*xn+1]!==zn&&(sn.opt_len+=(zn-zt[2*xn+1])*zt[2*xn],zt[2*xn+1]=zn),Nn--)}}(Pt,qt),yt(Ht,fn,Pt.bl_count)}function Tt(Pt,qt,ln){var an,Gt,Ht=-1,Un=qt[1],Sn=0,cn=7,fn=4;for(Un===0&&(cn=138,fn=3),qt[2*(ln+1)+1]=65535,an=0;an<=ln;an++)Gt=Un,Un=qt[2*(an+1)+1],++Sn>=7;Gt<30;Gt++)for(ft[Gt]=Ht<<7,qt=0;qt<1<0?(Pt.strm.data_type===2&&(Pt.strm.data_type=function(Sn){var cn,fn=4093624447;for(cn=0;cn<=31;cn++,fn>>>=1)if(1&fn&&Sn.dyn_ltree[2*cn]!==0)return 0;if(Sn.dyn_ltree[18]!==0||Sn.dyn_ltree[20]!==0||Sn.dyn_ltree[26]!==0)return 1;for(cn=32;cn<256;cn++)if(Sn.dyn_ltree[2*cn]!==0)return 1;return 0}(Pt)),It(Pt,Pt.l_desc),It(Pt,Pt.d_desc),Un=function(Sn){var cn;for(Tt(Sn,Sn.dyn_ltree,Sn.l_desc.max_code),Tt(Sn,Sn.dyn_dtree,Sn.d_desc.max_code),It(Sn,Sn.bl_desc),cn=18;cn>=3&&Sn.bl_tree[2*rt[cn]+1]===0;cn--);return Sn.opt_len+=3*(cn+1)+5+5+4,cn}(Pt),Gt=Pt.opt_len+3+7>>>3,(Ht=Pt.static_len+3+7>>>3)<=Gt&&(Gt=Ht)):Gt=Ht=ln+5,ln+4<=Gt&&qt!==-1?rn(Pt,qt,ln,an):Pt.strategy===4||Ht===Gt?(Dt(Pt,2+(an?1:0),3),Wt(Pt,it,st)):(Dt(Pt,4+(an?1:0),3),function(Sn,cn,fn,sn){var bn;for(Dt(Sn,cn-257,5),Dt(Sn,fn-1,5),Dt(Sn,sn-4,4),bn=0;bn>>8&255,Pt.pending_buf[Pt.d_buf+2*Pt.last_lit+1]=255&qt,Pt.pending_buf[Pt.l_buf+Pt.last_lit]=255&ln,Pt.last_lit++,qt===0?Pt.dyn_ltree[2*ln]++:(Pt.matches++,qt--,Pt.dyn_ltree[2*(ct[ln]+256+1)]++,Pt.dyn_dtree[2*Vt(qt)]++),Pt.last_lit===Pt.lit_bufsize-1},s._tr_align=function(Pt){Dt(Pt,2,3),Ct(Pt,256,it),function(qt){qt.bi_valid===16?(Rt(qt,qt.bi_buf),qt.bi_buf=0,qt.bi_valid=0):qt.bi_valid>=8&&(qt.pending_buf[qt.pending++]=255&qt.bi_buf,qt.bi_buf>>=8,qt.bi_valid-=8)}(Pt)}},2495:o=>{o.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},5402:o=>{typeof Object.create=="function"?o.exports=function(s,_){s.super_=_,s.prototype=Object.create(_.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}})}:o.exports=function(s,_){s.super_=_;var j=function(){};j.prototype=_.prototype,s.prototype=new j,s.prototype.constructor=s}},8575:o=>{o.exports=function(s){return s&&typeof s=="object"&&typeof s.copy=="function"&&typeof s.fill=="function"&&typeof s.readUInt8=="function"}},25:(o,s,_)=>{var j=/%[sdj%]/g;s.format=function(vt){if(!pt(vt)){for(var bt=[],Wt=0;Wt=Tt)return rn;switch(rn){case"%s":return String(It[Wt++]);case"%d":return Number(It[Wt++]);case"%j":try{return JSON.stringify(It[Wt++])}catch{return"[Circular]"}default:return rn}}),$t=It[Wt];Wt=3&&(Wt.depth=arguments[2]),arguments.length>=4&&(Wt.colors=arguments[3]),Ft(bt)?Wt.showHidden=bt:bt&&s._extend(Wt,bt),ft(Wt.showHidden)&&(Wt.showHidden=!1),ft(Wt.depth)&&(Wt.depth=2),ft(Wt.colors)&&(Wt.colors=!1),ft(Wt.customInspect)&&(Wt.customInspect=!0),Wt.colors&&(Wt.stylize=nt),it(Wt,vt,Wt.depth)}function nt(vt,bt){var Wt=tt.styles[bt];return Wt?"\x1B["+tt.colors[Wt][0]+"m"+vt+"\x1B["+tt.colors[Wt][1]+"m":vt}function rt(vt,bt){return vt}function it(vt,bt,Wt){if(vt.customInspect&&bt&&Dt(bt.inspect)&&bt.inspect!==s.inspect&&(!bt.constructor||bt.constructor.prototype!==bt)){var It=bt.inspect(Wt,vt);return pt(It)||(It=it(vt,It,Wt)),It}var Tt=function(Gt,Ht){if(ft(Ht))return Gt.stylize("undefined","undefined");if(pt(Ht)){var Un="'"+JSON.stringify(Ht).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return Gt.stylize(Un,"string")}if(Qt(Ht))return Gt.stylize(""+Ht,"number");if(Ft(Ht))return Gt.stylize(""+Ht,"boolean");if(ut(Ht))return Gt.stylize("null","null")}(vt,bt);if(Tt)return Tt;var _t=Object.keys(bt),$t=function(Gt){var Ht={};return Gt.forEach(function(Un,Sn){Ht[Un]=!0}),Ht}(_t);if(vt.showHidden&&(_t=Object.getOwnPropertyNames(bt)),Rt(bt)&&(_t.indexOf("message")>=0||_t.indexOf("description")>=0))return st(bt);if(_t.length===0){if(Dt(bt)){var rn=bt.name?": "+bt.name:"";return vt.stylize("[Function"+rn+"]","special")}if(mt(bt))return vt.stylize(RegExp.prototype.toString.call(bt),"regexp");if(Vt(bt))return vt.stylize(Date.prototype.toString.call(bt),"date");if(Rt(bt))return st(bt)}var Pt,qt="",ln=!1,an=["{","}"];return ct(bt)&&(ln=!0,an=["[","]"]),Dt(bt)&&(qt=" [Function"+(bt.name?": "+bt.name:"")+"]"),mt(bt)&&(qt=" "+RegExp.prototype.toString.call(bt)),Vt(bt)&&(qt=" "+Date.prototype.toUTCString.call(bt)),Rt(bt)&&(qt=" "+st(bt)),_t.length!==0||ln&&bt.length!=0?Wt<0?mt(bt)?vt.stylize(RegExp.prototype.toString.call(bt),"regexp"):vt.stylize("[Object]","special"):(vt.seen.push(bt),Pt=ln?function(Gt,Ht,Un,Sn,cn){for(var fn=[],sn=0,bn=Ht.length;sn=0,Sn+cn.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?Un[0]+(Ht===""?"":Ht+` + `)+" "+Gt.join(`, + `)+" "+Un[1]:Un[0]+Ht+" "+Gt.join(", ")+" "+Un[1]}(Pt,qt,an)):an[0]+qt+an[1]}function st(vt){return"["+Error.prototype.toString.call(vt)+"]"}function Ut(vt,bt,Wt,It,Tt,_t){var $t,rn,Pt;if((Pt=Object.getOwnPropertyDescriptor(bt,Tt)||{value:bt[Tt]}).get?rn=Pt.set?vt.stylize("[Getter/Setter]","special"):vt.stylize("[Getter]","special"):Pt.set&&(rn=vt.stylize("[Setter]","special")),Zt(It,Tt)||($t="["+Tt+"]"),rn||(vt.seen.indexOf(Pt.value)<0?(rn=ut(Wt)?it(vt,Pt.value,null):it(vt,Pt.value,Wt-1)).indexOf(` +`)>-1&&(rn=_t?rn.split(` +`).map(function(qt){return" "+qt}).join(` +`).substr(2):` +`+rn.split(` +`).map(function(qt){return" "+qt}).join(` +`)):rn=vt.stylize("[Circular]","special")),ft($t)){if(_t&&Tt.match(/^\d+$/))return rn;($t=JSON.stringify(""+Tt)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?($t=$t.substr(1,$t.length-2),$t=vt.stylize($t,"name")):($t=$t.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),$t=vt.stylize($t,"string"))}return $t+": "+rn}function ct(vt){return Array.isArray(vt)}function Ft(vt){return typeof vt=="boolean"}function ut(vt){return vt===null}function Qt(vt){return typeof vt=="number"}function pt(vt){return typeof vt=="string"}function ft(vt){return vt===void 0}function mt(vt){return ht(vt)&&Ct(vt)==="[object RegExp]"}function ht(vt){return typeof vt=="object"&&vt!==null}function Vt(vt){return ht(vt)&&Ct(vt)==="[object Date]"}function Rt(vt){return ht(vt)&&(Ct(vt)==="[object Error]"||vt instanceof Error)}function Dt(vt){return typeof vt=="function"}function Ct(vt){return Object.prototype.toString.call(vt)}function Mt(vt){return vt<10?"0"+vt.toString(10):vt.toString(10)}s.debuglog=function(vt){if(ft($)&&($={}.NODE_DEBUG||""),vt=vt.toUpperCase(),!et[vt])if(new RegExp("\\b"+vt+"\\b","i").test($)){var bt=process$1.pid;et[vt]=function(){var Wt=s.format.apply(s,arguments);console.error("%s %d: %s",vt,bt,Wt)}}else et[vt]=function(){};return et[vt]},s.inspect=tt,tt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},tt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},s.isArray=ct,s.isBoolean=Ft,s.isNull=ut,s.isNullOrUndefined=function(vt){return vt==null},s.isNumber=Qt,s.isString=pt,s.isSymbol=function(vt){return typeof vt=="symbol"},s.isUndefined=ft,s.isRegExp=mt,s.isObject=ht,s.isDate=Vt,s.isError=Rt,s.isFunction=Dt,s.isPrimitive=function(vt){return vt===null||typeof vt=="boolean"||typeof vt=="number"||typeof vt=="string"||typeof vt=="symbol"||vt===void 0},s.isBuffer=_(8575);var yt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Yt(){var vt=new Date,bt=[Mt(vt.getHours()),Mt(vt.getMinutes()),Mt(vt.getSeconds())].join(":");return[vt.getDate(),yt[vt.getMonth()],bt].join(" ")}function Zt(vt,bt){return Object.prototype.hasOwnProperty.call(vt,bt)}s.log=function(){console.log("%s - %s",Yt(),s.format.apply(s,arguments))},s.inherits=_(5402),s._extend=function(vt,bt){if(!bt||!ht(bt))return vt;for(var Wt=Object.keys(bt),It=Wt.length;It--;)vt[Wt[It]]=bt[Wt[It]];return vt}},8558:(o,s,_)=>{var j=process$1.platform==="win32",$=_(25);function et(pt,ft){for(var mt=[],ht=0;ht=0&&!pt[ht];ht--);return mt===0&&ht===ft?pt:mt>ht?[]:pt.slice(mt,ht+1)}var nt=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,rt=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,it={};function st(pt){var ft=nt.exec(pt),mt=(ft[1]||"")+(ft[2]||""),ht=ft[3]||"",Vt=rt.exec(ht);return[mt,Vt[1],Vt[2],Vt[3]]}function Ut(pt){var ft=nt.exec(pt),mt=ft[1]||"",ht=!!mt&&mt[1]!==":";return{device:mt,isUnc:ht,isAbsolute:ht||!!ft[2],tail:ft[3]}}function ct(pt){return"\\\\"+pt.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}it.resolve=function(){for(var pt="",ft="",mt=!1,ht=arguments.length-1;ht>=-1;ht--){var Vt;if(ht>=0?Vt=arguments[ht]:pt?(Vt=process$1.env["="+pt])&&Vt.substr(0,3).toLowerCase()===pt.toLowerCase()+"\\"||(Vt=pt+"\\"):Vt=process$1.cwd(),!$.isString(Vt))throw new TypeError("Arguments to path.resolve must be strings");if(Vt){var Rt=Ut(Vt),Dt=Rt.device,Ct=Rt.isUnc,Mt=Rt.isAbsolute,yt=Rt.tail;if((!Dt||!pt||Dt.toLowerCase()===pt.toLowerCase())&&(pt||(pt=Dt),mt||(ft=yt+"\\"+ft,mt=Mt),pt&&mt))break}}return Ct&&(pt=ct(pt)),pt+(mt?"\\":"")+(ft=et(ft.split(/[\\\/]+/),!mt).join("\\"))||"."},it.normalize=function(pt){var ft=Ut(pt),mt=ft.device,ht=ft.isUnc,Vt=ft.isAbsolute,Rt=ft.tail,Dt=/[\\\/]$/.test(Rt);return(Rt=et(Rt.split(/[\\\/]+/),!Vt).join("\\"))||Vt||(Rt="."),Rt&&Dt&&(Rt+="\\"),ht&&(mt=ct(mt)),mt+(Vt?"\\":"")+Rt},it.isAbsolute=function(pt){return Ut(pt).isAbsolute},it.join=function(){for(var pt=[],ft=0;ft=-1&&!ft;mt--){var ht=mt>=0?arguments[mt]:process$1.cwd();if(!$.isString(ht))throw new TypeError("Arguments to path.resolve must be strings");ht&&(pt=ht+"/"+pt,ft=ht[0]==="/")}return(ft?"/":"")+(pt=et(pt.split("/"),!ft).join("/"))||"."},ut.normalize=function(pt){var ft=ut.isAbsolute(pt),mt=pt&&pt[pt.length-1]==="/";return(pt=et(pt.split("/"),!ft).join("/"))||ft||(pt="."),pt&&mt&&(pt+="/"),(ft?"/":"")+pt},ut.isAbsolute=function(pt){return pt.charAt(0)==="/"},ut.join=function(){for(var pt="",ft=0;ft{o.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},1830:o=>{var s=String.prototype.replace,_=/%20/g,j="RFC1738",$="RFC3986";o.exports={default:$,formatters:{RFC1738:function(et){return s.call(et,_,"+")},RFC3986:function(et){return String(et)}},RFC1738:j,RFC3986:$}},5810:(o,s,_)=>{var j=_(6623),$=_(6193),et=_(1830);o.exports={formats:et,parse:$,stringify:j}},6193:(o,s,_)=>{var j=_(1539),$=Object.prototype.hasOwnProperty,et=Array.isArray,tt={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:j.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},nt=function(st){return st.replace(/&#(\d+);/g,function(Ut,ct){return String.fromCharCode(parseInt(ct,10))})},rt=function(st,Ut){return st&&typeof st=="string"&&Ut.comma&&st.indexOf(",")>-1?st.split(","):st},it=function(st,Ut,ct,Ft){if(st){var ut=ct.allowDots?st.replace(/\.([^.[]+)/g,"[$1]"):st,Qt=/(\[[^[\]]*])/g,pt=ct.depth>0&&/(\[[^[\]]*])/.exec(ut),ft=pt?ut.slice(0,pt.index):ut,mt=[];if(ft){if(!ct.plainObjects&&$.call(Object.prototype,ft)&&!ct.allowPrototypes)return;mt.push(ft)}for(var ht=0;ct.depth>0&&(pt=Qt.exec(ut))!==null&&ht=0;--yt){var Yt,Zt=Vt[yt];if(Zt==="[]"&&Dt.parseArrays)Yt=Dt.allowEmptyArrays&&(Mt===""||Dt.strictNullHandling&&Mt===null)?[]:[].concat(Mt);else{Yt=Dt.plainObjects?Object.create(null):{};var vt=Zt.charAt(0)==="["&&Zt.charAt(Zt.length-1)==="]"?Zt.slice(1,-1):Zt,bt=Dt.decodeDotInKeys?vt.replace(/%2E/g,"."):vt,Wt=parseInt(bt,10);Dt.parseArrays||bt!==""?!isNaN(Wt)&&Zt!==bt&&String(Wt)===bt&&Wt>=0&&Dt.parseArrays&&Wt<=Dt.arrayLimit?(Yt=[])[Wt]=Mt:bt!=="__proto__"&&(Yt[bt]=Mt):Yt={0:Mt}}Mt=Yt}return Mt}(mt,Ut,ct,Ft)}};o.exports=function(st,Ut){var ct=function(ht){if(!ht)return tt;if(ht.allowEmptyArrays!==void 0&&typeof ht.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(ht.decodeDotInKeys!==void 0&&typeof ht.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(ht.decoder!==null&&ht.decoder!==void 0&&typeof ht.decoder!="function")throw new TypeError("Decoder has to be a function.");if(ht.charset!==void 0&&ht.charset!=="utf-8"&&ht.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var Vt=ht.charset===void 0?tt.charset:ht.charset,Rt=ht.duplicates===void 0?tt.duplicates:ht.duplicates;if(Rt!=="combine"&&Rt!=="first"&&Rt!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:ht.allowDots===void 0?ht.decodeDotInKeys===!0||tt.allowDots:!!ht.allowDots,allowEmptyArrays:typeof ht.allowEmptyArrays=="boolean"?!!ht.allowEmptyArrays:tt.allowEmptyArrays,allowPrototypes:typeof ht.allowPrototypes=="boolean"?ht.allowPrototypes:tt.allowPrototypes,allowSparse:typeof ht.allowSparse=="boolean"?ht.allowSparse:tt.allowSparse,arrayLimit:typeof ht.arrayLimit=="number"?ht.arrayLimit:tt.arrayLimit,charset:Vt,charsetSentinel:typeof ht.charsetSentinel=="boolean"?ht.charsetSentinel:tt.charsetSentinel,comma:typeof ht.comma=="boolean"?ht.comma:tt.comma,decodeDotInKeys:typeof ht.decodeDotInKeys=="boolean"?ht.decodeDotInKeys:tt.decodeDotInKeys,decoder:typeof ht.decoder=="function"?ht.decoder:tt.decoder,delimiter:typeof ht.delimiter=="string"||j.isRegExp(ht.delimiter)?ht.delimiter:tt.delimiter,depth:typeof ht.depth=="number"||ht.depth===!1?+ht.depth:tt.depth,duplicates:Rt,ignoreQueryPrefix:ht.ignoreQueryPrefix===!0,interpretNumericEntities:typeof ht.interpretNumericEntities=="boolean"?ht.interpretNumericEntities:tt.interpretNumericEntities,parameterLimit:typeof ht.parameterLimit=="number"?ht.parameterLimit:tt.parameterLimit,parseArrays:ht.parseArrays!==!1,plainObjects:typeof ht.plainObjects=="boolean"?ht.plainObjects:tt.plainObjects,strictNullHandling:typeof ht.strictNullHandling=="boolean"?ht.strictNullHandling:tt.strictNullHandling}}(Ut);if(st===""||st==null)return ct.plainObjects?Object.create(null):{};for(var Ft=typeof st=="string"?function(ht,Vt){var Rt={__proto__:null},Dt=Vt.ignoreQueryPrefix?ht.replace(/^\?/,""):ht;Dt=Dt.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var Ct,Mt=Vt.parameterLimit===1/0?void 0:Vt.parameterLimit,yt=Dt.split(Vt.delimiter,Mt),Yt=-1,Zt=Vt.charset;if(Vt.charsetSentinel)for(Ct=0;Ct-1&&(bt=et(bt)?[bt]:bt);var _t=$.call(Rt,vt);_t&&Vt.duplicates==="combine"?Rt[vt]=j.combine(Rt[vt],bt):_t&&Vt.duplicates!=="last"||(Rt[vt]=bt)}return Rt}(st,ct):st,ut=ct.plainObjects?Object.create(null):{},Qt=Object.keys(Ft),pt=0;pt{var j=_(7575),$=_(1539),et=_(1830),tt=Object.prototype.hasOwnProperty,nt={brackets:function(pt){return pt+"[]"},comma:"comma",indices:function(pt,ft){return pt+"["+ft+"]"},repeat:function(pt){return pt}},rt=Array.isArray,it=Array.prototype.push,st=function(pt,ft){it.apply(pt,rt(ft)?ft:[ft])},Ut=Date.prototype.toISOString,ct=et.default,Ft={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:$.encode,encodeValuesOnly:!1,format:ct,formatter:et.formatters[ct],indices:!1,serializeDate:function(pt){return Ut.call(pt)},skipNulls:!1,strictNullHandling:!1},ut={},Qt=function pt(ft,mt,ht,Vt,Rt,Dt,Ct,Mt,yt,Yt,Zt,vt,bt,Wt,It,Tt,_t,$t){for(var rn,Pt=ft,qt=$t,ln=0,an=!1;(qt=qt.get(ut))!==void 0&&!an;){var Gt=qt.get(ft);if(ln+=1,Gt!==void 0){if(Gt===ln)throw new RangeError("Cyclic object value");an=!0}qt.get(ut)===void 0&&(ln=0)}if(typeof Yt=="function"?Pt=Yt(mt,Pt):Pt instanceof Date?Pt=bt(Pt):ht==="comma"&&rt(Pt)&&(Pt=$.maybeMap(Pt,function(wt){return wt instanceof Date?bt(wt):wt})),Pt===null){if(Dt)return yt&&!Tt?yt(mt,Ft.encoder,_t,"key",Wt):mt;Pt=""}if(typeof(rn=Pt)=="string"||typeof rn=="number"||typeof rn=="boolean"||typeof rn=="symbol"||typeof rn=="bigint"||$.isBuffer(Pt))return yt?[It(Tt?mt:yt(mt,Ft.encoder,_t,"key",Wt))+"="+It(yt(Pt,Ft.encoder,_t,"value",Wt))]:[It(mt)+"="+It(String(Pt))];var Ht,Un=[];if(Pt===void 0)return Un;if(ht==="comma"&&rt(Pt))Tt&&yt&&(Pt=$.maybeMap(Pt,yt)),Ht=[{value:Pt.length>0?Pt.join(",")||null:void 0}];else if(rt(Yt))Ht=Yt;else{var Sn=Object.keys(Pt);Ht=Zt?Sn.sort(Zt):Sn}var cn=Mt?mt.replace(/\./g,"%2E"):mt,fn=Vt&&rt(Pt)&&Pt.length===1?cn+"[]":cn;if(Rt&&rt(Pt)&&Pt.length===0)return fn+"[]";for(var sn=0;sn0?vt+Zt:""}},1539:(o,s,_)=>{var j=_(1830),$=Object.prototype.hasOwnProperty,et=Array.isArray,tt=function(){for(var rt=[],it=0;it<256;++it)rt.push("%"+((it<16?"0":"")+it.toString(16)).toUpperCase());return rt}(),nt=function(rt,it){for(var st=it&&it.plainObjects?Object.create(null):{},Ut=0;Ut1;){var ht=mt.pop(),Vt=ht.obj[ht.prop];if(et(Vt)){for(var Rt=[],Dt=0;Dt=1024?Ft.slice(Qt,Qt+1024):Ft,ft=[],mt=0;mt=48&&ht<=57||ht>=65&&ht<=90||ht>=97&&ht<=122||ct===j.RFC1738&&(ht===40||ht===41)?ft[ft.length]=pt.charAt(mt):ht<128?ft[ft.length]=tt[ht]:ht<2048?ft[ft.length]=tt[192|ht>>6]+tt[128|63&ht]:ht<55296||ht>=57344?ft[ft.length]=tt[224|ht>>12]+tt[128|ht>>6&63]+tt[128|63&ht]:(mt+=1,ht=65536+((1023&ht)<<10|1023&pt.charCodeAt(mt)),ft[ft.length]=tt[240|ht>>18]+tt[128|ht>>12&63]+tt[128|ht>>6&63]+tt[128|63&ht])}ut+=ft.join("")}return ut},isBuffer:function(rt){return!(!rt||typeof rt!="object")&&!!(rt.constructor&&rt.constructor.isBuffer&&rt.constructor.isBuffer(rt))},isRegExp:function(rt){return Object.prototype.toString.call(rt)==="[object RegExp]"},maybeMap:function(rt,it){if(et(rt)){for(var st=[],Ut=0;Ut{var s={};function _($,et,tt){tt||(tt=Error);var nt=function(rt){var it,st;function Ut(ct,Ft,ut){return rt.call(this,function(Qt,pt,ft){return typeof et=="string"?et:et(Qt,pt,ft)}(ct,Ft,ut))||this}return st=rt,(it=Ut).prototype=Object.create(st.prototype),it.prototype.constructor=it,it.__proto__=st,Ut}(tt);nt.prototype.name=tt.name,nt.prototype.code=$,s[$]=nt}function j($,et){if(Array.isArray($)){var tt=$.length;return $=$.map(function(nt){return String(nt)}),tt>2?"one of ".concat(et," ").concat($.slice(0,tt-1).join(", "),", or ")+$[tt-1]:tt===2?"one of ".concat(et," ").concat($[0]," or ").concat($[1]):"of ".concat(et," ").concat($[0])}return"of ".concat(et," ").concat(String($))}_("ERR_INVALID_OPT_VALUE",function($,et){return'The value "'+et+'" is invalid for option "'+$+'"'},TypeError),_("ERR_INVALID_ARG_TYPE",function($,et,tt){var nt,rt,it;if(typeof et=="string"&&(rt="not ",et.substr(0,rt.length)===rt)?(nt="must not be",et=et.replace(/^not /,"")):nt="must be",function(Ut,ct,Ft){return(Ft===void 0||Ft>Ut.length)&&(Ft=Ut.length),Ut.substring(Ft-ct.length,Ft)===ct}($," argument"))it="The ".concat($," ").concat(nt," ").concat(j(et,"type"));else{var st=function(Ut,ct,Ft){return typeof Ft!="number"&&(Ft=0),!(Ft+ct.length>Ut.length)&&Ut.indexOf(ct,Ft)!==-1}($,".")?"property":"argument";it='The "'.concat($,'" ').concat(st," ").concat(nt," ").concat(j(et,"type"))}return it+=". Received type ".concat(typeof tt)},TypeError),_("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),_("ERR_METHOD_NOT_IMPLEMENTED",function($){return"The "+$+" method is not implemented"}),_("ERR_STREAM_PREMATURE_CLOSE","Premature close"),_("ERR_STREAM_DESTROYED",function($){return"Cannot call "+$+" after a stream was destroyed"}),_("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),_("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),_("ERR_STREAM_WRITE_AFTER_END","write after end"),_("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),_("ERR_UNKNOWN_ENCODING",function($){return"Unknown encoding: "+$},TypeError),_("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),o.exports.F=s},1265:(o,s,_)=>{var j=Object.keys||function(ct){var Ft=[];for(var ut in ct)Ft.push(ut);return Ft};o.exports=it;var $=_(8199),et=_(5291);_(5615)(it,$);for(var tt=j(et.prototype),nt=0;nt{o.exports=$;var j=_(9415);function $(et){if(!(this instanceof $))return new $(et);j.call(this,et)}_(5615)($,j),$.prototype._transform=function(et,tt,nt){nt(null,et)}},8199:(o,s,_)=>{var j;o.exports=Mt,Mt.ReadableState=Ct,_(46).EventEmitter;var $=function(Gt,Ht){return Gt.listeners(Ht).length},et=_(4856),tt=_(1048).Buffer,nt=(_.g!==void 0?_.g:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},rt,it=_(3951);rt=it&&it.debuglog?it.debuglog("stream"):function(){};var st,Ut,ct,Ft=_(82),ut=_(6527),Qt=_(9952).getHighWaterMark,pt=_(5699).F,ft=pt.ERR_INVALID_ARG_TYPE,mt=pt.ERR_STREAM_PUSH_AFTER_EOF,ht=pt.ERR_METHOD_NOT_IMPLEMENTED,Vt=pt.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;_(5615)(Mt,et);var Rt=ut.errorOrDestroy,Dt=["error","close","destroy","pause","resume"];function Ct(Gt,Ht,Un){j=j||_(1265),Gt=Gt||{},typeof Un!="boolean"&&(Un=Ht instanceof j),this.objectMode=!!Gt.objectMode,Un&&(this.objectMode=this.objectMode||!!Gt.readableObjectMode),this.highWaterMark=Qt(this,Gt,"readableHighWaterMark",Un),this.buffer=new Ft,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=Gt.emitClose!==!1,this.autoDestroy=!!Gt.autoDestroy,this.destroyed=!1,this.defaultEncoding=Gt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Gt.encoding&&(st||(st=_(8888).StringDecoder),this.decoder=new st(Gt.encoding),this.encoding=Gt.encoding)}function Mt(Gt){if(j=j||_(1265),!(this instanceof Mt))return new Mt(Gt);var Ht=this instanceof j;this._readableState=new Ct(Gt,this,Ht),this.readable=!0,Gt&&(typeof Gt.read=="function"&&(this._read=Gt.read),typeof Gt.destroy=="function"&&(this._destroy=Gt.destroy)),et.call(this)}function yt(Gt,Ht,Un,Sn,cn){rt("readableAddChunk",Ht);var fn,sn=Gt._readableState;if(Ht===null)sn.reading=!1,function(bn,Cn){if(rt("onEofChunk"),!Cn.ended){if(Cn.decoder){var Nn=Cn.decoder.end();Nn&&Nn.length&&(Cn.buffer.push(Nn),Cn.length+=Cn.objectMode?1:Nn.length)}Cn.ended=!0,Cn.sync?vt(bn):(Cn.needReadable=!1,Cn.emittedReadable||(Cn.emittedReadable=!0,bt(bn)))}}(Gt,sn);else if(cn||(fn=function(bn,Cn){var Nn;xn=Cn,tt.isBuffer(xn)||xn instanceof nt||typeof Cn=="string"||Cn===void 0||bn.objectMode||(Nn=new ft("chunk",["string","Buffer","Uint8Array"],Cn));var xn;return Nn}(sn,Ht)),fn)Rt(Gt,fn);else if(sn.objectMode||Ht&&Ht.length>0)if(typeof Ht=="string"||sn.objectMode||Object.getPrototypeOf(Ht)===tt.prototype||(Ht=function(bn){return tt.from(bn)}(Ht)),Sn)sn.endEmitted?Rt(Gt,new Vt):Yt(Gt,sn,Ht,!0);else if(sn.ended)Rt(Gt,new mt);else{if(sn.destroyed)return!1;sn.reading=!1,sn.decoder&&!Un?(Ht=sn.decoder.write(Ht),sn.objectMode||Ht.length!==0?Yt(Gt,sn,Ht,!1):Wt(Gt,sn)):Yt(Gt,sn,Ht,!1)}else Sn||(sn.reading=!1,Wt(Gt,sn));return!sn.ended&&(sn.lengthHt.highWaterMark&&(Ht.highWaterMark=function(Un){return Un>=1073741824?Un=1073741824:(Un--,Un|=Un>>>1,Un|=Un>>>2,Un|=Un>>>4,Un|=Un>>>8,Un|=Un>>>16,Un++),Un}(Gt)),Gt<=Ht.length?Gt:Ht.ended?Ht.length:(Ht.needReadable=!0,0))}function vt(Gt){var Ht=Gt._readableState;rt("emitReadable",Ht.needReadable,Ht.emittedReadable),Ht.needReadable=!1,Ht.emittedReadable||(rt("emitReadable",Ht.flowing),Ht.emittedReadable=!0,process$1.nextTick(bt,Gt))}function bt(Gt){var Ht=Gt._readableState;rt("emitReadable_",Ht.destroyed,Ht.length,Ht.ended),Ht.destroyed||!Ht.length&&!Ht.ended||(Gt.emit("readable"),Ht.emittedReadable=!1),Ht.needReadable=!Ht.flowing&&!Ht.ended&&Ht.length<=Ht.highWaterMark,rn(Gt)}function Wt(Gt,Ht){Ht.readingMore||(Ht.readingMore=!0,process$1.nextTick(It,Gt,Ht))}function It(Gt,Ht){for(;!Ht.reading&&!Ht.ended&&(Ht.length0,Ht.resumeScheduled&&!Ht.paused?Ht.flowing=!0:Gt.listenerCount("data")>0&&Gt.resume()}function _t(Gt){rt("readable nexttick read 0"),Gt.read(0)}function $t(Gt,Ht){rt("resume",Ht.reading),Ht.reading||Gt.read(0),Ht.resumeScheduled=!1,Gt.emit("resume"),rn(Gt),Ht.flowing&&!Ht.reading&&Gt.read(0)}function rn(Gt){var Ht=Gt._readableState;for(rt("flow",Ht.flowing);Ht.flowing&&Gt.read()!==null;);}function Pt(Gt,Ht){return Ht.length===0?null:(Ht.objectMode?Un=Ht.buffer.shift():!Gt||Gt>=Ht.length?(Un=Ht.decoder?Ht.buffer.join(""):Ht.buffer.length===1?Ht.buffer.first():Ht.buffer.concat(Ht.length),Ht.buffer.clear()):Un=Ht.buffer.consume(Gt,Ht.decoder),Un);var Un}function qt(Gt){var Ht=Gt._readableState;rt("endReadable",Ht.endEmitted),Ht.endEmitted||(Ht.ended=!0,process$1.nextTick(ln,Ht,Gt))}function ln(Gt,Ht){if(rt("endReadableNT",Gt.endEmitted,Gt.length),!Gt.endEmitted&&Gt.length===0&&(Gt.endEmitted=!0,Ht.readable=!1,Ht.emit("end"),Gt.autoDestroy)){var Un=Ht._writableState;(!Un||Un.autoDestroy&&Un.finished)&&Ht.destroy()}}function an(Gt,Ht){for(var Un=0,Sn=Gt.length;Un=Ht.highWaterMark:Ht.length>0)||Ht.ended))return rt("read: emitReadable",Ht.length,Ht.ended),Ht.length===0&&Ht.ended?qt(this):vt(this),null;if((Gt=Zt(Gt,Ht))===0&&Ht.ended)return Ht.length===0&&qt(this),null;var Sn,cn=Ht.needReadable;return rt("need readable",cn),(Ht.length===0||Ht.length-Gt0?Pt(Gt,Ht):null)===null?(Ht.needReadable=Ht.length<=Ht.highWaterMark,Gt=0):(Ht.length-=Gt,Ht.awaitDrain=0),Ht.length===0&&(Ht.ended||(Ht.needReadable=!0),Un!==Gt&&Ht.ended&&qt(this)),Sn!==null&&this.emit("data",Sn),Sn},Mt.prototype._read=function(Gt){Rt(this,new ht("_read()"))},Mt.prototype.pipe=function(Gt,Ht){var Un=this,Sn=this._readableState;switch(Sn.pipesCount){case 0:Sn.pipes=Gt;break;case 1:Sn.pipes=[Sn.pipes,Gt];break;default:Sn.pipes.push(Gt)}Sn.pipesCount+=1,rt("pipe count=%d opts=%j",Sn.pipesCount,Ht);var cn=(!Ht||Ht.end!==!1)&&Gt!==process$1.stdout&&Gt!==process$1.stderr?sn:jt;function fn(zt,pn){rt("onunpipe"),zt===Un&&pn&&pn.hasUnpiped===!1&&(pn.hasUnpiped=!0,rt("cleanup"),Gt.removeListener("close",zn),Gt.removeListener("finish",wt),Gt.removeListener("drain",bn),Gt.removeListener("error",xn),Gt.removeListener("unpipe",fn),Un.removeListener("end",sn),Un.removeListener("end",jt),Un.removeListener("data",Nn),Cn=!0,!Sn.awaitDrain||Gt._writableState&&!Gt._writableState.needDrain||bn())}function sn(){rt("onend"),Gt.end()}Sn.endEmitted?process$1.nextTick(cn):Un.once("end",cn),Gt.on("unpipe",fn);var bn=function(zt){return function(){var pn=zt._readableState;rt("pipeOnDrain",pn.awaitDrain),pn.awaitDrain&&pn.awaitDrain--,pn.awaitDrain===0&&$(zt,"data")&&(pn.flowing=!0,rn(zt))}}(Un);Gt.on("drain",bn);var Cn=!1;function Nn(zt){rt("ondata");var pn=Gt.write(zt);rt("dest.write",pn),pn===!1&&((Sn.pipesCount===1&&Sn.pipes===Gt||Sn.pipesCount>1&&an(Sn.pipes,Gt)!==-1)&&!Cn&&(rt("false write response, pause",Sn.awaitDrain),Sn.awaitDrain++),Un.pause())}function xn(zt){rt("onerror",zt),jt(),Gt.removeListener("error",xn),$(Gt,"error")===0&&Rt(Gt,zt)}function zn(){Gt.removeListener("finish",wt),jt()}function wt(){rt("onfinish"),Gt.removeListener("close",zn),jt()}function jt(){rt("unpipe"),Un.unpipe(Gt)}return Un.on("data",Nn),function(zt,pn,yn){if(typeof zt.prependListener=="function")return zt.prependListener(pn,yn);zt._events&&zt._events[pn]?Array.isArray(zt._events[pn])?zt._events[pn].unshift(yn):zt._events[pn]=[yn,zt._events[pn]]:zt.on(pn,yn)}(Gt,"error",xn),Gt.once("close",zn),Gt.once("finish",wt),Gt.emit("pipe",Un),Sn.flowing||(rt("pipe resume"),Un.resume()),Gt},Mt.prototype.unpipe=function(Gt){var Ht=this._readableState,Un={hasUnpiped:!1};if(Ht.pipesCount===0)return this;if(Ht.pipesCount===1)return Gt&&Gt!==Ht.pipes||(Gt||(Gt=Ht.pipes),Ht.pipes=null,Ht.pipesCount=0,Ht.flowing=!1,Gt&&Gt.emit("unpipe",this,Un)),this;if(!Gt){var Sn=Ht.pipes,cn=Ht.pipesCount;Ht.pipes=null,Ht.pipesCount=0,Ht.flowing=!1;for(var fn=0;fn0,Sn.flowing!==!1&&this.resume()):Gt==="readable"&&(Sn.endEmitted||Sn.readableListening||(Sn.readableListening=Sn.needReadable=!0,Sn.flowing=!1,Sn.emittedReadable=!1,rt("on readable",Sn.length,Sn.reading),Sn.length?vt(this):Sn.reading||process$1.nextTick(_t,this))),Un},Mt.prototype.addListener=Mt.prototype.on,Mt.prototype.removeListener=function(Gt,Ht){var Un=et.prototype.removeListener.call(this,Gt,Ht);return Gt==="readable"&&process$1.nextTick(Tt,this),Un},Mt.prototype.removeAllListeners=function(Gt){var Ht=et.prototype.removeAllListeners.apply(this,arguments);return Gt!=="readable"&&Gt!==void 0||process$1.nextTick(Tt,this),Ht},Mt.prototype.resume=function(){var Gt=this._readableState;return Gt.flowing||(rt("resume"),Gt.flowing=!Gt.readableListening,function(Ht,Un){Un.resumeScheduled||(Un.resumeScheduled=!0,process$1.nextTick($t,Ht,Un))}(this,Gt)),Gt.paused=!1,this},Mt.prototype.pause=function(){return rt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(rt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Mt.prototype.wrap=function(Gt){var Ht=this,Un=this._readableState,Sn=!1;for(var cn in Gt.on("end",function(){if(rt("wrapped end"),Un.decoder&&!Un.ended){var sn=Un.decoder.end();sn&&sn.length&&Ht.push(sn)}Ht.push(null)}),Gt.on("data",function(sn){rt("wrapped data"),Un.decoder&&(sn=Un.decoder.write(sn)),Un.objectMode&&sn==null||(Un.objectMode||sn&&sn.length)&&(Ht.push(sn)||(Sn=!0,Gt.pause()))}),Gt)this[cn]===void 0&&typeof Gt[cn]=="function"&&(this[cn]=function(sn){return function(){return Gt[sn].apply(Gt,arguments)}}(cn));for(var fn=0;fn{o.exports=st;var j=_(5699).F,$=j.ERR_METHOD_NOT_IMPLEMENTED,et=j.ERR_MULTIPLE_CALLBACK,tt=j.ERR_TRANSFORM_ALREADY_TRANSFORMING,nt=j.ERR_TRANSFORM_WITH_LENGTH_0,rt=_(1265);function it(Ft,ut){var Qt=this._transformState;Qt.transforming=!1;var pt=Qt.writecb;if(pt===null)return this.emit("error",new et);Qt.writechunk=null,Qt.writecb=null,ut!=null&&this.push(ut),pt(Ft);var ft=this._readableState;ft.reading=!1,(ft.needReadable||ft.length{function j(It){var Tt=this;this.next=null,this.entry=null,this.finish=function(){(function(_t,$t,rn){var Pt=_t.entry;for(_t.entry=null;Pt;){var qt=Pt.callback;$t.pendingcb--,qt(rn),Pt=Pt.next}$t.corkedRequestsFree.next=_t})(Tt,It)}}var $;o.exports=Mt,Mt.WritableState=Ct;var et={deprecate:_(6732)},tt=_(4856),nt=_(1048).Buffer,rt=(_.g!==void 0?_.g:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},it,st=_(6527),Ut=_(9952).getHighWaterMark,ct=_(5699).F,Ft=ct.ERR_INVALID_ARG_TYPE,ut=ct.ERR_METHOD_NOT_IMPLEMENTED,Qt=ct.ERR_MULTIPLE_CALLBACK,pt=ct.ERR_STREAM_CANNOT_PIPE,ft=ct.ERR_STREAM_DESTROYED,mt=ct.ERR_STREAM_NULL_VALUES,ht=ct.ERR_STREAM_WRITE_AFTER_END,Vt=ct.ERR_UNKNOWN_ENCODING,Rt=st.errorOrDestroy;function Dt(){}function Ct(It,Tt,_t){$=$||_(1265),It=It||{},typeof _t!="boolean"&&(_t=Tt instanceof $),this.objectMode=!!It.objectMode,_t&&(this.objectMode=this.objectMode||!!It.writableObjectMode),this.highWaterMark=Ut(this,It,"writableHighWaterMark",_t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var $t=It.decodeStrings===!1;this.decodeStrings=!$t,this.defaultEncoding=It.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(rn){(function(Pt,qt){var ln=Pt._writableState,an=ln.sync,Gt=ln.writecb;if(typeof Gt!="function")throw new Qt;if(function(Un){Un.writing=!1,Un.writecb=null,Un.length-=Un.writelen,Un.writelen=0}(ln),qt)(function(Un,Sn,cn,fn,sn){--Sn.pendingcb,cn?(process$1.nextTick(sn,fn),process$1.nextTick(Wt,Un,Sn),Un._writableState.errorEmitted=!0,Rt(Un,fn)):(sn(fn),Un._writableState.errorEmitted=!0,Rt(Un,fn),Wt(Un,Sn))})(Pt,ln,an,qt,Gt);else{var Ht=vt(ln)||Pt.destroyed;Ht||ln.corked||ln.bufferProcessing||!ln.bufferedRequest||Zt(Pt,ln),an?process$1.nextTick(Yt,Pt,ln,Ht,Gt):Yt(Pt,ln,Ht,Gt)}})(Tt,rn)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=It.emitClose!==!1,this.autoDestroy=!!It.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j(this)}function Mt(It){var Tt=this instanceof($=$||_(1265));if(!Tt&&!it.call(Mt,this))return new Mt(It);this._writableState=new Ct(It,this,Tt),this.writable=!0,It&&(typeof It.write=="function"&&(this._write=It.write),typeof It.writev=="function"&&(this._writev=It.writev),typeof It.destroy=="function"&&(this._destroy=It.destroy),typeof It.final=="function"&&(this._final=It.final)),tt.call(this)}function yt(It,Tt,_t,$t,rn,Pt,qt){Tt.writelen=$t,Tt.writecb=qt,Tt.writing=!0,Tt.sync=!0,Tt.destroyed?Tt.onwrite(new ft("write")):_t?It._writev(rn,Tt.onwrite):It._write(rn,Pt,Tt.onwrite),Tt.sync=!1}function Yt(It,Tt,_t,$t){_t||function(rn,Pt){Pt.length===0&&Pt.needDrain&&(Pt.needDrain=!1,rn.emit("drain"))}(It,Tt),Tt.pendingcb--,$t(),Wt(It,Tt)}function Zt(It,Tt){Tt.bufferProcessing=!0;var _t=Tt.bufferedRequest;if(It._writev&&_t&&_t.next){var $t=Tt.bufferedRequestCount,rn=new Array($t),Pt=Tt.corkedRequestsFree;Pt.entry=_t;for(var qt=0,ln=!0;_t;)rn[qt]=_t,_t.isBuf||(ln=!1),_t=_t.next,qt+=1;rn.allBuffers=ln,yt(It,Tt,!0,Tt.length,rn,"",Pt.finish),Tt.pendingcb++,Tt.lastBufferedRequest=null,Pt.next?(Tt.corkedRequestsFree=Pt.next,Pt.next=null):Tt.corkedRequestsFree=new j(Tt),Tt.bufferedRequestCount=0}else{for(;_t;){var an=_t.chunk,Gt=_t.encoding,Ht=_t.callback;if(yt(It,Tt,!1,Tt.objectMode?1:an.length,an,Gt,Ht),_t=_t.next,Tt.bufferedRequestCount--,Tt.writing)break}_t===null&&(Tt.lastBufferedRequest=null)}Tt.bufferedRequest=_t,Tt.bufferProcessing=!1}function vt(It){return It.ending&&It.length===0&&It.bufferedRequest===null&&!It.finished&&!It.writing}function bt(It,Tt){It._final(function(_t){Tt.pendingcb--,_t&&Rt(It,_t),Tt.prefinished=!0,It.emit("prefinish"),Wt(It,Tt)})}function Wt(It,Tt){var _t=vt(Tt);if(_t&&(function(rn,Pt){Pt.prefinished||Pt.finalCalled||(typeof rn._final!="function"||Pt.destroyed?(Pt.prefinished=!0,rn.emit("prefinish")):(Pt.pendingcb++,Pt.finalCalled=!0,process$1.nextTick(bt,rn,Pt)))}(It,Tt),Tt.pendingcb===0&&(Tt.finished=!0,It.emit("finish"),Tt.autoDestroy))){var $t=It._readableState;(!$t||$t.autoDestroy&&$t.endEmitted)&&It.destroy()}return _t}_(5615)(Mt,tt),Ct.prototype.getBuffer=function(){for(var It=this.bufferedRequest,Tt=[];It;)Tt.push(It),It=It.next;return Tt},function(){try{Object.defineProperty(Ct.prototype,"buffer",{get:et.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(it=Function.prototype[Symbol.hasInstance],Object.defineProperty(Mt,Symbol.hasInstance,{value:function(It){return!!it.call(this,It)||this===Mt&&It&&It._writableState instanceof Ct}})):it=function(It){return It instanceof this},Mt.prototype.pipe=function(){Rt(this,new pt)},Mt.prototype.write=function(It,Tt,_t){var $t,rn=this._writableState,Pt=!1,qt=!rn.objectMode&&($t=It,nt.isBuffer($t)||$t instanceof rt);return qt&&!nt.isBuffer(It)&&(It=function(ln){return nt.from(ln)}(It)),typeof Tt=="function"&&(_t=Tt,Tt=null),qt?Tt="buffer":Tt||(Tt=rn.defaultEncoding),typeof _t!="function"&&(_t=Dt),rn.ending?function(ln,an){var Gt=new ht;Rt(ln,Gt),process$1.nextTick(an,Gt)}(this,_t):(qt||function(ln,an,Gt,Ht){var Un;return Gt===null?Un=new mt:typeof Gt=="string"||an.objectMode||(Un=new Ft("chunk",["string","Buffer"],Gt)),!Un||(Rt(ln,Un),process$1.nextTick(Ht,Un),!1)}(this,rn,It,_t))&&(rn.pendingcb++,Pt=function(ln,an,Gt,Ht,Un,Sn){if(!Gt){var cn=function(Cn,Nn,xn){return Cn.objectMode||Cn.decodeStrings===!1||typeof Nn!="string"||(Nn=nt.from(Nn,xn)),Nn}(an,Ht,Un);Ht!==cn&&(Gt=!0,Un="buffer",Ht=cn)}var fn=an.objectMode?1:Ht.length;an.length+=fn;var sn=an.length-1))throw new Vt(It);return this._writableState.defaultEncoding=It,this},Object.defineProperty(Mt.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Mt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Mt.prototype._write=function(It,Tt,_t){_t(new ut("_write()"))},Mt.prototype._writev=null,Mt.prototype.end=function(It,Tt,_t){var $t=this._writableState;return typeof It=="function"?(_t=It,It=null,Tt=null):typeof Tt=="function"&&(_t=Tt,Tt=null),It!=null&&this.write(It,Tt),$t.corked&&($t.corked=1,this.uncork()),$t.ending||function(rn,Pt,qt){Pt.ending=!0,Wt(rn,Pt),qt&&(Pt.finished?process$1.nextTick(qt):rn.once("finish",qt)),Pt.ended=!0,rn.writable=!1}(this,$t,_t),this},Object.defineProperty(Mt.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Mt.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(It){this._writableState&&(this._writableState.destroyed=It)}}),Mt.prototype.destroy=st.destroy,Mt.prototype._undestroy=st.undestroy,Mt.prototype._destroy=function(It,Tt){Tt(It)}},534:(o,s,_)=>{var j;function $(mt,ht,Vt){return(ht=function(Rt){var Dt=function(Ct,Mt){if(typeof Ct!="object"||Ct===null)return Ct;var yt=Ct[Symbol.toPrimitive];if(yt!==void 0){var Yt=yt.call(Ct,Mt||"default");if(typeof Yt!="object")return Yt;throw new TypeError("@@toPrimitive must return a primitive value.")}return(Mt==="string"?String:Number)(Ct)}(Rt,"string");return typeof Dt=="symbol"?Dt:String(Dt)}(ht))in mt?Object.defineProperty(mt,ht,{value:Vt,enumerable:!0,configurable:!0,writable:!0}):mt[ht]=Vt,mt}var et=_(4869),tt=Symbol("lastResolve"),nt=Symbol("lastReject"),rt=Symbol("error"),it=Symbol("ended"),st=Symbol("lastPromise"),Ut=Symbol("handlePromise"),ct=Symbol("stream");function Ft(mt,ht){return{value:mt,done:ht}}function ut(mt){var ht=mt[tt];if(ht!==null){var Vt=mt[ct].read();Vt!==null&&(mt[st]=null,mt[tt]=null,mt[nt]=null,ht(Ft(Vt,!1)))}}function Qt(mt){process$1.nextTick(ut,mt)}var pt=Object.getPrototypeOf(function(){}),ft=Object.setPrototypeOf(($(j={get stream(){return this[ct]},next:function(){var mt=this,ht=this[rt];if(ht!==null)return Promise.reject(ht);if(this[it])return Promise.resolve(Ft(void 0,!0));if(this[ct].destroyed)return new Promise(function(Ct,Mt){process$1.nextTick(function(){mt[rt]?Mt(mt[rt]):Ct(Ft(void 0,!0))})});var Vt,Rt=this[st];if(Rt)Vt=new Promise(function(Ct,Mt){return function(yt,Yt){Ct.then(function(){Mt[it]?yt(Ft(void 0,!0)):Mt[Ut](yt,Yt)},Yt)}}(Rt,this));else{var Dt=this[ct].read();if(Dt!==null)return Promise.resolve(Ft(Dt,!1));Vt=new Promise(this[Ut])}return this[st]=Vt,Vt}},Symbol.asyncIterator,function(){return this}),$(j,"return",function(){var mt=this;return new Promise(function(ht,Vt){mt[ct].destroy(null,function(Rt){Rt?Vt(Rt):ht(Ft(void 0,!0))})})}),j),pt);o.exports=function(mt){var ht,Vt=Object.create(ft,($(ht={},ct,{value:mt,writable:!0}),$(ht,tt,{value:null,writable:!0}),$(ht,nt,{value:null,writable:!0}),$(ht,rt,{value:null,writable:!0}),$(ht,it,{value:mt._readableState.endEmitted,writable:!0}),$(ht,Ut,{value:function(Rt,Dt){var Ct=Vt[ct].read();Ct?(Vt[st]=null,Vt[tt]=null,Vt[nt]=null,Rt(Ft(Ct,!1))):(Vt[tt]=Rt,Vt[nt]=Dt)},writable:!0}),ht));return Vt[st]=null,et(mt,function(Rt){if(Rt&&Rt.code!=="ERR_STREAM_PREMATURE_CLOSE"){var Dt=Vt[nt];return Dt!==null&&(Vt[st]=null,Vt[tt]=null,Vt[nt]=null,Dt(Rt)),void(Vt[rt]=Rt)}var Ct=Vt[tt];Ct!==null&&(Vt[st]=null,Vt[tt]=null,Vt[nt]=null,Ct(Ft(void 0,!0))),Vt[it]=!0}),mt.on("readable",Qt.bind(null,Vt)),Vt}},82:(o,s,_)=>{function j(Ut,ct){var Ft=Object.keys(Ut);if(Object.getOwnPropertySymbols){var ut=Object.getOwnPropertySymbols(Ut);ct&&(ut=ut.filter(function(Qt){return Object.getOwnPropertyDescriptor(Ut,Qt).enumerable})),Ft.push.apply(Ft,ut)}return Ft}function $(Ut){for(var ct=1;ct0?this.tail.next=Qt:this.head=Qt,this.tail=Qt,++this.length}},{key:"unshift",value:function(ut){var Qt={data:ut,next:this.head};this.length===0&&(this.tail=Qt),this.head=Qt,++this.length}},{key:"shift",value:function(){if(this.length!==0){var ut=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,ut}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(ut){if(this.length===0)return"";for(var Qt=this.head,pt=""+Qt.data;Qt=Qt.next;)pt+=ut+Qt.data;return pt}},{key:"concat",value:function(ut){if(this.length===0)return rt.alloc(0);for(var Qt,pt,ft,mt=rt.allocUnsafe(ut>>>0),ht=this.head,Vt=0;ht;)Qt=ht.data,pt=mt,ft=Vt,rt.prototype.copy.call(Qt,pt,ft),Vt+=ht.data.length,ht=ht.next;return mt}},{key:"consume",value:function(ut,Qt){var pt;return utmt.length?mt.length:ut;if(ht===mt.length?ft+=mt:ft+=mt.slice(0,ut),(ut-=ht)==0){ht===mt.length?(++pt,Qt.next?this.head=Qt.next:this.head=this.tail=null):(this.head=Qt,Qt.data=mt.slice(ht));break}++pt}return this.length-=pt,ft}},{key:"_getBuffer",value:function(ut){var Qt=rt.allocUnsafe(ut),pt=this.head,ft=1;for(pt.data.copy(Qt),ut-=pt.data.length;pt=pt.next;){var mt=pt.data,ht=ut>mt.length?mt.length:ut;if(mt.copy(Qt,Qt.length-ut,0,ht),(ut-=ht)==0){ht===mt.length?(++ft,pt.next?this.head=pt.next:this.head=this.tail=null):(this.head=pt,pt.data=mt.slice(ht));break}++ft}return this.length-=ft,Qt}},{key:st,value:function(ut,Qt){return it(this,$($({},Qt),{},{depth:0,customInspect:!1}))}}])&&tt(ct.prototype,Ft),Object.defineProperty(ct,"prototype",{writable:!1}),Ut}()},6527:o=>{function s($,et){j($,et),_($)}function _($){$._writableState&&!$._writableState.emitClose||$._readableState&&!$._readableState.emitClose||$.emit("close")}function j($,et){$.emit("error",et)}o.exports={destroy:function($,et){var tt=this,nt=this._readableState&&this._readableState.destroyed,rt=this._writableState&&this._writableState.destroyed;return nt||rt?(et?et($):$&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process$1.nextTick(j,this,$)):process$1.nextTick(j,this,$)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy($||null,function(it){!et&&it?tt._writableState?tt._writableState.errorEmitted?process$1.nextTick(_,tt):(tt._writableState.errorEmitted=!0,process$1.nextTick(s,tt,it)):process$1.nextTick(s,tt,it):et?(process$1.nextTick(_,tt),et(it)):process$1.nextTick(_,tt)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function($,et){var tt=$._readableState,nt=$._writableState;tt&&tt.autoDestroy||nt&&nt.autoDestroy?$.destroy(et):$.emit("error",et)}}},4869:(o,s,_)=>{var j=_(5699).F.ERR_STREAM_PREMATURE_CLOSE;function $(){}o.exports=function et(tt,nt,rt){if(typeof nt=="function")return et(tt,null,nt);nt||(nt={}),rt=function(ht){var Vt=!1;return function(){if(!Vt){Vt=!0;for(var Rt=arguments.length,Dt=new Array(Rt),Ct=0;Ct{o.exports=function(){throw new Error("Readable.from is not available in the browser")}},6815:(o,s,_)=>{var j,$=_(5699).F,et=$.ERR_MISSING_ARGS,tt=$.ERR_STREAM_DESTROYED;function nt(ct){if(ct)throw ct}function rt(ct,Ft,ut,Qt){Qt=function(mt){var ht=!1;return function(){ht||(ht=!0,mt.apply(void 0,arguments))}}(Qt);var pt=!1;ct.on("close",function(){pt=!0}),j===void 0&&(j=_(4869)),j(ct,{readable:Ft,writable:ut},function(mt){if(mt)return Qt(mt);pt=!0,Qt()});var ft=!1;return function(mt){if(!pt&&!ft)return ft=!0,function(ht){return ht.setHeader&&typeof ht.abort=="function"}(ct)?ct.abort():typeof ct.destroy=="function"?ct.destroy():void Qt(mt||new tt("pipe"))}}function it(ct){ct()}function st(ct,Ft){return ct.pipe(Ft)}function Ut(ct){return ct.length?typeof ct[ct.length-1]!="function"?nt:ct.pop():nt}o.exports=function(){for(var ct=arguments.length,Ft=new Array(ct),ut=0;ut0,function(Rt){Qt||(Qt=Rt),Rt&&ft.forEach(it),Vt||(ft.forEach(it),pt(Qt))})});return Ft.reduce(st)}},9952:(o,s,_)=>{var j=_(5699).F.ERR_INVALID_OPT_VALUE;o.exports={getHighWaterMark:function($,et,tt,nt){var rt=function(it,st,Ut){return it.highWaterMark!=null?it.highWaterMark:st?it[Ut]:null}(et,nt,tt);if(rt!=null){if(!isFinite(rt)||Math.floor(rt)!==rt||rt<0)throw new j(nt?tt:"highWaterMark",rt);return Math.floor(rt)}return $.objectMode?16:16384}}},4856:(o,s,_)=>{o.exports=_(46).EventEmitter},4156:(o,s,_)=>{(s=o.exports=_(8199)).Stream=s,s.Readable=s,s.Writable=_(5291),s.Duplex=_(1265),s.Transform=_(9415),s.PassThrough=_(4421),s.finished=_(4869),s.pipeline=_(6815)},5636:(o,s,_)=>{var j=_(1048),$=j.Buffer;function et(nt,rt){for(var it in nt)rt[it]=nt[it]}function tt(nt,rt,it){return $(nt,rt,it)}$.from&&$.alloc&&$.allocUnsafe&&$.allocUnsafeSlow?o.exports=j:(et(j,s),s.Buffer=tt),tt.prototype=Object.create($.prototype),et($,tt),tt.from=function(nt,rt,it){if(typeof nt=="number")throw new TypeError("Argument must not be a number");return $(nt,rt,it)},tt.alloc=function(nt,rt,it){if(typeof nt!="number")throw new TypeError("Argument must be a number");var st=$(nt);return rt!==void 0?typeof it=="string"?st.fill(rt,it):st.fill(rt):st.fill(0),st},tt.allocUnsafe=function(nt){if(typeof nt!="number")throw new TypeError("Argument must be a number");return $(nt)},tt.allocUnsafeSlow=function(nt){if(typeof nt!="number")throw new TypeError("Argument must be a number");return j.SlowBuffer(nt)}},1145:(o,s)=>{const{hasOwnProperty:_}=Object.prototype,j=ut();j.configure=ut,j.stringify=j,j.default=j,s.stringify=j,s.configure=ut,o.exports=j;const $=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function et(Qt){return Qt.length<5e3&&!$.test(Qt)?`"${Qt}"`:JSON.stringify(Qt)}function tt(Qt){if(Qt.length>200)return Qt.sort();for(let pt=1;ptft;)Qt[mt]=Qt[mt-1],mt--;Qt[mt]=ft}return Qt}const nt=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function rt(Qt){return nt.call(Qt)!==void 0&&Qt.length!==0}function it(Qt,pt,ft){Qt.length= 1`)}return ft===void 0?1/0:ft}function ct(Qt){return Qt===1?"1 item":Qt+" items"}function Ft(Qt){const pt=new Set;for(const ft of Qt)typeof ft!="string"&&typeof ft!="number"||pt.add(String(ft));return pt}function ut(Qt){const pt=function(Yt){if(_.call(Yt,"strict")){const Zt=Yt.strict;if(typeof Zt!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(Zt)return vt=>{let bt="Object can not safely be stringified. Received type "+typeof vt;throw typeof vt!="function"&&(bt+=` (${vt.toString()})`),new Error(bt)}}}(Qt={...Qt});pt&&(Qt.bigint===void 0&&(Qt.bigint=!1),"circularValue"in Qt||(Qt.circularValue=Error));const ft=function(Yt){if(_.call(Yt,"circularValue")){const Zt=Yt.circularValue;if(typeof Zt=="string")return`"${Zt}"`;if(Zt==null)return Zt;if(Zt===Error||Zt===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}(Qt),mt=st(Qt,"bigint"),ht=st(Qt,"deterministic"),Vt=Ut(Qt,"maximumDepth"),Rt=Ut(Qt,"maximumBreadth");function Dt(Yt,Zt,vt,bt,Wt,It){let Tt=Zt[Yt];switch(typeof Tt=="object"&&Tt!==null&&typeof Tt.toJSON=="function"&&(Tt=Tt.toJSON(Yt)),Tt=bt.call(Zt,Yt,Tt),typeof Tt){case"string":return et(Tt);case"object":{if(Tt===null)return"null";if(vt.indexOf(Tt)!==-1)return ft;let _t="",$t=",";const rn=It;if(Array.isArray(Tt)){if(Tt.length===0)return"[]";if(VtRt&&(_t+=`${$t}"... ${ct(Tt.length-Rt-1)} not stringified"`),Wt!==""&&(_t+=` +`+rn),vt.pop(),`[${_t}]`}let Pt=Object.keys(Tt);const qt=Pt.length;if(qt===0)return"{}";if(VtRt&&(_t+=`${an}"...":${ln}"${ct(qt-Rt)} not stringified"`,an=$t),Wt!==""&&an.length>1&&(_t=` +${It}${_t} +${rn}`),vt.pop(),`{${_t}}`}case"number":return isFinite(Tt)?String(Tt):pt?pt(Tt):"null";case"boolean":return Tt===!0?"true":"false";case"undefined":return;case"bigint":if(mt)return String(Tt);default:return pt?pt(Tt):void 0}}function Ct(Yt,Zt,vt,bt,Wt,It){switch(typeof Zt=="object"&&Zt!==null&&typeof Zt.toJSON=="function"&&(Zt=Zt.toJSON(Yt)),typeof Zt){case"string":return et(Zt);case"object":{if(Zt===null)return"null";if(vt.indexOf(Zt)!==-1)return ft;const Tt=It;let _t="",$t=",";if(Array.isArray(Zt)){if(Zt.length===0)return"[]";if(VtRt&&(_t+=`${$t}"... ${ct(Zt.length-Rt-1)} not stringified"`),Wt!==""&&(_t+=` +`+Tt),vt.pop(),`[${_t}]`}vt.push(Zt);let rn="";Wt!==""&&($t=`, +`+(It+=Wt),rn=" ");let Pt="";for(const qt of bt){const ln=Ct(qt,Zt[qt],vt,bt,Wt,It);ln!==void 0&&(_t+=`${Pt}${et(qt)}:${rn}${ln}`,Pt=$t)}return Wt!==""&&Pt.length>1&&(_t=` +${It}${_t} +${Tt}`),vt.pop(),`{${_t}}`}case"number":return isFinite(Zt)?String(Zt):pt?pt(Zt):"null";case"boolean":return Zt===!0?"true":"false";case"undefined":return;case"bigint":if(mt)return String(Zt);default:return pt?pt(Zt):void 0}}function Mt(Yt,Zt,vt,bt,Wt){switch(typeof Zt){case"string":return et(Zt);case"object":{if(Zt===null)return"null";if(typeof Zt.toJSON=="function"){if(typeof(Zt=Zt.toJSON(Yt))!="object")return Mt(Yt,Zt,vt,bt,Wt);if(Zt===null)return"null"}if(vt.indexOf(Zt)!==-1)return ft;const It=Wt;if(Array.isArray(Zt)){if(Zt.length===0)return"[]";if(VtRt&&(ln+=`${an}"... ${ct(Zt.length-Rt-1)} not stringified"`),ln+=` +`+It,vt.pop(),`[${ln}]`}let Tt=Object.keys(Zt);const _t=Tt.length;if(_t===0)return"{}";if(VtRt&&(rn+=`${Pt}"...": "${ct(_t-Rt)} not stringified"`,Pt=$t),Pt!==""&&(rn=` +${Wt}${rn} +${It}`),vt.pop(),`{${rn}}`}case"number":return isFinite(Zt)?String(Zt):pt?pt(Zt):"null";case"boolean":return Zt===!0?"true":"false";case"undefined":return;case"bigint":if(mt)return String(Zt);default:return pt?pt(Zt):void 0}}function yt(Yt,Zt,vt){switch(typeof Zt){case"string":return et(Zt);case"object":{if(Zt===null)return"null";if(typeof Zt.toJSON=="function"){if(typeof(Zt=Zt.toJSON(Yt))!="object")return yt(Yt,Zt,vt);if(Zt===null)return"null"}if(vt.indexOf(Zt)!==-1)return ft;let bt="";if(Array.isArray(Zt)){if(Zt.length===0)return"[]";if(VtRt&&(bt+=`,"... ${ct(Zt.length-Rt-1)} not stringified"`),vt.pop(),`[${bt}]`}let Wt=Object.keys(Zt);const It=Wt.length;if(It===0)return"{}";if(VtRt&&(bt+=`${Tt}"...":"${ct(It-Rt)} not stringified"`),vt.pop(),`{${bt}}`}case"number":return isFinite(Zt)?String(Zt):pt?pt(Zt):"null";case"boolean":return Zt===!0?"true":"false";case"undefined":return;case"bigint":if(mt)return String(Zt);default:return pt?pt(Zt):void 0}}return function(Yt,Zt,vt){if(arguments.length>1){let bt="";if(typeof vt=="number"?bt=" ".repeat(Math.min(vt,10)):typeof vt=="string"&&(bt=vt.slice(0,10)),Zt!=null){if(typeof Zt=="function")return Dt("",{"":Yt},[],Zt,bt,"");if(Array.isArray(Zt))return Ct("",Yt,[],Ft(Zt),bt,"")}if(bt.length!==0)return Mt("",Yt,[],bt,"")}return yt("",Yt,[])}}},6108:(o,s,_)=>{var j=_(528),$=_(686),et=_(7239)(),tt=_(9336),nt=_(3468),rt=j("%Math.floor%");o.exports=function(it,st){if(typeof it!="function")throw new nt("`fn` is not a function");if(typeof st!="number"||st<0||st>4294967295||rt(st)!==st)throw new nt("`length` must be a positive 32-bit integer");var Ut=arguments.length>2&&!!arguments[2],ct=!0,Ft=!0;if("length"in it&&tt){var ut=tt(it,"length");ut&&!ut.configurable&&(ct=!1),ut&&!ut.writable&&(Ft=!1)}return(ct||Ft||!Ut)&&(et?$(it,"length",st,!0,!0):$(it,"length",st)),it}},7575:(o,s,_)=>{var j=_(528),$=_(9818),et=_(8660),tt=_(3468),nt=j("%WeakMap%",!0),rt=j("%Map%",!0),it=$("WeakMap.prototype.get",!0),st=$("WeakMap.prototype.set",!0),Ut=$("WeakMap.prototype.has",!0),ct=$("Map.prototype.get",!0),Ft=$("Map.prototype.set",!0),ut=$("Map.prototype.has",!0),Qt=function(pt,ft){for(var mt,ht=pt;(mt=ht.next)!==null;ht=mt)if(mt.key===ft)return ht.next=mt.next,mt.next=pt.next,pt.next=mt,mt};o.exports=function(){var pt,ft,mt,ht={assert:function(Vt){if(!ht.has(Vt))throw new tt("Side channel does not contain "+et(Vt))},get:function(Vt){if(nt&&Vt&&(typeof Vt=="object"||typeof Vt=="function")){if(pt)return it(pt,Vt)}else if(rt){if(ft)return ct(ft,Vt)}else if(mt)return function(Rt,Dt){var Ct=Qt(Rt,Dt);return Ct&&Ct.value}(mt,Vt)},has:function(Vt){if(nt&&Vt&&(typeof Vt=="object"||typeof Vt=="function")){if(pt)return Ut(pt,Vt)}else if(rt){if(ft)return ut(ft,Vt)}else if(mt)return function(Rt,Dt){return!!Qt(Rt,Dt)}(mt,Vt);return!1},set:function(Vt,Rt){nt&&Vt&&(typeof Vt=="object"||typeof Vt=="function")?(pt||(pt=new nt),st(pt,Vt,Rt)):rt?(ft||(ft=new rt),Ft(ft,Vt,Rt)):(mt||(mt={key:{},next:null}),function(Dt,Ct,Mt){var yt=Qt(Dt,Ct);yt?yt.value=Mt:Dt.next={key:Ct,next:Dt.next,value:Mt}}(mt,Vt,Rt))}};return ht}},5082:(o,s)=>{function _(j){for(var $ in j)this[$]=j[$]}s.get=function(j){var $=Error.stackTraceLimit;Error.stackTraceLimit=1/0;var et={},tt=Error.prepareStackTrace;Error.prepareStackTrace=function(rt,it){return it},Error.captureStackTrace(et,j||s.get);var nt=et.stack;return Error.prepareStackTrace=tt,Error.stackTraceLimit=$,nt},s.parse=function(j){if(!j.stack)return[];var $=this;return j.stack.split(` +`).slice(1).map(function(et){if(et.match(/^\s*[-]{4,}$/))return $._createParsedCallSite({fileName:et,lineNumber:null,functionName:null,typeName:null,methodName:null,columnNumber:null,native:null});var tt=et.match(/at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/);if(tt){var nt=null,rt=null,it=null,st=null,Ut=null,ct=tt[5]==="native";if(tt[1]){var Ft=(it=tt[1]).lastIndexOf(".");if(it[Ft-1]=="."&&Ft--,Ft>0){nt=it.substr(0,Ft),rt=it.substr(Ft+1);var ut=nt.indexOf(".Module");ut>0&&(it=it.substr(ut+1),nt=nt.substr(0,ut))}st=null}rt&&(st=nt,Ut=rt),rt===""&&(Ut=null,it=null);var Qt={fileName:tt[2]||null,lineNumber:parseInt(tt[3],10)||null,functionName:it,typeName:st,methodName:Ut,columnNumber:parseInt(tt[4],10)||null,native:ct};return $._createParsedCallSite(Qt)}}).filter(function(et){return!!et})},["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"].forEach(function(j){_.prototype[j]=null,_.prototype["get"+j[0].toUpperCase()+j.substr(1)]=function(){return this[j]}}),["topLevel","eval","native","constructor"].forEach(function(j){_.prototype[j]=!1,_.prototype["is"+j[0].toUpperCase()+j.substr(1)]=function(){return this[j]}}),s._createParsedCallSite=function(j){return new _(j)}},1983:(o,s,_)=>{o.exports=$;var j=_(46).EventEmitter;function $(){j.call(this)}_(5615)($,j),$.Readable=_(8199),$.Writable=_(5291),$.Duplex=_(1265),$.Transform=_(9415),$.PassThrough=_(4421),$.finished=_(4869),$.pipeline=_(6815),$.Stream=$,$.prototype.pipe=function(et,tt){var nt=this;function rt(Qt){et.writable&&et.write(Qt)===!1&&nt.pause&&nt.pause()}function it(){nt.readable&&nt.resume&&nt.resume()}nt.on("data",rt),et.on("drain",it),et._isStdio||tt&&tt.end===!1||(nt.on("end",Ut),nt.on("close",ct));var st=!1;function Ut(){st||(st=!0,et.end())}function ct(){st||(st=!0,typeof et.destroy=="function"&&et.destroy())}function Ft(Qt){if(ut(),j.listenerCount(this,"error")===0)throw Qt}function ut(){nt.removeListener("data",rt),et.removeListener("drain",it),nt.removeListener("end",Ut),nt.removeListener("close",ct),nt.removeListener("error",Ft),et.removeListener("error",Ft),nt.removeListener("end",ut),nt.removeListener("close",ut),et.removeListener("close",ut)}return nt.on("error",Ft),et.on("error",Ft),nt.on("end",ut),nt.on("close",ut),et.on("close",ut),et.emit("pipe",nt),et}},4865:(o,s,_)=>{var j=_(6255),$=_(6846),et=_(3227),tt=_(49),nt=_(5442),rt=s;rt.request=function(it,st){it=typeof it=="string"?nt.parse(it):et(it);var Ut=_.g.location.protocol.search(/^https?:$/)===-1?"http:":"",ct=it.protocol||Ut,Ft=it.hostname||it.host,ut=it.port,Qt=it.path||"/";Ft&&Ft.indexOf(":")!==-1&&(Ft="["+Ft+"]"),it.url=(Ft?ct+"//"+Ft:"")+(ut?":"+ut:"")+Qt,it.method=(it.method||"GET").toUpperCase(),it.headers=it.headers||{};var pt=new j(it);return st&&pt.on("response",st),pt},rt.get=function(it,st){var Ut=rt.request(it,st);return Ut.end(),Ut},rt.ClientRequest=j,rt.IncomingMessage=$.IncomingMessage,rt.Agent=function(){},rt.Agent.defaultMaxSockets=4,rt.globalAgent=new rt.Agent,rt.STATUS_CODES=tt,rt.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]},2271:(o,s,_)=>{var j;function $(){if(j!==void 0)return j;if(_.g.XMLHttpRequest){j=new _.g.XMLHttpRequest;try{j.open("GET",_.g.XDomainRequest?"/":"https://example.com")}catch{j=null}}else j=null;return j}function et(nt){var rt=$();if(!rt)return!1;try{return rt.responseType=nt,rt.responseType===nt}catch{}return!1}function tt(nt){return typeof nt=="function"}s.fetch=tt(_.g.fetch)&&tt(_.g.ReadableStream),s.writableStream=tt(_.g.WritableStream),s.abortController=tt(_.g.AbortController),s.arraybuffer=s.fetch||et("arraybuffer"),s.msstream=!s.fetch&&et("ms-stream"),s.mozchunkedarraybuffer=!s.fetch&&et("moz-chunked-arraybuffer"),s.overrideMimeType=s.fetch||!!$()&&tt($().overrideMimeType),j=null},6255:(o,s,_)=>{var j=_(2271),$=_(5615),et=_(6846),tt=_(4156),nt=et.IncomingMessage,rt=et.readyStates,it=o.exports=function(Ut){var ct,Ft=this;tt.Writable.call(Ft),Ft._opts=Ut,Ft._body=[],Ft._headers={},Ut.auth&&Ft.setHeader("Authorization","Basic "+Buffer.from(Ut.auth).toString("base64")),Object.keys(Ut.headers).forEach(function(Qt){Ft.setHeader(Qt,Ut.headers[Qt])});var ut=!0;if(Ut.mode==="disable-fetch"||"requestTimeout"in Ut&&!j.abortController)ut=!1,ct=!0;else if(Ut.mode==="prefer-streaming")ct=!1;else if(Ut.mode==="allow-wrong-content-type")ct=!j.overrideMimeType;else{if(Ut.mode&&Ut.mode!=="default"&&Ut.mode!=="prefer-fast")throw new Error("Invalid value for opts.mode");ct=!0}Ft._mode=function(Qt,pt){return j.fetch&&pt?"fetch":j.mozchunkedarraybuffer?"moz-chunked-arraybuffer":j.msstream?"ms-stream":j.arraybuffer&&Qt?"arraybuffer":"text"}(ct,ut),Ft._fetchTimer=null,Ft._socketTimeout=null,Ft._socketTimer=null,Ft.on("finish",function(){Ft._onFinish()})};$(it,tt.Writable),it.prototype.setHeader=function(Ut,ct){var Ft=Ut.toLowerCase();st.indexOf(Ft)===-1&&(this._headers[Ft]={name:Ut,value:ct})},it.prototype.getHeader=function(Ut){var ct=this._headers[Ut.toLowerCase()];return ct?ct.value:null},it.prototype.removeHeader=function(Ut){delete this._headers[Ut.toLowerCase()]},it.prototype._onFinish=function(){var Ut=this;if(!Ut._destroyed){var ct=Ut._opts;"timeout"in ct&&ct.timeout!==0&&Ut.setTimeout(ct.timeout);var Ft=Ut._headers,ut=null;ct.method!=="GET"&&ct.method!=="HEAD"&&(ut=new Blob(Ut._body,{type:(Ft["content-type"]||{}).value||""}));var Qt=[];if(Object.keys(Ft).forEach(function(ht){var Vt=Ft[ht].name,Rt=Ft[ht].value;Array.isArray(Rt)?Rt.forEach(function(Dt){Qt.push([Vt,Dt])}):Qt.push([Vt,Rt])}),Ut._mode==="fetch"){var pt=null;if(j.abortController){var ft=new AbortController;pt=ft.signal,Ut._fetchAbortController=ft,"requestTimeout"in ct&&ct.requestTimeout!==0&&(Ut._fetchTimer=_.g.setTimeout(function(){Ut.emit("requestTimeout"),Ut._fetchAbortController&&Ut._fetchAbortController.abort()},ct.requestTimeout))}_.g.fetch(Ut._opts.url,{method:Ut._opts.method,headers:Qt,body:ut||void 0,mode:"cors",credentials:ct.withCredentials?"include":"same-origin",signal:pt}).then(function(ht){Ut._fetchResponse=ht,Ut._resetTimers(!1),Ut._connect()},function(ht){Ut._resetTimers(!0),Ut._destroyed||Ut.emit("error",ht)})}else{var mt=Ut._xhr=new _.g.XMLHttpRequest;try{mt.open(Ut._opts.method,Ut._opts.url,!0)}catch(ht){return void process$1.nextTick(function(){Ut.emit("error",ht)})}"responseType"in mt&&(mt.responseType=Ut._mode),"withCredentials"in mt&&(mt.withCredentials=!!ct.withCredentials),Ut._mode==="text"&&"overrideMimeType"in mt&&mt.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in ct&&(mt.timeout=ct.requestTimeout,mt.ontimeout=function(){Ut.emit("requestTimeout")}),Qt.forEach(function(ht){mt.setRequestHeader(ht[0],ht[1])}),Ut._response=null,mt.onreadystatechange=function(){switch(mt.readyState){case rt.LOADING:case rt.DONE:Ut._onXHRProgress()}},Ut._mode==="moz-chunked-arraybuffer"&&(mt.onprogress=function(){Ut._onXHRProgress()}),mt.onerror=function(){Ut._destroyed||(Ut._resetTimers(!0),Ut.emit("error",new Error("XHR error")))};try{mt.send(ut)}catch(ht){return void process$1.nextTick(function(){Ut.emit("error",ht)})}}}},it.prototype._onXHRProgress=function(){this._resetTimers(!1),function(Ut){try{var ct=Ut.status;return ct!==null&&ct!==0}catch{return!1}}(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress(this._resetTimers.bind(this)))},it.prototype._connect=function(){var Ut=this;Ut._destroyed||(Ut._response=new nt(Ut._xhr,Ut._fetchResponse,Ut._mode,Ut._resetTimers.bind(Ut)),Ut._response.on("error",function(ct){Ut.emit("error",ct)}),Ut.emit("response",Ut._response))},it.prototype._write=function(Ut,ct,Ft){this._body.push(Ut),Ft()},it.prototype._resetTimers=function(Ut){var ct=this;_.g.clearTimeout(ct._socketTimer),ct._socketTimer=null,Ut?(_.g.clearTimeout(ct._fetchTimer),ct._fetchTimer=null):ct._socketTimeout&&(ct._socketTimer=_.g.setTimeout(function(){ct.emit("timeout")},ct._socketTimeout))},it.prototype.abort=it.prototype.destroy=function(Ut){this._destroyed=!0,this._resetTimers(!0),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort(),Ut&&this.emit("error",Ut)},it.prototype.end=function(Ut,ct,Ft){typeof Ut=="function"&&(Ft=Ut,Ut=void 0),tt.Writable.prototype.end.call(this,Ut,ct,Ft)},it.prototype.setTimeout=function(Ut,ct){ct&&this.once("timeout",ct),this._socketTimeout=Ut,this._resetTimers(!1)},it.prototype.flushHeaders=function(){},it.prototype.setNoDelay=function(){},it.prototype.setSocketKeepAlive=function(){};var st=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]},6846:(o,s,_)=>{var j=_(2271),$=_(5615),et=_(4156),tt=s.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},nt=s.IncomingMessage=function(rt,it,st,Ut){var ct=this;if(et.Readable.call(ct),ct._mode=st,ct.headers={},ct.rawHeaders=[],ct.trailers={},ct.rawTrailers=[],ct.on("end",function(){process$1.nextTick(function(){ct.emit("close")})}),st==="fetch"){if(ct._fetchResponse=it,ct.url=it.url,ct.statusCode=it.status,ct.statusMessage=it.statusText,it.headers.forEach(function(ft,mt){ct.headers[mt.toLowerCase()]=ft,ct.rawHeaders.push(mt,ft)}),j.writableStream){var Ft=new WritableStream({write:function(ft){return Ut(!1),new Promise(function(mt,ht){ct._destroyed?ht():ct.push(Buffer.from(ft))?mt():ct._resumeFetch=mt})},close:function(){Ut(!0),ct._destroyed||ct.push(null)},abort:function(ft){Ut(!0),ct._destroyed||ct.emit("error",ft)}});try{return void it.body.pipeTo(Ft).catch(function(ft){Ut(!0),ct._destroyed||ct.emit("error",ft)})}catch{}}var ut=it.body.getReader();(function ft(){ut.read().then(function(mt){ct._destroyed||(Ut(mt.done),mt.done?ct.push(null):(ct.push(Buffer.from(mt.value)),ft()))}).catch(function(mt){Ut(!0),ct._destroyed||ct.emit("error",mt)})})()}else if(ct._xhr=rt,ct._pos=0,ct.url=rt.responseURL,ct.statusCode=rt.status,ct.statusMessage=rt.statusText,rt.getAllResponseHeaders().split(/\r?\n/).forEach(function(ft){var mt=ft.match(/^([^:]+):\s*(.*)/);if(mt){var ht=mt[1].toLowerCase();ht==="set-cookie"?(ct.headers[ht]===void 0&&(ct.headers[ht]=[]),ct.headers[ht].push(mt[2])):ct.headers[ht]!==void 0?ct.headers[ht]+=", "+mt[2]:ct.headers[ht]=mt[2],ct.rawHeaders.push(mt[1],mt[2])}}),ct._charset="x-user-defined",!j.overrideMimeType){var Qt=ct.rawHeaders["mime-type"];if(Qt){var pt=Qt.match(/;\s*charset=([^;])(;|$)/);pt&&(ct._charset=pt[1].toLowerCase())}ct._charset||(ct._charset="utf-8")}};$(nt,et.Readable),nt.prototype._read=function(){var rt=this._resumeFetch;rt&&(this._resumeFetch=null,rt())},nt.prototype._onXHRProgress=function(rt){var it=this,st=it._xhr,Ut=null;switch(it._mode){case"text":if((Ut=st.responseText).length>it._pos){var ct=Ut.substr(it._pos);if(it._charset==="x-user-defined"){for(var Ft=Buffer.alloc(ct.length),ut=0;utit._pos&&(it.push(Buffer.from(new Uint8Array(Qt.result.slice(it._pos)))),it._pos=Qt.result.byteLength)},Qt.onload=function(){rt(!0),it.push(null)},Qt.readAsArrayBuffer(Ut)}it._xhr.readyState===tt.DONE&&it._mode!=="ms-stream"&&(rt(!0),it.push(null))}},8888:(o,s,_)=>{var j=_(5636).Buffer,$=j.isEncoding||function(ut){switch((ut=""+ut)&&ut.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function et(ut){var Qt;switch(this.encoding=function(pt){var ft=function(mt){if(!mt)return"utf8";for(var ht;;)switch(mt){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return mt;default:if(ht)return;mt=(""+mt).toLowerCase(),ht=!0}}(pt);if(typeof ft!="string"&&(j.isEncoding===$||!$(pt)))throw new Error("Unknown encoding: "+pt);return ft||pt}(ut),this.encoding){case"utf16le":this.text=rt,this.end=it,Qt=4;break;case"utf8":this.fillLast=nt,Qt=4;break;case"base64":this.text=st,this.end=Ut,Qt=3;break;default:return this.write=ct,void(this.end=Ft)}this.lastNeed=0,this.lastTotal=0,this.lastChar=j.allocUnsafe(Qt)}function tt(ut){return ut<=127?0:ut>>5==6?2:ut>>4==14?3:ut>>3==30?4:ut>>6==2?-1:-2}function nt(ut){var Qt=this.lastTotal-this.lastNeed,pt=function(ft,mt,ht){if((192&mt[0])!=128)return ft.lastNeed=0,"�";if(ft.lastNeed>1&&mt.length>1){if((192&mt[1])!=128)return ft.lastNeed=1,"�";if(ft.lastNeed>2&&mt.length>2&&(192&mt[2])!=128)return ft.lastNeed=2,"�"}}(this,ut);return pt!==void 0?pt:this.lastNeed<=ut.length?(ut.copy(this.lastChar,Qt,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(ut.copy(this.lastChar,Qt,0,ut.length),void(this.lastNeed-=ut.length))}function rt(ut,Qt){if((ut.length-Qt)%2==0){var pt=ut.toString("utf16le",Qt);if(pt){var ft=pt.charCodeAt(pt.length-1);if(ft>=55296&&ft<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=ut[ut.length-2],this.lastChar[1]=ut[ut.length-1],pt.slice(0,-1)}return pt}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=ut[ut.length-1],ut.toString("utf16le",Qt,ut.length-1)}function it(ut){var Qt=ut&&ut.length?this.write(ut):"";if(this.lastNeed){var pt=this.lastTotal-this.lastNeed;return Qt+this.lastChar.toString("utf16le",0,pt)}return Qt}function st(ut,Qt){var pt=(ut.length-Qt)%3;return pt===0?ut.toString("base64",Qt):(this.lastNeed=3-pt,this.lastTotal=3,pt===1?this.lastChar[0]=ut[ut.length-1]:(this.lastChar[0]=ut[ut.length-2],this.lastChar[1]=ut[ut.length-1]),ut.toString("base64",Qt,ut.length-pt))}function Ut(ut){var Qt=ut&&ut.length?this.write(ut):"";return this.lastNeed?Qt+this.lastChar.toString("base64",0,3-this.lastNeed):Qt}function ct(ut){return ut.toString(this.encoding)}function Ft(ut){return ut&&ut.length?this.write(ut):""}s.StringDecoder=et,et.prototype.write=function(ut){if(ut.length===0)return"";var Qt,pt;if(this.lastNeed){if((Qt=this.fillLast(ut))===void 0)return"";pt=this.lastNeed,this.lastNeed=0}else pt=0;return pt=0?(Dt>0&&(mt.lastNeed=Dt-1),Dt):--Rt=0?(Dt>0&&(mt.lastNeed=Dt-2),Dt):--Rt=0?(Dt>0&&(Dt===2?Dt=0:mt.lastNeed=Dt-3),Dt):0}(this,ut,Qt);if(!this.lastNeed)return ut.toString("utf8",Qt);this.lastTotal=pt;var ft=ut.length-(pt-this.lastNeed);return ut.copy(this.lastChar,0,ft),ut.toString("utf8",Qt,ft)},et.prototype.fillLast=function(ut){if(this.lastNeed<=ut.length)return ut.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);ut.copy(this.lastChar,this.lastTotal-this.lastNeed,0,ut.length),this.lastNeed-=ut.length}},9023:(o,s)=>{s.levels={error:0,warn:1,help:2,data:3,info:4,debug:5,prompt:6,verbose:7,input:8,silly:9},s.colors={error:"red",warn:"yellow",help:"cyan",data:"grey",info:"green",debug:"blue",prompt:"grey",verbose:"cyan",input:"grey",silly:"magenta"}},2797:(o,s,_)=>{Object.defineProperty(s,"cli",{value:_(9023)}),Object.defineProperty(s,"npm",{value:_(5828)}),Object.defineProperty(s,"syslog",{value:_(7408)})},5828:(o,s)=>{s.levels={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},s.colors={error:"red",warn:"yellow",info:"green",http:"green",verbose:"cyan",debug:"blue",silly:"magenta"}},7408:(o,s)=>{s.levels={emerg:0,alert:1,crit:2,error:3,warning:4,notice:5,info:6,debug:7},s.colors={emerg:"red",alert:"yellow",crit:"red",error:"red",warning:"red",notice:"yellow",info:"green",debug:"blue"}},4966:(o,s,_)=>{Object.defineProperty(s,"LEVEL",{value:Symbol.for("level")}),Object.defineProperty(s,"MESSAGE",{value:Symbol.for("message")}),Object.defineProperty(s,"SPLAT",{value:Symbol.for("splat")}),Object.defineProperty(s,"configs",{value:_(2797)})},7396:(o,s,_)=>{_.d(s,{V:()=>pt});var j=_(288),$=_.n(j),et=_(3778);class tt extends Error{constructor(mt,ht,Vt){super("Connection failure: "+mt.message),this.cause=mt,this.url=ht,this.retryable=Vt,this.name="ConnectionError",Object.setPrototypeOf(this,new.target.prototype)}}var nt=_(7221),rt=_(4356),it=_(1597),st=_(3721),Ut=_(7197);class ct extends Error{constructor(mt,ht){super(`Invalid headers (${JSON.stringify(mt)}) for response: ${ht.message}`),this.validationErrors=mt,this.responseError=ht}}var Ft=function(ft,mt,ht,Vt){return new(ht||(ht=Promise))(function(Rt,Dt){function Ct(Yt){try{yt(Vt.next(Yt))}catch(Zt){Dt(Zt)}}function Mt(Yt){try{yt(Vt.throw(Yt))}catch(Zt){Dt(Zt)}}function yt(Yt){var Zt;Yt.done?Rt(Yt.value):(Zt=Yt.value,Zt instanceof ht?Zt:new ht(function(vt){vt(Zt)})).then(Ct,Mt)}yt((Vt=Vt.apply(ft,mt||[])).next())})},ut=function(ft,mt){var ht={};for(var Vt in ft)Object.prototype.hasOwnProperty.call(ft,Vt)&&mt.indexOf(Vt)<0&&(ht[Vt]=ft[Vt]);if(ft!=null&&typeof Object.getOwnPropertySymbols=="function"){var Rt=0;for(Vt=Object.getOwnPropertySymbols(ft);Rtht.validateHeaders?ht.validateHeaders(Vt):{},this.verbose=ht.verbose!==!1,ht.retries!==void 0&&!(ht.retries>=0))throw new Error("retries must be positive or zero");if(this.configuredRetries=ht.retries,ht.timeoutMs!==void 0&&!(ht.timeoutMs>0))throw new Error("timeoutMs must be positive");if(this.timeoutMs=ht.timeoutMs,ht.maxBackoffDelayMs!==void 0&&!(ht.maxBackoffDelayMs>0))throw new Error("maxBackoffDelayMs must be positive");this.maxBackoffDelayMs=ht.maxBackoffDelayMs||30*et.p.second,this.json=ht.json!==!1}getRetries(){return this.configuredRetries!==void 0?this.configuredRetries:this.getConstructor().retries}getHeaders(){return{}}fetch(mt){return Ft(this,arguments,void 0,function*(ht,Vt={}){return(yield this.fetchVerbose(ht,Vt)).body})}fetchVerbose(mt){return Ft(this,arguments,void 0,function*(ht,Vt={}){let Rt=100*et.p.millisecond,Dt=0;const Ct=this.timeoutMs!==void 0?new Date().getTime()+this.timeoutMs:void 0,Mt=Ct?()=>Math.max(Ct-new Date().getTime(),0):void 0;for(;;)try{return yield this.doFetch(ht,Vt,Mt)}catch(yt){const Yt=yt,Zt=(0,st.e)(Yt,tt);if((Mt==null?void 0:Mt())===0||Dt===this.getRetries()||!Zt.retryable)throw Zt;Dt++,Rt=Math.min(...Mt?[Mt()]:[],Rt*(2+.1*(Math.random()-.5)),this.maxBackoffDelayMs),yield(0,nt.c)(Rt),this.verbose&&it.vF.warn("Connection failure, retrying. Error: "+Yt.cause.message,{url:Yt.url,error:Yt.cause,attempt:Dt})}})}doFetch(mt,ht,Vt){return Ft(this,void 0,void 0,function*(){const{token:Rt,json:Dt=this.json,allowUnsafeRetries:Ct}=ht,Mt=ut(ht,["token","json","allowUnsafeRetries"]),{token:yt,traceId:Yt}=typeof Rt=="string"?{token:Rt}:Rt??{},Zt=(Mt.method||"GET").toUpperCase(),vt=this.endpoint!==void 0?`${this.endpoint}${mt?"/"+mt:""}`:mt,bt=new AbortController;let Wt;if(Vt){const It=Vt();It>0?Wt=setTimeout(()=>{bt.abort()},It):bt.abort()}try{let It;yield Promise.race([this.getConstructor().waitForConnectivity(),new Promise(ln=>{It=setTimeout(ln,Vt?Math.min(et.p.minute,Vt()):et.p.minute)})]),It&&clearTimeout(It);const Tt=yield $()(vt,Object.assign(Object.assign(Object.assign({},Mt),Mt.body!==void 0?{body:Dt!==!1?JSON.stringify(Mt.body):Mt.body}:{}),{headers:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Dt!==!1?{"Content-Type":"application/json"}:{}),this.getHeaders()),Mt.headers||{}),yt!==void 0?{Authorization:"Bearer "+yt}:{}),Yt&&{"Trace-ID":Yt}),signal:bt.signal})),_t=Tt.headers.get("content-type")||"",$t=_t&&_t.startsWith("application/json"),rn=$t?yield Tt.json():yield Tt.text(),Pt=()=>new Ut.o(Zt,vt,Mt.body,Tt.status,Tt.headers,rn,rn&&rn.validationErrors||{});if(!Tt.ok)throw this.verbose&&it.vF[Tt.status>=500?"warn":"info"]("Response error",{method:Zt,url:vt,statusCode:Tt.status}),Pt();const qt=this.validateHeaders(Tt.headers);if(Object.keys(qt).length!==0)throw new ct(qt,Pt());if(Tt.status===204)return{body:void 0,headers:Tt.headers};if(Dt&&!$t)throw new Error("Response is not JSON: "+JSON.stringify(rn));return{body:rn,headers:Tt.headers}}catch(It){const Tt=It,_t=Ct||Qt.has(Zt);if(Tt.message==="Network request failed")throw new tt(Tt,vt,_t);if(["EAI_AGAIN","ECONNREFUSED","EHOSTUNREACH","ENOTFOUND"].includes(Tt.code))throw new tt(Tt,vt,!0);if(["ETIMEDOUT","ECONNRESET","ESOCKETTIMEDOUT","EPIPE"].includes(Tt.code))throw new tt(Tt,vt,_t);if(Tt.name==="AbortError")throw new tt(Tt,vt,_t);const $t=(0,st.e)(Tt,Ut.o),{statusCode:rn}=$t;if(rn===408||rn===429||rn===502||rn===503||rn===504)throw this.verbose&&!_t&&it.vF.warn("Potentially unsafe retry"),new tt(Tt,vt,!0);if(rn===500&&["/online-devices","/stream-current-value","/events/counts","/queries/queries"].some(qt=>vt.includes(qt)))throw new tt(Tt,vt,_t);const Pt=this.validateHeaders($t.headers);throw Object.keys(Pt).length!==0?new ct(Pt,$t):(yield this.getConstructor().onResponseError($t),Tt)}finally{Wt&&clearTimeout(Wt)}})}getConstructor(){return Object.getPrototypeOf(this).constructor}static isNetworkError(mt){return(0,rt.x)(mt,Ut.o)||(0,rt.x)(mt,tt)||(mt==null?void 0:mt.name)==="TimeoutError"||(mt==null?void 0:mt.name)==="RequestAbortedError"}}pt.retries=8,pt.waitForConnectivity=()=>Ft(void 0,void 0,void 0,function*(){}),pt.onResponseError=()=>Ft(void 0,void 0,void 0,function*(){})},6331:(o,s,_)=>{_.d(s,{S:()=>tt});var j=_(7396),$=_(2273);const et={"app-id":["app-id must match formant/*"]};class tt extends j.V{constructor(rt,it={}){super(rt,Object.assign({validateHeaders:st=>(""+st.get("app-id")).startsWith("formant/")?{}:et},it)),this.endpoint=rt}getHeaders(){return Object.assign(Object.assign({},tt.headers),{"App-ID":"formant/"+$.yA,"App-Version":$.rE})}}tt.headers={}},4495:(o,s,_)=>{_.r(s),_.d(s,{LogClient:()=>nt});var j=_(6331),$=_(3721),et=_(7197),tt=function(rt,it,st,Ut){return new(st||(st=Promise))(function(ct,Ft){function ut(ft){try{pt(Ut.next(ft))}catch(mt){Ft(mt)}}function Qt(ft){try{pt(Ut.throw(ft))}catch(mt){Ft(mt)}}function pt(ft){var mt;ft.done?ct(ft.value):(mt=ft.value,mt instanceof st?mt:new st(function(ht){ht(mt)})).then(ut,Qt)}pt((Ut=Ut.apply(rt,it||[])).next())})};class nt extends j.S{log(it){return tt(this,void 0,void 0,function*(){const st=nt.token;try{yield this.fetch("logs",{token:st,method:"POST",body:{logs:it},allowUnsafeRetries:!0})}catch(Ut){(0,$.e)(Ut,et.o,ct=>ct.statusCode===401&&st!==void 0),nt.token===st&&delete nt.token,yield this.log(it)}})}}},7197:(o,s,_)=>{_.d(s,{o:()=>$});var j=_(7207);class $ extends Error{constructor(tt,nt,rt,it,st,Ut,ct={}){super("Response error "+JSON.stringify({method:tt,url:nt,requestBody:(0,j.E$)(rt),statusCode:it,responseHeaders:st?(0,j.E$)([...st.entries()].reduce((Ft,[ut,Qt])=>(Ft[ut]=Qt,Ft),{})):{},responseBody:(0,j.E$)(Ut)})),this.method=tt,this.url=nt,this.requestBody=rt,this.statusCode=it,this.headers=st,this.body=Ut,this.validationErrors=ct,this.name="ResponseError",Object.setPrototypeOf(this,new.target.prototype)}}},2273:(o,s,_)=>{_.d(s,{IW:()=>ut,MF:()=>tt,NQ:()=>rt,Zm:()=>Ut,_P:()=>ct,dF:()=>st,dm:()=>it,op:()=>Ft,rE:()=>nt,yA:()=>et});var j=_(2078);const $=j.from({ENVIRONMENT:{}.ENV,AGGREGATE_LEVEL:{}.AGGREGATE_LEVEL,API_ENDPOINT:{}.API_ENDPOINT,APP:"realtime-sdk",APP_PATH:{}.APP_PATH,BUILD_TAG:{}.BUILD_TAG,ENABLE_SELF_SERVE:{}.ENABLE_SELF_SERVE,ENABLE_SENTRY:{}.ENABLE_SENTRY,ENABLE_SENTRY_PROFILING:{}.ENABLE_SENTRY_PROFILING,GIT_COMMIT:{}.GIT_COMMIT,JEST_WORKER_ID:{}.JEST_WORKER_ID,LOG_API_ENDPOINT:{}.LOG_API_ENDPOINT,LOG_JSON:"false",LOG_LEVEL:{}.LOG_LEVEL,LOG_TO_CONSOLE:{}.LOG_TO_CONSOLE,LOG_TO_FILE:{}.LOG_TO_FILE,NAMESPACE:"production",SENTRY_DSN:{}.SENTRY_DSN,SHEET_EXPORT_MAX_ROW_COUNT:{}.SHEET_EXPORT_MAX_ROW_COUNT,STABLE_AGENT_VERSION:"1.291.4",VERSION:{}.VERSION,AUDIT_LOGS_ENABLED:{}.AUDIT_LOGS_ENABLED,WORKFLOW_GOOGLE_DRIVE_CLIENT_ID:{}.WORKFLOW_GOOGLE_DRIVE_CLIENT_ID}),et=($.get("WORKFLOW_GOOGLE_DRIVE_CLIENT_ID").default("").asString(),$.get("ENVIRONMENT").default("").asString(),$.get("APP").default("").asString()),tt=($.get("APP_PATH").default("").asString(),$.get("API_ENDPOINT").default("").asString(),$.get("NAMESPACE").default("").asString()),nt=$.get("VERSION").default("").asString(),rt=$.get("BUILD_TAG").default("").asString(),it=($.get("GIT_COMMIT").default("").asString(),$.get("ENABLE_SENTRY").default("false").asBool(),$.get("ENABLE_SENTRY_PROFILING").default("false").asBool(),$.get("SENTRY_DSN").default("").asString(),$.get("LOG_LEVEL").default("debug").asString()),st=$.get("LOG_JSON").default("true").asBool(),Ut=$.get("LOG_TO_CONSOLE").default("true").asBool(),ct=($.get("STABLE_AGENT_VERSION").default("").asString(),$.get("LOG_API_ENDPOINT").asString()),Ft=$.get("JEST_WORKER_ID").asString(),ut=($.get("SHEET_EXPORT_MAX_ROW_COUNT").default("10000").asIntPositive(),$.get("LOG_TO_FILE").default("false").asBoolStrict());$.get("ENABLE_SELF_SERVE").default("true").asBoolStrict(),$.get("AGGREGATE_LEVEL").default("hour").asEnum(["day","hour","minute"]),$.get("AUDIT_LOGS_ENABLED").default("true").asBoolStrict()},7221:(o,s,_)=>{_.d(s,{c:()=>j});const j=$=>new Promise(et=>setTimeout(et,$||0))},4356:(o,s,_)=>{function j($,et,tt=()=>!0){return $ instanceof et&&tt($)}_.d(s,{x:()=>j})},1597:(o,s,_)=>{_.d(s,{vF:()=>cn});var j=_(2213),$=_(8558),et=_(6075),tt=_.n(et),nt=_(6563);function rt(sn,bn){if(bn.length1?"s":"")+" required, but only "+bn.length+" present")}function it(sn){if(sn===null||sn===!0||sn===!1)return NaN;var bn=Number(sn);return isNaN(bn)?bn:bn<0?Math.ceil(bn):Math.floor(bn)}var st={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Ut=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,ct=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Ft=/^([+-])(\d{2})(?::?(\d{2}))?$/;function ut(sn){var bn,Cn={},Nn=sn.split(st.dateTimeDelimiter);if(Nn.length>2)return Cn;if(/:/.test(Nn[0])?bn=Nn[0]:(Cn.date=Nn[0],bn=Nn[1],st.timeZoneDelimiter.test(Cn.date)&&(Cn.date=sn.split(st.timeZoneDelimiter)[0],bn=sn.substr(Cn.date.length,sn.length))),bn){var xn=st.timezone.exec(bn);xn?(Cn.time=bn.replace(xn[1],""),Cn.timezone=xn[1]):Cn.time=bn}return Cn}function Qt(sn,bn){var Cn=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+bn)+"})|(\\d{2}|[+-]\\d{"+(2+bn)+"})$)"),Nn=sn.match(Cn);if(!Nn)return{year:NaN,restDateString:""};var xn=Nn[1]?parseInt(Nn[1]):null,zn=Nn[2]?parseInt(Nn[2]):null;return{year:zn===null?xn:100*zn,restDateString:sn.slice((Nn[1]||Nn[2]).length)}}function pt(sn,bn){if(bn===null)return new Date(NaN);var Cn=sn.match(Ut);if(!Cn)return new Date(NaN);var Nn=!!Cn[4],xn=ft(Cn[1]),zn=ft(Cn[2])-1,wt=ft(Cn[3]),jt=ft(Cn[4]),zt=ft(Cn[5])-1;if(Nn)return function(yn,Vn,kn){return Vn>=1&&Vn<=53&&kn>=0&&kn<=6}(0,jt,zt)?function(yn,Vn,kn){var Gn=new Date(0);Gn.setUTCFullYear(yn,0,4);var nr=Gn.getUTCDay()||7,tr=7*(Vn-1)+kn+1-nr;return Gn.setUTCDate(Gn.getUTCDate()+tr),Gn}(bn,jt,zt):new Date(NaN);var pn=new Date(0);return function(yn,Vn,kn){return Vn>=0&&Vn<=11&&kn>=1&&kn<=(Rt[Vn]||(Dt(yn)?29:28))}(bn,zn,wt)&&function(yn,Vn){return Vn>=1&&Vn<=(Dt(yn)?366:365)}(bn,xn)?(pn.setUTCFullYear(bn,zn,Math.max(xn,wt)),pn):new Date(NaN)}function ft(sn){return sn?parseInt(sn):1}function mt(sn){var bn=sn.match(ct);if(!bn)return NaN;var Cn=ht(bn[1]),Nn=ht(bn[2]),xn=ht(bn[3]);return function(zn,wt,jt){return zn===24?wt===0&&jt===0:jt>=0&&jt<60&&wt>=0&&wt<60&&zn>=0&&zn<25}(Cn,Nn,xn)?36e5*Cn+6e4*Nn+1e3*xn:NaN}function ht(sn){return sn&&parseFloat(sn.replace(",","."))||0}function Vt(sn){if(sn==="Z")return 0;var bn=sn.match(Ft);if(!bn)return 0;var Cn=bn[1]==="+"?-1:1,Nn=parseInt(bn[2]),xn=bn[3]&&parseInt(bn[3])||0;return function(zn,wt){return wt>=0&&wt<=59}(0,xn)?Cn*(36e5*Nn+6e4*xn):NaN}var Rt=[31,null,31,30,31,30,31,31,30,31,30,31];function Dt(sn){return sn%400==0||sn%4==0&&sn%100!=0}function Ct(sn){return(Ct=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(bn){return typeof bn}:function(bn){return bn&&typeof Symbol=="function"&&bn.constructor===Symbol&&bn!==Symbol.prototype?"symbol":typeof bn})(sn)}function Mt(sn){return rt(1,arguments),sn instanceof Date||Ct(sn)==="object"&&Object.prototype.toString.call(sn)==="[object Date]"}function yt(sn){rt(1,arguments);var bn=Object.prototype.toString.call(sn);return sn instanceof Date||Ct(sn)==="object"&&bn==="[object Date]"?new Date(sn.getTime()):typeof sn=="number"||bn==="[object Number]"?new Date(sn):(typeof sn!="string"&&bn!=="[object String]"||typeof console>"u"||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function Yt(sn){const bn=function(Cn,Nn){var xn;rt(1,arguments);var zn=it((xn=Nn==null?void 0:Nn.additionalDigits)!==null&&xn!==void 0?xn:2);if(zn!==2&&zn!==1&&zn!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(typeof Cn!="string"&&Object.prototype.toString.call(Cn)!=="[object String]")return new Date(NaN);var wt,jt=ut(Cn);if(jt.date){var zt=Qt(jt.date,zn);wt=pt(zt.restDateString,zt.year)}if(!wt||isNaN(wt.getTime()))return new Date(NaN);var pn,yn=wt.getTime(),Vn=0;if(jt.time&&(Vn=mt(jt.time),isNaN(Vn)))return new Date(NaN);if(!jt.timezone){var kn=new Date(yn+Vn),Gn=new Date(0);return Gn.setFullYear(kn.getUTCFullYear(),kn.getUTCMonth(),kn.getUTCDate()),Gn.setHours(kn.getUTCHours(),kn.getUTCMinutes(),kn.getUTCSeconds(),kn.getUTCMilliseconds()),Gn}return pn=Vt(jt.timezone),isNaN(pn)?new Date(NaN):new Date(yn+Vn+pn)}(sn);if(!function(Cn){if(rt(1,arguments),!Mt(Cn)&&typeof Cn!="number")return!1;var Nn=yt(Cn);return!isNaN(Number(Nn))}(bn))throw new Error(`Invalid ISO 8601 date string (${sn})`);return bn}const Zt=Math.pow(2,20),vt=Zt;var bt=_(2273),Wt=_(7207);function It(sn){return tt()(sn,{cycles:!0})}var Tt=function(sn,bn){var Cn={};for(var Nn in sn)Object.prototype.hasOwnProperty.call(sn,Nn)&&bn.indexOf(Nn)<0&&(Cn[Nn]=sn[Nn]);if(sn!=null&&typeof Object.getOwnPropertySymbols=="function"){var xn=0;for(Nn=Object.getOwnPropertySymbols(sn);xnCn?(0,Wt.E$)(zt):zt;if(!sn.stack)return{message:It(Nn(sn))};const{name:xn,message:zn,stack:wt}=sn,jt=Tt(sn,["name","message","stack"]);return{name:xn,message:zn!==void 0?zn:It(Nn(sn)),stack:wt,meta:jt&&Object.keys(jt).length===0?void 0:Nn(jt)}}function $t(sn,bn={}){const{message:Cn,stack:Nn,meta:xn}=_t(sn,bn);return`${Nn||Cn||""}${xn&&Object.keys(xn).length>0?" -- "+It(xn):""}`}const rn=(0,_(2964).A)();var Pt=_(6155),qt=_.n(Pt),ln=function(sn,bn,Cn,Nn){return new(Cn||(Cn=Promise))(function(xn,zn){function wt(pn){try{zt(Nn.next(pn))}catch(yn){zn(yn)}}function jt(pn){try{zt(Nn.throw(pn))}catch(yn){zn(yn)}}function zt(pn){var yn;pn.done?xn(pn.value):(yn=pn.value,yn instanceof Cn?yn:new Cn(function(Vn){Vn(yn)})).then(wt,jt)}zt((Nn=Nn.apply(sn,bn||[])).next())})},an=function(sn,bn){var Cn={};for(var Nn in sn)Object.prototype.hasOwnProperty.call(sn,Nn)&&bn.indexOf(Nn)<0&&(Cn[Nn]=sn[Nn]);if(sn!=null&&typeof Object.getOwnPropertySymbols=="function"){var xn=0;for(Nn=Object.getOwnPropertySymbols(sn);xn{var{timestamp:bn,level:Cn,message:Nn,error:xn}=sn,zn=Ht(sn,["timestamp","level","message","error"]);const wt=Object.assign(Object.assign({timestamp:bn?Yt(bn).getTime():new Date().getTime(),level:Cn.toUpperCase(),message:Nn},xn?{error:_t(xn)}:{}),{meta:Object.assign(Object.assign({},Un),zn)});return wt.message.length>1e5&&(console.log("Raw message: "+wt.message),wt.message=function(jt,zt){const{maxMessageLength:pn=1e5,truncatedMessageEndLength:yn=1e3}=zt??{};return jt.length>pn?`${jt.slice(0,pn-yn)} ... [TRUNCATED] ... ${jt.slice(-yn)}`:jt}(wt.message,{maxMessageLength:1e5,truncatedMessageEndLength:1e3})),tt()(wt,{cycles:!0})}):nt.format.printf(sn=>{var{timestamp:bn,level:Cn,message:Nn,error:xn}=sn,zn=Ht(sn,["timestamp","level","message","error"]);let wt=`${bn||new Date().toISOString()} ${Cn.toUpperCase()}: ${Nn} `;return Object.keys(zn).length>0&&(wt+=tt()(zn,{cycles:!0})),xn&&(wt+=` +`+$t(xn)),wt}),cn=(0,nt.createLogger)({level:bt.dm});if(cn.add(new nt.transports.Console({format:Sn,level:"debug"})),cn.transports.forEach(sn=>{sn.silent=!bt.Zm}),bt._P&&cn.add(new Gt(bt._P,Un)),bt.IW){const sn=$.resolve(j.tmpdir(),`silly-${bt.yA}.log`);cn.debug("Logging silly logs to file",{filename:sn}),cn.add(new nt.transports.File({filename:sn,maxsize:1*vt,maxFiles:10,format:nt.format.combine((fn="silly",(0,nt.format)(bn=>bn.level===fn&&bn)()),Sn),level:"silly"}))}var fn},3721:(o,s,_)=>{_.d(s,{e:()=>$});var j=_(4356);function $(et,tt,nt=()=>!0){if((0,j.x)(et,tt,nt))return et;throw et}},7207:(o,s,_)=>{_.d(s,{E$:()=>rt,x:()=>it});const j=new Set(["query","tagKey"].map(st=>st.toLowerCase())),$=["missing tag(s) to access this resource","expected one of:","maybe you meant:","in query:","while processing query","column"],et=["password","secret","token","key","buffer","authorization"],tt=new Set(["email","firstName","lastName","phoneNumber","phoneNumbers"]),nt=st=>et.some(Ut=>st.toLowerCase().includes(Ut.toLowerCase()))||tt.has(st);function rt(st,Ut=new WeakSet){return Ut.has(st)?"[ RECURSIVE ]":Array.isArray(st)?(Ut.add(st),st.map(Ft=>rt(Ft,Ut))):!(ct=st)||typeof ct!="object"&&typeof ct!="function"?typeof st=="string"&&!$.some(Ft=>st.toLowerCase().includes(Ft))&&nt(st)?"[ REDACTED ]":st:(Ut.add(st),Object.keys(st).reduce((Ft,ut)=>j.has(ut.toLowerCase())?(Ft[ut]=st[ut],Ft):(Ft[ut]=nt(ut)?"[ REDACTED ]":rt(st[ut],Ut),Ft),{}));var ct}const it=st=>{const Ut=JSON.stringify(st).replace(/\\"username\\":\\"([a-zA-Z0-9+=]+)\\"/gi,'\\"username\\":\\"\\"').replace(/\\"credential\\":\\"([a-zA-Z0-9+=]+)\\"/gi,'\\"credential\\":\\"\\"');return JSON.parse(Ut)}},3778:(o,s,_)=>{_.d(s,{p:()=>$});const j=864e5,$={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:j,week:6048e5,month:2592e6,year:31536e6}},2113:function(o,s,_){var j;o=_.nmd(o),function($){s&&s.nodeType,o&&o.nodeType;var et=typeof _.g=="object"&&_.g;et.global!==et&&et.window!==et&&et.self;var tt,nt=2147483647,rt=/^xn--/,it=/[^\x20-\x7E]/,st=/[\x2E\u3002\uFF0E\uFF61]/g,Ut={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},ct=Math.floor,Ft=String.fromCharCode;function ut(Ct){throw new RangeError(Ut[Ct])}function Qt(Ct,Mt){for(var yt=Ct.length,Yt=[];yt--;)Yt[yt]=Mt(Ct[yt]);return Yt}function pt(Ct,Mt){var yt=Ct.split("@"),Yt="";return yt.length>1&&(Yt=yt[0]+"@",Ct=yt[1]),Yt+Qt((Ct=Ct.replace(st,".")).split("."),Mt).join(".")}function ft(Ct){for(var Mt,yt,Yt=[],Zt=0,vt=Ct.length;Zt=55296&&Mt<=56319&&Zt65535&&(yt+=Ft((Mt-=65536)>>>10&1023|55296),Mt=56320|1023&Mt),yt+=Ft(Mt)}).join("")}function ht(Ct,Mt){return Ct+22+75*(Ct<26)-((Mt!=0)<<5)}function Vt(Ct,Mt,yt){var Yt=0;for(Ct=yt?ct(Ct/700):Ct>>1,Ct+=ct(Ct/Mt);Ct>455;Yt+=36)Ct=ct(Ct/35);return ct(Yt+36*Ct/(Ct+38))}function Rt(Ct){var Mt,yt,Yt,Zt,vt,bt,Wt,It,Tt,_t,$t,rn=[],Pt=Ct.length,qt=0,ln=128,an=72;for((yt=Ct.lastIndexOf("-"))<0&&(yt=0),Yt=0;Yt=128&&ut("not-basic"),rn.push(Ct.charCodeAt(Yt));for(Zt=yt>0?yt+1:0;Zt=Pt&&ut("invalid-input"),((It=($t=Ct.charCodeAt(Zt++))-48<10?$t-22:$t-65<26?$t-65:$t-97<26?$t-97:36)>=36||It>ct((nt-qt)/bt))&&ut("overflow"),qt+=It*bt,!(It<(Tt=Wt<=an?1:Wt>=an+26?26:Wt-an));Wt+=36)bt>ct(nt/(_t=36-Tt))&&ut("overflow"),bt*=_t;an=Vt(qt-vt,Mt=rn.length+1,vt==0),ct(qt/Mt)>nt-ln&&ut("overflow"),ln+=ct(qt/Mt),qt%=Mt,rn.splice(qt++,0,ln)}return mt(rn)}function Dt(Ct){var Mt,yt,Yt,Zt,vt,bt,Wt,It,Tt,_t,$t,rn,Pt,qt,ln,an=[];for(rn=(Ct=ft(Ct)).length,Mt=128,yt=0,vt=72,bt=0;bt=Mt&&$tct((nt-yt)/(Pt=Yt+1))&&ut("overflow"),yt+=(Wt-Mt)*Pt,Mt=Wt,bt=0;btnt&&ut("overflow"),$t==Mt){for(It=yt,Tt=36;!(It<(_t=Tt<=vt?1:Tt>=vt+26?26:Tt-vt));Tt+=36)ln=It-_t,qt=36-_t,an.push(Ft(ht(_t+ln%qt,0))),It=ct(ln/qt);an.push(Ft(ht(It,0))),vt=Vt(yt,Pt,Yt==Zt),yt=0,++Yt}++yt,++Mt}return an.join("")}tt={version:"1.4.1",ucs2:{decode:ft,encode:mt},decode:Rt,encode:Dt,toASCII:function(Ct){return pt(Ct,function(Mt){return it.test(Mt)?"xn--"+Dt(Mt):Mt})},toUnicode:function(Ct){return pt(Ct,function(Mt){return rt.test(Mt)?Rt(Mt.slice(4).toLowerCase()):Mt})}},(j=function(){return tt}.call(s,_,s,o))===void 0||(o.exports=j)}()},5442:(o,s,_)=>{var j=_(2113);function $(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var et=/^([a-z0-9.+-]+:)/i,tt=/:[0-9]*$/,nt=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,rt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` +`," "]),it=["'"].concat(rt),st=["%","/","?",";","#"].concat(it),Ut=["/","?","#"],ct=/^[+a-z0-9A-Z_-]{0,63}$/,Ft=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ut={javascript:!0,"javascript:":!0},Qt={javascript:!0,"javascript:":!0},pt={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},ft=_(5810);function mt(ht,Vt,Rt){if(ht&&typeof ht=="object"&&ht instanceof $)return ht;var Dt=new $;return Dt.parse(ht,Vt,Rt),Dt}$.prototype.parse=function(ht,Vt,Rt){if(typeof ht!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof ht);var Dt=ht.indexOf("?"),Ct=Dt!==-1&&Dt127?an+="x":an+=ln[Gt];if(!an.match(ct)){var Un=Pt.slice(0,_t),Sn=Pt.slice(_t+1),cn=ln.match(Ft);cn&&(Un.push(cn[1]),Sn.unshift(cn[2])),Sn.length&&(yt="/"+Sn.join(".")+yt),this.hostname=Un.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),rn||(this.hostname=j.toASCII(this.hostname));var fn=this.port?":"+this.port:"",sn=this.hostname||"";this.host=sn+fn,this.href+=this.host,rn&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),yt[0]!=="/"&&(yt="/"+yt))}if(!ut[vt])for(_t=0,qt=it.length;_t0)&&Rt.host.split("@"))&&(Rt.auth=cn.shift(),Rt.hostname=cn.shift(),Rt.host=Rt.hostname)),Rt.search=ht.search,Rt.query=ht.query,Rt.pathname===null&&Rt.search===null||(Rt.path=(Rt.pathname?Rt.pathname:"")+(Rt.search?Rt.search:"")),Rt.href=Rt.format(),Rt;if(!ln.length)return Rt.pathname=null,Rt.search?Rt.path="/"+Rt.search:Rt.path=null,Rt.href=Rt.format(),Rt;for(var Gt=ln.slice(-1)[0],Ht=(Rt.host||ht.host||ln.length>1)&&(Gt==="."||Gt==="..")||Gt==="",Un=0,Sn=ln.length;Sn>=0;Sn--)(Gt=ln[Sn])==="."?ln.splice(Sn,1):Gt===".."?(ln.splice(Sn,1),Un++):Un&&(ln.splice(Sn,1),Un--);if(!Pt&&!qt)for(;Un--;Un)ln.unshift("..");!Pt||ln[0]===""||ln[0]&&ln[0].charAt(0)==="/"||ln.unshift(""),Ht&&ln.join("/").substr(-1)!=="/"&&ln.push("");var cn,fn=ln[0]===""||ln[0]&&ln[0].charAt(0)==="/";return an&&(Rt.hostname=fn?"":ln.length?ln.shift():"",Rt.host=Rt.hostname,(cn=!!(Rt.host&&Rt.host.indexOf("@")>0)&&Rt.host.split("@"))&&(Rt.auth=cn.shift(),Rt.hostname=cn.shift(),Rt.host=Rt.hostname)),(Pt=Pt||Rt.host&&ln.length)&&!fn&&ln.unshift(""),ln.length>0?Rt.pathname=ln.join("/"):(Rt.pathname=null,Rt.path=null),Rt.pathname===null&&Rt.search===null||(Rt.path=(Rt.pathname?Rt.pathname:"")+(Rt.search?Rt.search:"")),Rt.auth=ht.auth||Rt.auth,Rt.slashes=Rt.slashes||ht.slashes,Rt.href=Rt.format(),Rt},$.prototype.parseHost=function(){var ht=this.host,Vt=tt.exec(ht);Vt&&((Vt=Vt[0])!==":"&&(this.port=Vt.substr(1)),ht=ht.substr(0,ht.length-Vt.length)),ht&&(this.hostname=ht)},s.parse=mt,s.resolve=function(ht,Vt){return mt(ht,!1,!0).resolve(Vt)},s.resolveObject=function(ht,Vt){return ht?mt(ht,!1,!0).resolveObject(Vt):Vt},s.format=function(ht){return typeof ht=="string"&&(ht=mt(ht)),ht instanceof $?ht.format():$.prototype.format.call(ht)},s.Url=$},6732:(o,s,_)=>{function j($){try{if(!_.g.localStorage)return!1}catch{return!1}var et=_.g.localStorage[$];return et!=null&&String(et).toLowerCase()==="true"}o.exports=function($,et){if(j("noDeprecation"))return $;var tt=!1;return function(){if(!tt){if(j("throwDeprecation"))throw new Error(et);j("traceDeprecation")?console.trace(et):console.warn(et),tt=!0}return $.apply(this,arguments)}}},5272:o=>{o.exports=function(s){return s&&typeof s=="object"&&typeof s.copy=="function"&&typeof s.fill=="function"&&typeof s.readUInt8=="function"}},1531:(o,s,_)=>{var j=_(5387),$=_(2625),et=_(2730),tt=_(5943);function nt(_t){return _t.call.bind(_t)}var rt=typeof BigInt<"u",it=typeof Symbol<"u",st=nt(Object.prototype.toString),Ut=nt(Number.prototype.valueOf),ct=nt(String.prototype.valueOf),Ft=nt(Boolean.prototype.valueOf);if(rt)var ut=nt(BigInt.prototype.valueOf);if(it)var Qt=nt(Symbol.prototype.valueOf);function pt(_t,$t){if(typeof _t!="object")return!1;try{return $t(_t),!0}catch{return!1}}function ft(_t){return st(_t)==="[object Map]"}function mt(_t){return st(_t)==="[object Set]"}function ht(_t){return st(_t)==="[object WeakMap]"}function Vt(_t){return st(_t)==="[object WeakSet]"}function Rt(_t){return st(_t)==="[object ArrayBuffer]"}function Dt(_t){return typeof ArrayBuffer<"u"&&(Rt.working?Rt(_t):_t instanceof ArrayBuffer)}function Ct(_t){return st(_t)==="[object DataView]"}function Mt(_t){return typeof DataView<"u"&&(Ct.working?Ct(_t):_t instanceof DataView)}s.isArgumentsObject=j,s.isGeneratorFunction=$,s.isTypedArray=tt,s.isPromise=function(_t){return typeof Promise<"u"&&_t instanceof Promise||_t!==null&&typeof _t=="object"&&typeof _t.then=="function"&&typeof _t.catch=="function"},s.isArrayBufferView=function(_t){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(_t):tt(_t)||Mt(_t)},s.isUint8Array=function(_t){return et(_t)==="Uint8Array"},s.isUint8ClampedArray=function(_t){return et(_t)==="Uint8ClampedArray"},s.isUint16Array=function(_t){return et(_t)==="Uint16Array"},s.isUint32Array=function(_t){return et(_t)==="Uint32Array"},s.isInt8Array=function(_t){return et(_t)==="Int8Array"},s.isInt16Array=function(_t){return et(_t)==="Int16Array"},s.isInt32Array=function(_t){return et(_t)==="Int32Array"},s.isFloat32Array=function(_t){return et(_t)==="Float32Array"},s.isFloat64Array=function(_t){return et(_t)==="Float64Array"},s.isBigInt64Array=function(_t){return et(_t)==="BigInt64Array"},s.isBigUint64Array=function(_t){return et(_t)==="BigUint64Array"},ft.working=typeof Map<"u"&&ft(new Map),s.isMap=function(_t){return typeof Map<"u"&&(ft.working?ft(_t):_t instanceof Map)},mt.working=typeof Set<"u"&&mt(new Set),s.isSet=function(_t){return typeof Set<"u"&&(mt.working?mt(_t):_t instanceof Set)},ht.working=typeof WeakMap<"u"&&ht(new WeakMap),s.isWeakMap=function(_t){return typeof WeakMap<"u"&&(ht.working?ht(_t):_t instanceof WeakMap)},Vt.working=typeof WeakSet<"u"&&Vt(new WeakSet),s.isWeakSet=function(_t){return Vt(_t)},Rt.working=typeof ArrayBuffer<"u"&&Rt(new ArrayBuffer),s.isArrayBuffer=Dt,Ct.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&Ct(new DataView(new ArrayBuffer(1),0,1)),s.isDataView=Mt;var yt=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function Yt(_t){return st(_t)==="[object SharedArrayBuffer]"}function Zt(_t){return yt!==void 0&&(Yt.working===void 0&&(Yt.working=Yt(new yt)),Yt.working?Yt(_t):_t instanceof yt)}function vt(_t){return pt(_t,Ut)}function bt(_t){return pt(_t,ct)}function Wt(_t){return pt(_t,Ft)}function It(_t){return rt&&pt(_t,ut)}function Tt(_t){return it&&pt(_t,Qt)}s.isSharedArrayBuffer=Zt,s.isAsyncFunction=function(_t){return st(_t)==="[object AsyncFunction]"},s.isMapIterator=function(_t){return st(_t)==="[object Map Iterator]"},s.isSetIterator=function(_t){return st(_t)==="[object Set Iterator]"},s.isGeneratorObject=function(_t){return st(_t)==="[object Generator]"},s.isWebAssemblyCompiledModule=function(_t){return st(_t)==="[object WebAssembly.Module]"},s.isNumberObject=vt,s.isStringObject=bt,s.isBooleanObject=Wt,s.isBigIntObject=It,s.isSymbolObject=Tt,s.isBoxedPrimitive=function(_t){return vt(_t)||bt(_t)||Wt(_t)||It(_t)||Tt(_t)},s.isAnyArrayBuffer=function(_t){return typeof Uint8Array<"u"&&(Dt(_t)||Zt(_t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(_t){Object.defineProperty(s,_t,{enumerable:!1,value:function(){throw new Error(_t+" is not supported in userland")}})})},9208:(o,s,_)=>{var j=Object.getOwnPropertyDescriptors||function(Tt){for(var _t=Object.keys(Tt),$t={},rn=0;rn<_t.length;rn++)$t[_t[rn]]=Object.getOwnPropertyDescriptor(Tt,_t[rn]);return $t},$=/%[sdj%]/g;s.format=function(Tt){if(!mt(Tt)){for(var _t=[],$t=0;$t=Pt)return an;switch(an){case"%s":return String(rn[$t++]);case"%d":return Number(rn[$t++]);case"%j":try{return JSON.stringify(rn[$t++])}catch{return"[Circular]"}default:return an}}),ln=rn[$t];$t"u")return function(){return s.deprecate(Tt,_t).apply(this,arguments)};var $t=!1;return function(){if(!$t){if(process$1.throwDeprecation)throw new Error(_t);process$1.traceDeprecation?console.trace(_t):console.error(_t),$t=!0}return Tt.apply(this,arguments)}};var et={},tt=/^$/;if({}.NODE_DEBUG){var nt={}.NODE_DEBUG;nt=nt.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),tt=new RegExp("^"+nt+"$","i")}function rt(Tt,_t){var $t={seen:[],stylize:st};return arguments.length>=3&&($t.depth=arguments[2]),arguments.length>=4&&($t.colors=arguments[3]),Qt(_t)?$t.showHidden=_t:_t&&s._extend($t,_t),ht($t.showHidden)&&($t.showHidden=!1),ht($t.depth)&&($t.depth=2),ht($t.colors)&&($t.colors=!1),ht($t.customInspect)&&($t.customInspect=!0),$t.colors&&($t.stylize=it),Ut($t,Tt,$t.depth)}function it(Tt,_t){var $t=rt.styles[_t];return $t?"\x1B["+rt.colors[$t][0]+"m"+Tt+"\x1B["+rt.colors[$t][1]+"m":Tt}function st(Tt,_t){return Tt}function Ut(Tt,_t,$t){if(Tt.customInspect&&_t&&Mt(_t.inspect)&&_t.inspect!==s.inspect&&(!_t.constructor||_t.constructor.prototype!==_t)){var rn=_t.inspect($t,Tt);return mt(rn)||(rn=Ut(Tt,rn,$t)),rn}var Pt=function(cn,fn){if(ht(fn))return cn.stylize("undefined","undefined");if(mt(fn)){var sn="'"+JSON.stringify(fn).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return cn.stylize(sn,"string")}if(ft(fn))return cn.stylize(""+fn,"number");if(Qt(fn))return cn.stylize(""+fn,"boolean");if(pt(fn))return cn.stylize("null","null")}(Tt,_t);if(Pt)return Pt;var qt=Object.keys(_t),ln=function(cn){var fn={};return cn.forEach(function(sn,bn){fn[sn]=!0}),fn}(qt);if(Tt.showHidden&&(qt=Object.getOwnPropertyNames(_t)),Ct(_t)&&(qt.indexOf("message")>=0||qt.indexOf("description")>=0))return ct(_t);if(qt.length===0){if(Mt(_t)){var an=_t.name?": "+_t.name:"";return Tt.stylize("[Function"+an+"]","special")}if(Vt(_t))return Tt.stylize(RegExp.prototype.toString.call(_t),"regexp");if(Dt(_t))return Tt.stylize(Date.prototype.toString.call(_t),"date");if(Ct(_t))return ct(_t)}var Gt,Ht="",Un=!1,Sn=["{","}"];return ut(_t)&&(Un=!0,Sn=["[","]"]),Mt(_t)&&(Ht=" [Function"+(_t.name?": "+_t.name:"")+"]"),Vt(_t)&&(Ht=" "+RegExp.prototype.toString.call(_t)),Dt(_t)&&(Ht=" "+Date.prototype.toUTCString.call(_t)),Ct(_t)&&(Ht=" "+ct(_t)),qt.length!==0||Un&&_t.length!=0?$t<0?Vt(_t)?Tt.stylize(RegExp.prototype.toString.call(_t),"regexp"):Tt.stylize("[Object]","special"):(Tt.seen.push(_t),Gt=Un?function(cn,fn,sn,bn,Cn){for(var Nn=[],xn=0,zn=fn.length;xn=0,bn+Cn.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?sn[0]+(fn===""?"":fn+` + `)+" "+cn.join(`, + `)+" "+sn[1]:sn[0]+fn+" "+cn.join(", ")+" "+sn[1]}(Gt,Ht,Sn)):Sn[0]+Ht+Sn[1]}function ct(Tt){return"["+Error.prototype.toString.call(Tt)+"]"}function Ft(Tt,_t,$t,rn,Pt,qt){var ln,an,Gt;if((Gt=Object.getOwnPropertyDescriptor(_t,Pt)||{value:_t[Pt]}).get?an=Gt.set?Tt.stylize("[Getter/Setter]","special"):Tt.stylize("[Getter]","special"):Gt.set&&(an=Tt.stylize("[Setter]","special")),bt(rn,Pt)||(ln="["+Pt+"]"),an||(Tt.seen.indexOf(Gt.value)<0?(an=pt($t)?Ut(Tt,Gt.value,null):Ut(Tt,Gt.value,$t-1)).indexOf(` +`)>-1&&(an=qt?an.split(` +`).map(function(Ht){return" "+Ht}).join(` +`).slice(2):` +`+an.split(` +`).map(function(Ht){return" "+Ht}).join(` +`)):an=Tt.stylize("[Circular]","special")),ht(ln)){if(qt&&Pt.match(/^\d+$/))return an;(ln=JSON.stringify(""+Pt)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(ln=ln.slice(1,-1),ln=Tt.stylize(ln,"name")):(ln=ln.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),ln=Tt.stylize(ln,"string"))}return ln+": "+an}function ut(Tt){return Array.isArray(Tt)}function Qt(Tt){return typeof Tt=="boolean"}function pt(Tt){return Tt===null}function ft(Tt){return typeof Tt=="number"}function mt(Tt){return typeof Tt=="string"}function ht(Tt){return Tt===void 0}function Vt(Tt){return Rt(Tt)&&yt(Tt)==="[object RegExp]"}function Rt(Tt){return typeof Tt=="object"&&Tt!==null}function Dt(Tt){return Rt(Tt)&&yt(Tt)==="[object Date]"}function Ct(Tt){return Rt(Tt)&&(yt(Tt)==="[object Error]"||Tt instanceof Error)}function Mt(Tt){return typeof Tt=="function"}function yt(Tt){return Object.prototype.toString.call(Tt)}function Yt(Tt){return Tt<10?"0"+Tt.toString(10):Tt.toString(10)}s.debuglog=function(Tt){if(Tt=Tt.toUpperCase(),!et[Tt])if(tt.test(Tt)){var _t=process$1.pid;et[Tt]=function(){var $t=s.format.apply(s,arguments);console.error("%s %d: %s",Tt,_t,$t)}}else et[Tt]=function(){};return et[Tt]},s.inspect=rt,rt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},rt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},s.types=_(1531),s.isArray=ut,s.isBoolean=Qt,s.isNull=pt,s.isNullOrUndefined=function(Tt){return Tt==null},s.isNumber=ft,s.isString=mt,s.isSymbol=function(Tt){return typeof Tt=="symbol"},s.isUndefined=ht,s.isRegExp=Vt,s.types.isRegExp=Vt,s.isObject=Rt,s.isDate=Dt,s.types.isDate=Dt,s.isError=Ct,s.types.isNativeError=Ct,s.isFunction=Mt,s.isPrimitive=function(Tt){return Tt===null||typeof Tt=="boolean"||typeof Tt=="number"||typeof Tt=="string"||typeof Tt=="symbol"||Tt===void 0},s.isBuffer=_(5272);var Zt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function vt(){var Tt=new Date,_t=[Yt(Tt.getHours()),Yt(Tt.getMinutes()),Yt(Tt.getSeconds())].join(":");return[Tt.getDate(),Zt[Tt.getMonth()],_t].join(" ")}function bt(Tt,_t){return Object.prototype.hasOwnProperty.call(Tt,_t)}s.log=function(){console.log("%s - %s",vt(),s.format.apply(s,arguments))},s.inherits=_(5615),s._extend=function(Tt,_t){if(!_t||!Rt(_t))return Tt;for(var $t=Object.keys(_t),rn=$t.length;rn--;)Tt[$t[rn]]=_t[$t[rn]];return Tt};var Wt=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function It(Tt,_t){if(!Tt){var $t=new Error("Promise was rejected with a falsy value");$t.reason=Tt,Tt=$t}return _t(Tt)}s.promisify=function(Tt){if(typeof Tt!="function")throw new TypeError('The "original" argument must be of type Function');if(Wt&&Tt[Wt]){var _t;if(typeof(_t=Tt[Wt])!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(_t,Wt,{value:_t,enumerable:!1,writable:!1,configurable:!0}),_t}function _t(){for(var $t,rn,Pt=new Promise(function(an,Gt){$t=an,rn=Gt}),qt=[],ln=0;ln{_.d(s,{A:()=>it});const j={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let $;const et=new Uint8Array(16);function tt(){if(!$&&($=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!$))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return $(et)}const nt=[];for(let st=0;st<256;++st)nt.push((st+256).toString(16).slice(1));function rt(st,Ut=0){return nt[st[Ut+0]]+nt[st[Ut+1]]+nt[st[Ut+2]]+nt[st[Ut+3]]+"-"+nt[st[Ut+4]]+nt[st[Ut+5]]+"-"+nt[st[Ut+6]]+nt[st[Ut+7]]+"-"+nt[st[Ut+8]]+nt[st[Ut+9]]+"-"+nt[st[Ut+10]]+nt[st[Ut+11]]+nt[st[Ut+12]]+nt[st[Ut+13]]+nt[st[Ut+14]]+nt[st[Ut+15]]}const it=function(st,Ut,ct){if(j.randomUUID&&!Ut&&!st)return j.randomUUID();const Ft=(st=st||{}).random||(st.rng||tt)();if(Ft[6]=15&Ft[6]|64,Ft[8]=63&Ft[8]|128,Ut){ct=ct||0;for(let ut=0;ut<16;++ut)Ut[ct+ut]=Ft[ut];return Ut}return rt(Ft)}},2730:(o,s,_)=>{var j=_(705),$=_(4834),et=_(8498),tt=_(9818),nt=_(9336),rt=tt("Object.prototype.toString"),it=_(1913)(),st=typeof globalThis>"u"?_.g:globalThis,Ut=$(),ct=tt("String.prototype.slice"),Ft=Object.getPrototypeOf,ut=tt("Array.prototype.indexOf",!0)||function(pt,ft){for(var mt=0;mt-1?ft:ft==="Object"&&function(mt){var ht=!1;return j(Qt,function(Vt,Rt){if(!ht)try{Vt(mt),ht=ct(Rt,1)}catch{}}),ht}(pt)}return nt?function(mt){var ht=!1;return j(Qt,function(Vt,Rt){if(!ht)try{"$"+Vt(mt)===Rt&&(ht=ct(Rt,1))}catch{}}),ht}(pt):null}},6155:(o,s,_)=>{o.exports=_(5700),o.exports.LegacyTransportStream=_(6668)},6668:(o,s,_)=>{var j=_(9208),$=_(4966).LEVEL,et=_(5700),tt=o.exports=function(){var nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(et.call(this,nt),!nt.transport||typeof nt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");function rt(it){this.emit("error",it,this.transport)}this.transport=nt.transport,this.level=this.level||nt.transport.level,this.handleExceptions=this.handleExceptions||nt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=rt.bind(this),this.transport.on("error",this.transport.__winstonError))};j.inherits(tt,et),tt.prototype._write=function(nt,rt,it){if(this.silent||nt.exception===!0&&!this.handleExceptions)return it(null);(!this.level||this.levels[this.level]>=this.levels[nt[$]])&&this.transport.log(nt[$],nt.message,nt,this._nop),it(null)},tt.prototype._writev=function(nt,rt){for(var it=0;it{var j=_(9208),$=_(5291),et=_(4966).LEVEL,tt=o.exports=function(){var nt=this,rt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};$.call(this,{objectMode:!0,highWaterMark:rt.highWaterMark}),this.format=rt.format,this.level=rt.level,this.handleExceptions=rt.handleExceptions,this.handleRejections=rt.handleRejections,this.silent=rt.silent,rt.log&&(this.log=rt.log),rt.logv&&(this.logv=rt.logv),rt.close&&(this.close=rt.close),this.once("pipe",function(it){nt.levels=it.levels,nt.parent=it}),this.once("unpipe",function(it){it===nt.parent&&(nt.parent=null,nt.close&&nt.close())})};j.inherits(tt,$),tt.prototype._write=function(nt,rt,it){if(this.silent||nt.exception===!0&&!this.handleExceptions)return it(null);var st=this.level||this.parent&&this.parent.level;if(!st||this.levels[st]>=this.levels[nt[et]]){if(nt&&!this.format)return this.log(nt,it);var Ut=void 0,ct=void 0;try{ct=this.format.transform(Object.assign({},nt),this.format.options)}catch(Ft){Ut=Ft}if(Ut||!ct){if(it(),Ut)throw Ut;return}return this.log(ct,it)}return this._writableState.sync=!1,it(null)},tt.prototype._writev=function(nt,rt){if(this.logv){var it=nt.filter(this._accept,this);return it.length?this.logv(it,rt):rt(null)}for(var st=0;st=this.levels[rt[et]])||!this.handleExceptions&&rt.exception===!0)},tt.prototype._nop=function(){}},1127:(o,s,_)=>{const j=_(9208),{LEVEL:$}=_(4966),et=_(4927),tt=o.exports=function(nt={}){if(et.call(this,nt),!nt.transport||typeof nt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");this.transport=nt.transport,this.level=this.level||nt.transport.level,this.handleExceptions=this.handleExceptions||nt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=function(rt){this.emit("error",rt,this.transport)}.bind(this),this.transport.on("error",this.transport.__winstonError))};j.inherits(tt,et),tt.prototype._write=function(nt,rt,it){if(this.silent||nt.exception===!0&&!this.handleExceptions)return it(null);(!this.level||this.levels[this.level]>=this.levels[nt[$]])&&this.transport.log(nt[$],nt.message,nt,this._nop),it(null)},tt.prototype._writev=function(nt,rt){for(let it=0;it{const j=_(9208),$=_(5291),{LEVEL:et}=_(4966),tt=o.exports=function(nt={}){$.call(this,{objectMode:!0,highWaterMark:nt.highWaterMark}),this.format=nt.format,this.level=nt.level,this.handleExceptions=nt.handleExceptions,this.handleRejections=nt.handleRejections,this.silent=nt.silent,nt.log&&(this.log=nt.log),nt.logv&&(this.logv=nt.logv),nt.close&&(this.close=nt.close),this.once("pipe",rt=>{this.levels=rt.levels,this.parent=rt}),this.once("unpipe",rt=>{rt===this.parent&&(this.parent=null,this.close&&this.close())})};j.inherits(tt,$),tt.prototype._write=function(nt,rt,it){if(this.silent||nt.exception===!0&&!this.handleExceptions)return it(null);const st=this.level||this.parent&&this.parent.level;if(!st||this.levels[st]>=this.levels[nt[et]]){if(nt&&!this.format)return this.log(nt,it);let Ut,ct;try{ct=this.format.transform(Object.assign({},nt),this.format.options)}catch(Ft){Ut=Ft}if(Ut||!ct){if(it(),Ut)throw Ut;return}return this.log(ct,it)}return this._writableState.sync=!1,it(null)},tt.prototype._writev=function(nt,rt){if(this.logv){const it=nt.filter(this._accept,this);return it.length?this.logv(it,rt):rt(null)}for(let it=0;it=this.levels[rt[et]])||!this.handleExceptions&&rt.exception===!0)},tt.prototype._nop=function(){}},6563:(o,s,_)=>{var j=_(8911),$=_(1735).warn;s.version=_(7241).version,s.transports=_(3307),s.config=_(9127),s.addColors=j.levels,s.format=j.format,s.createLogger=_(8727),s.Logger=_(2162),s.ExceptionHandler=_(8624),s.RejectionHandler=_(8846),s.Container=_(9456),s.Transport=_(6155),s.loggers=new s.Container;var et=s.createLogger();Object.keys(s.config.npm.levels).concat(["log","query","stream","add","remove","clear","profile","startTimer","handleExceptions","unhandleExceptions","handleRejections","unhandleRejections","configure","child"]).forEach(function(tt){return s[tt]=function(){return et[tt].apply(et,arguments)}}),Object.defineProperty(s,"level",{get:function(){return et.level},set:function(tt){et.level=tt}}),Object.defineProperty(s,"exceptions",{get:function(){return et.exceptions}}),Object.defineProperty(s,"rejections",{get:function(){return et.rejections}}),["exitOnError"].forEach(function(tt){Object.defineProperty(s,tt,{get:function(){return et[tt]},set:function(nt){et[tt]=nt}})}),Object.defineProperty(s,"default",{get:function(){return{exceptionHandlers:et.exceptionHandlers,rejectionHandlers:et.rejectionHandlers,transports:et.transports}}}),$.deprecated(s,"setLevels"),$.forFunctions(s,"useFormat",["cli"]),$.forProperties(s,"useFormat",["padLevels","stripColors"]),$.forFunctions(s,"deprecated",["addRewriter","addFilter","clone","extend"]),$.forProperties(s,"deprecated",["emitErrs","levelLength"])},1735:(o,s,_)=>{var j=_(9208).format;s.warn={deprecated:function($){return function(){throw new Error(j("{ %s } was removed in winston@3.0.0.",$))}},useFormat:function($){return function(){throw new Error([j("{ %s } was removed in winston@3.0.0.",$),"Use a custom winston.format = winston.format(function) instead."].join(` +`))}},forFunctions:function($,et,tt){tt.forEach(function(nt){$[nt]=s.warn[et](nt)})},forProperties:function($,et,tt){tt.forEach(function(nt){var rt=s.warn[et](nt);Object.defineProperty($,nt,{get:rt,set:rt})})}}},9127:(o,s,_)=>{var j=_(8911),$=_(4966).configs;s.cli=j.levels($.cli),s.npm=j.levels($.npm),s.syslog=j.levels($.syslog),s.addColors=j.levels},9456:(o,s,_)=>{function j(rt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(it){return typeof it}:function(it){return it&&typeof Symbol=="function"&&it.constructor===Symbol&&it!==Symbol.prototype?"symbol":typeof it})(rt)}function $(rt,it){if(!(rt instanceof it))throw new TypeError("Cannot call a class as a function")}function et(rt,it){for(var st=0;st0&&arguments[0]!==void 0?arguments[0]:{};$(this,Ut),this.loggers=new Map,this.options=ct},(it=[{key:"add",value:function(Ut,ct){var Ft=this;if(!this.loggers.has(Ut)){var ut=(ct=Object.assign({},ct||this.options)).transports||this.options.transports;ct.transports=ut?Array.isArray(ut)?ut.slice():[ut]:[];var Qt=nt(ct);Qt.on("close",function(){return Ft._delete(Ut)}),this.loggers.set(Ut,Qt)}return this.loggers.get(Ut)}},{key:"get",value:function(Ut,ct){return this.add(Ut,ct)}},{key:"has",value:function(Ut){return!!this.loggers.has(Ut)}},{key:"close",value:function(Ut){var ct=this;if(Ut)return this._removeLogger(Ut);this.loggers.forEach(function(Ft,ut){return ct._removeLogger(ut)})}},{key:"_removeLogger",value:function(Ut){this.loggers.has(Ut)&&(this.loggers.get(Ut).close(),this._delete(Ut))}},{key:"_delete",value:function(Ut){this.loggers.delete(Ut)}}])&&et(rt.prototype,it),st&&et(rt,st),Object.defineProperty(rt,"prototype",{writable:!1}),rt;var rt,it,st}()},8727:(o,s,_)=>{function j(ft){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(mt){return typeof mt}:function(mt){return mt&&typeof Symbol=="function"&&mt.constructor===Symbol&&mt!==Symbol.prototype?"symbol":typeof mt})(ft)}function $(ft,mt){for(var ht=0;ht0&&arguments[0]!==void 0?arguments[0]:{};ft.levels=ft.levels||Ft.npm.levels;var mt=function(Vt){function Rt(Dt){return nt(this,Rt),rt(this,Rt,[Dt])}return st(Rt,Vt),et(Rt)}(ut),ht=new mt(ft);return Object.keys(ft.levels).forEach(function(Vt){Qt('Define prototype method for "%s"',Vt),Vt!=="log"?(mt.prototype[Vt]=function(){for(var Rt=this||ht,Dt=arguments.length,Ct=new Array(Dt),Mt=0;Mt{function j(ct){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ft){return typeof Ft}:function(Ft){return Ft&&typeof Symbol=="function"&&Ft.constructor===Symbol&&Ft!==Symbol.prototype?"symbol":typeof Ft})(ct)}function $(ct,Ft){for(var ut=0;ut{function j(st){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ut){return typeof Ut}:function(Ut){return Ut&&typeof Symbol=="function"&&Ut.constructor===Symbol&&Ut!==Symbol.prototype?"symbol":typeof Ut})(st)}function $(st,Ut){for(var ct=0;ct{function j(Zt,vt,bt){return(vt=tt(vt))in Zt?Object.defineProperty(Zt,vt,{value:bt,enumerable:!0,configurable:!0,writable:!0}):Zt[vt]=bt,Zt}function $(Zt){return($=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(vt){return typeof vt}:function(vt){return vt&&typeof Symbol=="function"&&vt.constructor===Symbol&&vt!==Symbol.prototype?"symbol":typeof vt})(Zt)}function et(Zt,vt){for(var bt=0;bt0&&arguments[0]!==void 0?arguments[0]:{},$t=_t.silent,rn=_t.format,Pt=_t.defaultMeta,qt=_t.levels,ln=_t.level,an=ln===void 0?"info":ln,Gt=_t.exitOnError,Ht=Gt===void 0||Gt,Un=_t.transports,Sn=_t.colors,cn=_t.emitErrs,fn=_t.formatters,sn=_t.padLevels,bn=_t.rewriters,Cn=_t.stripColors,Nn=_t.exceptionHandlers,xn=_t.rejectionHandlers;if(this.transports.length&&this.clear(),this.silent=$t,this.format=rn||this.format||_(2598)(),this.defaultMeta=Pt||null,this.levels=qt||this.levels||Ct.npm.levels,this.level=an,this.exceptions&&this.exceptions.unhandle(),this.rejections&&this.rejections.unhandle(),this.exceptions=new mt(this),this.rejections=new ht(this),this.profilers={},this.exitOnError=Ht,Un&&(Un=Array.isArray(Un)?Un:[Un]).forEach(function(zn){return Tt.add(zn)}),Sn||cn||fn||sn||bn||Cn)throw new Error(["{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.","Use a custom winston.format(function) instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join(` +`));Nn&&this.exceptions.handle(Nn),xn&&this.rejections.handle(xn)}},{key:"isLevelEnabled",value:function(Tt){var _t=this,$t=Yt(this.levels,Tt);if($t===null)return!1;var rn=Yt(this.levels,this.level);return rn!==null&&(this.transports&&this.transports.length!==0?this.transports.findIndex(function(Pt){var qt=Yt(_t.levels,Pt.level);return qt===null&&(qt=rn),qt>=$t})!==-1:rn>=$t)}},{key:"log",value:function(Tt,_t){for(var $t=arguments.length,rn=new Array($t>2?$t-2:0),Pt=2;Pt<$t;Pt++)rn[Pt-2]=arguments[Pt];if(arguments.length===1)return Tt[Qt]=Tt.level,this._addDefaultMeta(Tt),this.write(Tt),this;if(arguments.length===2)return _t&&$(_t)==="object"?(_t[Qt]=_t.level=Tt,this._addDefaultMeta(_t),this.write(_t),this):(_t=j(j(j({},Qt,Tt),"level",Tt),"message",_t),this._addDefaultMeta(_t),this.write(_t),this);var qt=rn[0];if($(qt)==="object"&&qt!==null){var ln=_t&&_t.match&&_t.match(Mt);if(!ln){var an=Object.assign({},this.defaultMeta,qt,j(j(j(j({},Qt,Tt),pt,rn),"level",Tt),"message",_t));return qt.message&&(an.message="".concat(an.message," ").concat(qt.message)),qt.stack&&(an.stack=qt.stack),this.write(an),this}}return this.write(Object.assign({},this.defaultMeta,j(j(j(j({},Qt,Tt),pt,rn),"level",Tt),"message",_t))),this}},{key:"_transform",value:function(Tt,_t,$t){if(this.silent)return $t();Tt[Qt]||(Tt[Qt]=Tt.level),this.levels[Tt[Qt]]||this.levels[Tt[Qt]]===0||console.error("[winston] Unknown logger level: %s",Tt[Qt]),this._readableState.pipes||console.error("[winston] Attempt to write logs with no transports, which can increase memory usage: %j",Tt);try{this.push(this.format.transform(Tt,this.format.options))}finally{this._writableState.sync=!1,$t()}}},{key:"_final",value:function(Tt){var _t=this.transports.slice();Ft(_t,function($t,rn){if(!$t||$t.finished)return setImmediate(rn);$t.once("finish",rn),$t.end()},Tt)}},{key:"add",value:function(Tt){var _t=!ft(Tt)||Tt.log.length>2?new Vt({transport:Tt}):Tt;if(!_t._writableState||!_t._writableState.objectMode)throw new Error("Transports must WritableStreams in objectMode. Set { objectMode: true }.");return this._onEvent("error",_t),this._onEvent("warn",_t),this.pipe(_t),Tt.handleExceptions&&this.exceptions.handle(),Tt.handleRejections&&this.rejections.handle(),this}},{key:"remove",value:function(Tt){if(!Tt)return this;var _t=Tt;return(!ft(Tt)||Tt.log.length>2)&&(_t=this.transports.filter(function($t){return $t.transport===Tt})[0]),_t&&this.unpipe(_t),this}},{key:"clear",value:function(){return this.unpipe(),this}},{key:"close",value:function(){return this.exceptions.unhandle(),this.rejections.unhandle(),this.clear(),this.emit("close"),this}},{key:"setLevels",value:function(){Dt.deprecated("setLevels")}},{key:"query",value:function(Tt,_t){typeof Tt=="function"&&(_t=Tt,Tt={}),Tt=Tt||{};var $t={},rn=Object.assign({},Tt.query||{});Ft(this.transports.filter(function(Pt){return!!Pt.query}),function(Pt,qt){(function(ln,an){Tt.query&&typeof ln.formatQuery=="function"&&(Tt.query=ln.formatQuery(rn)),ln.query(Tt,function(Gt,Ht){if(Gt)return an(Gt);typeof ln.formatResults=="function"&&(Ht=ln.formatResults(Ht,Tt.format)),an(null,Ht)})})(Pt,function(ln,an){qt&&((an=ln||an)&&($t[Pt.name]=an),qt()),qt=null})},function(){return _t(null,$t)})}},{key:"stream",value:function(){var Tt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_t=new Ut,$t=[];return _t._streams=$t,_t.destroy=function(){for(var rn=$t.length;rn--;)$t[rn].destroy()},this.transports.filter(function(rn){return!!rn.stream}).forEach(function(rn){var Pt=rn.stream(Tt);Pt&&($t.push(Pt),Pt.on("log",function(qt){qt.transport=qt.transport||[],qt.transport.push(rn.name),_t.emit("log",qt)}),Pt.on("error",function(qt){qt.transport=qt.transport||[],qt.transport.push(rn.name),_t.emit("error",qt)}))}),_t}},{key:"startTimer",value:function(){return new Rt(this)}},{key:"profile",value:function(Tt){var _t=Date.now();if(this.profilers[Tt]){var $t=this.profilers[Tt];delete this.profilers[Tt];for(var rn=arguments.length,Pt=new Array(rn>1?rn-1:0),qt=1;qt{function j(nt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol=="function"&&rt.constructor===Symbol&&rt!==Symbol.prototype?"symbol":typeof rt})(nt)}function $(nt,rt){for(var it=0;it{function j(ct){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ft){return typeof Ft}:function(Ft){return Ft&&typeof Symbol=="function"&&Ft.constructor===Symbol&&Ft!==Symbol.prototype?"symbol":typeof Ft})(ct)}function $(ct,Ft){for(var ut=0;ut{function j(st){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ut){return typeof Ut}:function(Ut){return Ut&&typeof Symbol=="function"&&Ut.constructor===Symbol&&Ut!==Symbol.prototype?"symbol":typeof Ut})(st)}function $(st,Ut){for(var ct=0;ct{var j=_(2627),$=_(8888).StringDecoder,et=_(4156).Stream;function tt(){}o.exports=function(nt,rt){var it=Buffer.alloc(65536),st=new $("utf8"),Ut=new et,ct="",Ft=0,ut=0;return nt.start===-1&&delete nt.start,Ut.readable=!0,Ut.destroy=function(){Ut.destroyed=!0,Ut.emit("end"),Ut.emit("close")},j.open(nt.file,"a+","0644",function(Qt,pt){if(Qt)return rt?rt(Qt):Ut.emit("error",Qt),void Ut.destroy();(function ft(){if(!Ut.destroyed)return j.read(pt,it,0,it.length,Ft,function(mt,ht){if(mt)return rt?rt(mt):Ut.emit("error",mt),void Ut.destroy();if(!ht)return ct&&((nt.start==null||ut>nt.start)&&(rt?rt(null,ct):Ut.emit("line",ct)),ut++,ct=""),setTimeout(ft,1e3);var Vt=st.write(it.slice(0,ht));rt||Ut.emit("data",Vt);for(var Rt=(Vt=(ct+Vt).split(/\n+/)).length-1,Dt=0;Dtnt.start)&&(rt?rt(null,Vt[Dt]):Ut.emit("line",Vt[Dt])),ut++;return ct=Vt[Rt],Ft+=ht,ft()});j.close(pt,tt)})()}),rt?Ut.destroy:Ut}},810:(o,s,_)=>{function j(Qt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(pt){return typeof pt}:function(pt){return pt&&typeof Symbol=="function"&&pt.constructor===Symbol&&pt!==Symbol.prototype?"symbol":typeof pt})(Qt)}function $(Qt,pt){if(!(Qt instanceof pt))throw new TypeError("Cannot call a class as a function")}function et(Qt,pt){for(var ft=0;ft0&&arguments[0]!==void 0?arguments[0]:{};return $(this,pt),(Vt=nt(this,pt,[Rt])).name=Rt.name||"console",Vt.stderrLevels=Vt._stringArrayToSet(Rt.stderrLevels),Vt.consoleWarnLevels=Vt._stringArrayToSet(Rt.consoleWarnLevels),Vt.eol=typeof Rt.eol=="string"?Rt.eol:st.EOL,Vt.forceConsole=Rt.forceConsole||!1,Vt._consoleLog=console.log.bind(console),Vt._consoleWarn=console.warn.bind(console),Vt._consoleError=console.error.bind(console),Vt.setMaxListeners(30),Vt}return function(Vt,Rt){if(typeof Rt!="function"&&Rt!==null)throw new TypeError("Super expression must either be null or a function");Vt.prototype=Object.create(Rt&&Rt.prototype,{constructor:{value:Vt,writable:!0,configurable:!0}}),Object.defineProperty(Vt,"prototype",{writable:!1}),Rt&&it(Vt,Rt)}(pt,Qt),ft=pt,(mt=[{key:"log",value:function(Vt,Rt){var Dt=this;return setImmediate(function(){return Dt.emit("logged",Vt)}),this.stderrLevels[Vt[ct]]?(console._stderr&&!this.forceConsole?console._stderr.write("".concat(Vt[Ft]).concat(this.eol)):this._consoleError(Vt[Ft]),void(Rt&&Rt())):this.consoleWarnLevels[Vt[ct]]?(console._stderr&&!this.forceConsole?console._stderr.write("".concat(Vt[Ft]).concat(this.eol)):this._consoleWarn(Vt[Ft]),void(Rt&&Rt())):(console._stdout&&!this.forceConsole?console._stdout.write("".concat(Vt[Ft]).concat(this.eol)):this._consoleLog(Vt[Ft]),void(Rt&&Rt()))}},{key:"_stringArrayToSet",value:function(Vt,Rt){if(!Vt)return{};if(Rt=Rt||"Cannot make set from type other than Array of string elements",!Array.isArray(Vt))throw new Error(Rt);return Vt.reduce(function(Dt,Ct){if(typeof Ct!="string")throw new Error(Rt);return Dt[Ct]=!0,Dt},{})}}])&&et(ft.prototype,mt),ht&&et(ft,ht),Object.defineProperty(ft,"prototype",{writable:!1}),ft;var ft,mt,ht}(ut)},3329:(o,s,_)=>{function j(Dt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ct){return typeof Ct}:function(Ct){return Ct&&typeof Symbol=="function"&&Ct.constructor===Symbol&&Ct!==Symbol.prototype?"symbol":typeof Ct})(Dt)}function $(Dt,Ct){if(!(Dt instanceof Ct))throw new TypeError("Cannot call a class as a function")}function et(Dt,Ct){for(var Mt=0;Mt0&&arguments[0]!==void 0?arguments[0]:{};function bt(Wt){for(var It=arguments.length,Tt=new Array(It>1?It-1:0),_t=1;_t1&&arguments[1]!==void 0?arguments[1]:function(){};if(this.silent)return bt(),!0;if(this._drain)this._stream.once("drain",function(){vt._drain=!1,vt.log(Zt,bt)});else{if(!this._rotate){if(this.lazy){if(!this._fileExist)return this._opening||this.open(),void this.once("open",function(){vt._fileExist=!0,vt.log(Zt,bt)});if(this._needsNewFile(this._pendingSize))return void this._dest.once("close",function(){vt._opening||vt.open(),vt.once("open",function(){vt.log(Zt,bt)})})}var Wt="".concat(Zt[ut]).concat(this.eol),It=Buffer.byteLength(Wt);this._pendingSize+=It,this._opening&&!this.rotatedWhileOpening&&this._needsNewFile(this._size+this._pendingSize)&&(this.rotatedWhileOpening=!0);var Tt=this._stream.write(Wt,_t.bind(this));return Tt?bt():(this._drain=!0,this._stream.once("drain",function(){vt._drain=!1,bt()})),ht("written",Tt,this._drain),this.finishIfEnding(),Tt}this._stream.once("rotate",function(){vt._rotate=!1,vt.log(Zt,bt)})}function _t(){var $t=this;this._size+=It,this._pendingSize-=It,ht("logged %s %s",this._size,Wt),this.emit("logged",Zt),this._rotate||this._opening||this._needsNewFile()&&(this.lazy?this._endStream(function(){$t.emit("fileclosed")}):(this._rotate=!0,this._endStream(function(){return $t._rotateFile()})))}}},{key:"query",value:function(Zt,vt){typeof Zt=="function"&&(vt=Zt,Zt={}),Zt=function(rn){return(rn=rn||{}).rows=rn.rows||rn.limit||10,rn.start=rn.start||0,rn.until=rn.until||new Date,j(rn.until)!=="object"&&(rn.until=new Date(rn.until)),rn.from=rn.from||rn.until-864e5,j(rn.from)!=="object"&&(rn.from=new Date(rn.from)),rn.order=rn.order||"desc",rn}(Zt);var bt=Ut.join(this.dirname,this.filename),Wt="",It=[],Tt=0,_t=st.createReadStream(bt,{encoding:"utf8"});function $t(rn,Pt){try{var qt=JSON.parse(rn);(function(ln){if(ln&&j(ln)==="object"){var an=new Date(ln.timestamp);if(!(Zt.from&&anZt.until||Zt.level&&Zt.level!==ln.level))return!0}})(qt)&&function(ln){Zt.rows&&It.length>=Zt.rows&&Zt.order!=="desc"?_t.readable&&_t.destroy():(Zt.fields&&(ln=Zt.fields.reduce(function(an,Gt){return an[Gt]=ln[Gt],an},{})),Zt.order==="desc"&&It.length>=Zt.rows&&It.shift(),It.push(ln))}(qt)}catch(ln){Pt||_t.emit("error",ln)}}_t.on("error",function(rn){if(_t.readable&&_t.destroy(),vt)return rn.code!=="ENOENT"?vt(rn):vt(null,It)}),_t.on("data",function(rn){for(var Pt=(rn=(Wt+rn).split(/\n+/)).length-1,qt=0;qt=Zt.start)&&$t(rn[qt]),Tt++;Wt=rn[Pt]}),_t.on("close",function(){Wt&&$t(Wt,!0),Zt.order==="desc"&&(It=It.reverse()),vt&&vt(null,It)})}},{key:"stream",value:function(){var Zt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},vt=Ut.join(this.dirname,this.filename),bt=new pt,Wt={file:vt,start:Zt.start};return bt.destroy=Rt(Wt,function(It,Tt){if(It)return bt.emit("error",It);try{bt.emit("data",Tt),Tt=JSON.parse(Tt),bt.emit("log",Tt)}catch(_t){bt.emit("error",_t)}}),bt}},{key:"open",value:function(){var Zt=this;this.filename&&(this._opening||(this._opening=!0,this.stat(function(vt,bt){if(vt)return Zt.emit("error",vt);ht("stat done: %s { size: %s }",Zt.filename,bt),Zt._size=bt,Zt._dest=Zt._createStream(Zt._stream),Zt._opening=!1,Zt.once("open",function(){Zt._stream.emit("rotate")||(Zt._rotate=!1)})})))}},{key:"stat",value:function(Zt){var vt=this,bt=this._getFile(),Wt=Ut.join(this.dirname,bt);st.stat(Wt,function(It,Tt){return It&&It.code==="ENOENT"?(ht("ENOENT ok",Wt),vt.filename=bt,Zt(null,0)):It?(ht("err ".concat(It.code," ").concat(Wt)),Zt(It)):!Tt||vt._needsNewFile(Tt.size)?vt._incFile(function(){return vt.stat(Zt)}):(vt.filename=bt,void Zt(null,Tt.size))})}},{key:"close",value:function(Zt){var vt=this;this._stream&&this._stream.end(function(){Zt&&Zt(),vt.emit("flush"),vt.emit("closed")})}},{key:"_needsNewFile",value:function(Zt){return Zt=Zt||this._size,this.maxsize&&Zt>=this.maxsize}},{key:"_onError",value:function(Zt){this.emit("error",Zt)}},{key:"_setupStream",value:function(Zt){return Zt.on("error",this._onError),Zt}},{key:"_cleanupStream",value:function(Zt){return Zt.removeListener("error",this._onError),Zt.destroy(),Zt}},{key:"_rotateFile",value:function(){var Zt=this;this._incFile(function(){return Zt.open()})}},{key:"_endStream",value:function(){var Zt=this,vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){};this._dest?(this._stream.unpipe(this._dest),this._dest.end(function(){Zt._cleanupStream(Zt._dest),vt()})):vt()}},{key:"_createStream",value:function(Zt){var vt=this,bt=Ut.join(this.dirname,this.filename);ht("create stream start",bt,this.options);var Wt=st.createWriteStream(bt,this.options).on("error",function(It){return ht(It)}).on("close",function(){return ht("close",Wt.path,Wt.bytesWritten)}).on("open",function(){ht("file open ok",bt),vt.emit("open",bt),Zt.pipe(Wt),vt.rotatedWhileOpening&&(vt._stream=new ft,vt._stream.setMaxListeners(30),vt._rotateFile(),vt.rotatedWhileOpening=!1,vt._cleanupStream(Wt),Zt.end())});return ht("create stream ok",bt),Wt}},{key:"_incFile",value:function(Zt){ht("_incFile",this.filename);var vt=Ut.extname(this._basename),bt=Ut.basename(this._basename,vt),Wt=[];this.zippedArchive&&Wt.push(function(It){var Tt=this._created>0&&!this.tailable?this._created:"";this._compressFile(Ut.join(this.dirname,"".concat(bt).concat(Tt).concat(vt)),Ut.join(this.dirname,"".concat(bt).concat(Tt).concat(vt,".gz")),It)}.bind(this)),Wt.push(function(It){this.tailable?this._checkMaxFilesTailable(vt,bt,It):(this._created+=1,this._checkMaxFilesIncrementing(vt,bt,It))}.bind(this)),ct(Wt,Zt)}},{key:"_getFile",value:function(){var Zt=Ut.extname(this._basename),vt=Ut.basename(this._basename,Zt),bt=this.rotationFormat?this.rotationFormat():this._created;return!this.tailable&&this._created?"".concat(vt).concat(bt).concat(Zt):"".concat(vt).concat(Zt)}},{key:"_checkMaxFilesIncrementing",value:function(Zt,vt,bt){if(!this.maxFiles||this._created1;_t--)It.push(function($t,rn){var Pt=this,qt="".concat(vt).concat($t-1).concat(Zt).concat(Tt),ln=Ut.join(this.dirname,qt);st.exists(ln,function(an){if(!an)return rn(null);qt="".concat(vt).concat($t).concat(Zt).concat(Tt),st.rename(ln,Ut.join(Pt.dirname,qt),rn)})}.bind(this,_t));ct(It,function(){st.rename(Ut.join(Wt.dirname,"".concat(vt).concat(Zt).concat(Tt)),Ut.join(Wt.dirname,"".concat(vt,"1").concat(Zt).concat(Tt)),bt)})}}},{key:"_compressFile",value:function(Zt,vt,bt){st.access(Zt,st.F_OK,function(Wt){if(Wt)return bt();var It=Ft.createGzip(),Tt=st.createReadStream(Zt),_t=st.createWriteStream(vt);_t.on("finish",function(){st.unlink(Zt,bt)}),Tt.pipe(It).pipe(_t)})}},{key:"_createLogDirIfNotExist",value:function(Zt){st.existsSync(Zt)||st.mkdirSync(Zt,{recursive:!0})}}])&&et(Mt.prototype,yt),Yt&&et(Mt,Yt),Object.defineProperty(Mt,"prototype",{writable:!1}),Mt;var Mt,yt,Yt}(mt)},7543:(o,s,_)=>{function j(mt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ht){return typeof ht}:function(ht){return ht&&typeof Symbol=="function"&&ht.constructor===Symbol&&ht!==Symbol.prototype?"symbol":typeof ht})(mt)}function $(mt,ht){var Vt=Object.keys(mt);if(Object.getOwnPropertySymbols){var Rt=Object.getOwnPropertySymbols(mt);ht&&(Rt=Rt.filter(function(Dt){return Object.getOwnPropertyDescriptor(mt,Dt).enumerable})),Vt.push.apply(Vt,Rt)}return Vt}function et(mt){for(var ht=1;ht0&&arguments[0]!==void 0?arguments[0]:{};return nt(this,ht),(Ct=st(this,ht,[Mt])).options=Mt,Ct.name=Mt.name||"http",Ct.ssl=!!Mt.ssl,Ct.host=Mt.host||"localhost",Ct.port=Mt.port,Ct.auth=Mt.auth,Ct.path=Mt.path||"",Ct.maximumDepth=Mt.maximumDepth,Ct.agent=Mt.agent,Ct.headers=Mt.headers||{},Ct.headers["content-type"]="application/json",Ct.batch=Mt.batch||!1,Ct.batchInterval=Mt.batchInterval||5e3,Ct.batchCount=Mt.batchCount||10,Ct.batchOptions=[],Ct.batchTimeoutID=-1,Ct.batchCallback={},Ct.port||(Ct.port=Ct.ssl?443:80),Ct}return function(Ct,Mt){if(typeof Mt!="function"&&Mt!==null)throw new TypeError("Super expression must either be null or a function");Ct.prototype=Object.create(Mt&&Mt.prototype,{constructor:{value:Ct,writable:!0,configurable:!0}}),Object.defineProperty(Ct,"prototype",{writable:!1}),Mt&&ct(Ct,Mt)}(ht,mt),Vt=ht,(Rt=[{key:"log",value:function(Ct,Mt){var yt=this;this._request(Ct,null,null,function(Yt,Zt){Zt&&Zt.statusCode!==200&&(Yt=new Error("Invalid HTTP Status Code: ".concat(Zt.statusCode))),Yt?yt.emit("warn",Yt):yt.emit("logged",Ct)}),Mt&&setImmediate(Mt)}},{key:"query",value:function(Ct,Mt){typeof Ct=="function"&&(Mt=Ct,Ct={});var yt=(Ct={method:"query",params:this.normalizeQuery(Ct)}).params.auth||null;delete Ct.params.auth;var Yt=Ct.params.path||null;delete Ct.params.path,this._request(Ct,yt,Yt,function(Zt,vt,bt){if(vt&&vt.statusCode!==200&&(Zt=new Error("Invalid HTTP Status Code: ".concat(vt.statusCode))),Zt)return Mt(Zt);if(typeof bt=="string")try{bt=JSON.parse(bt)}catch(Wt){return Mt(Wt)}Mt(null,bt)})}},{key:"stream",value:function(){var Ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Mt=new Qt,yt=(Ct={method:"stream",params:Ct}).params.path||null;delete Ct.params.path;var Yt=Ct.params.auth||null;delete Ct.params.auth;var Zt="",vt=this._request(Ct,Yt,yt);return Mt.destroy=function(){return vt.destroy()},vt.on("data",function(bt){for(var Wt=(bt=(Zt+bt).split(/\n+/)).length-1,It=0;It0&&(clearTimeout(this.batchTimeoutID),this.batchTimeoutID=-1);var Yt=this.batchOptions.slice();this.batchOptions=[],this._doRequest(Yt,Ct,Mt,yt)}},{key:"_doRequest",value:function(Ct,Mt,yt,Yt){var Zt=Object.assign({},this.headers);yt&&yt.bearer&&(Zt.Authorization="Bearer ".concat(yt.bearer));var vt=(this.ssl?ut:Ft).request(et(et({},this.options),{},{method:"POST",host:this.host,port:this.port,path:"/".concat(Yt.replace(/^\//,"")),headers:Zt,auth:yt&&yt.username&&yt.password?"".concat(yt.username,":").concat(yt.password):"",agent:this.agent}));vt.on("error",Mt),vt.on("response",function(Wt){return Wt.on("end",function(){return Mt(null,Wt)}).resume()});var bt=ft(et({},this.maximumDepth&&{maximumDepth:this.maximumDepth}));vt.end(Buffer.from(bt(Ct,this.options.replacer),"utf8"))}}])&&rt(Vt.prototype,Rt),Dt&&rt(Vt,Dt),Object.defineProperty(Vt,"prototype",{writable:!1}),Vt;var Vt,Rt,Dt}(pt)},3307:(o,s,_)=>{Object.defineProperty(s,"Console",{configurable:!0,enumerable:!0,get:function(){return _(810)}}),Object.defineProperty(s,"File",{configurable:!0,enumerable:!0,get:function(){return _(3329)}}),Object.defineProperty(s,"Http",{configurable:!0,enumerable:!0,get:function(){return _(7543)}}),Object.defineProperty(s,"Stream",{configurable:!0,enumerable:!0,get:function(){return _(4149)}})},4149:(o,s,_)=>{function j(ut){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Qt){return typeof Qt}:function(Qt){return Qt&&typeof Symbol=="function"&&Qt.constructor===Symbol&&Qt!==Symbol.prototype?"symbol":typeof Qt})(ut)}function $(ut,Qt){if(!(ut instanceof Qt))throw new TypeError("Cannot call a class as a function")}function et(ut,Qt){for(var pt=0;pt0&&arguments[0]!==void 0?arguments[0]:{};if($(this,Qt),ht=nt(this,Qt,[Vt]),!Vt.stream||!st(Vt.stream))throw new Error("options.stream is required.");return ht._stream=Vt.stream,ht._stream.setMaxListeners(1/0),ht.isObjectMode=Vt.stream._writableState.objectMode,ht.eol=typeof Vt.eol=="string"?Vt.eol:ct.EOL,ht}return function(ht,Vt){if(typeof Vt!="function"&&Vt!==null)throw new TypeError("Super expression must either be null or a function");ht.prototype=Object.create(Vt&&Vt.prototype,{constructor:{value:ht,writable:!0,configurable:!0}}),Object.defineProperty(ht,"prototype",{writable:!1}),Vt&&it(ht,Vt)}(Qt,ut),pt=Qt,(ft=[{key:"log",value:function(ht,Vt){var Rt=this;if(setImmediate(function(){return Rt.emit("logged",ht)}),this.isObjectMode)return this._stream.write(ht),void(Vt&&Vt());this._stream.write("".concat(ht[Ut]).concat(this.eol)),Vt&&Vt()}}])&&et(pt.prototype,ft),mt&&et(pt,mt),Object.defineProperty(pt,"prototype",{writable:!1}),pt;var pt,ft,mt}(Ft)},3227:o=>{o.exports=function(){for(var _={},j=0;j{const j={};j.web=_(5949),_(8052);const $={v1:{}};$.v1.signaling={},$.v1.signaling.api=_(4620),$.v1.signaling.api.SignalingClient=function(ut,Qt,pt){pt||(pt={}),pt.format="text",this.client_=new j.web.GrpcWebClientBase(pt),this.hostname_=ut.replace(/\/+$/,"")},$.v1.signaling.api.SignalingPromiseClient=function(ut,Qt,pt){pt||(pt={}),pt.format="text",this.client_=new j.web.GrpcWebClientBase(pt),this.hostname_=ut.replace(/\/+$/,"")};const et=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/GetHealth",j.web.MethodType.UNARY,$.v1.signaling.api.GetHealthRequest,$.v1.signaling.api.GetHealthResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.GetHealthResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.getHealth=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/GetHealth",ut,Qt||{},et,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.getHealth=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/GetHealth",ut,Qt||{},et)};const tt=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/CreatePeer",j.web.MethodType.UNARY,$.v1.signaling.api.CreatePeerRequest,$.v1.signaling.api.CreatePeerResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.CreatePeerResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.createPeer=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/CreatePeer",ut,Qt||{},tt,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.createPeer=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/CreatePeer",ut,Qt||{},tt)};const nt=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/DeletePeer",j.web.MethodType.UNARY,$.v1.signaling.api.DeletePeerRequest,$.v1.signaling.api.DeletePeerResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.DeletePeerResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.deletePeer=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/DeletePeer",ut,Qt||{},nt,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.deletePeer=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/DeletePeer",ut,Qt||{},nt)};const rt=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/RefreshPeer",j.web.MethodType.UNARY,$.v1.signaling.api.RefreshPeerRequest,$.v1.signaling.api.RefreshPeerResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.RefreshPeerResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.refreshPeer=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/RefreshPeer",ut,Qt||{},rt,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.refreshPeer=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/RefreshPeer",ut,Qt||{},rt)};const it=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/GetPeers",j.web.MethodType.UNARY,$.v1.signaling.api.GetPeersRequest,$.v1.signaling.api.GetPeersResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.GetPeersResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.getPeers=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/GetPeers",ut,Qt||{},it,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.getPeers=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/GetPeers",ut,Qt||{},it)};const st=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/GetIceServers",j.web.MethodType.UNARY,$.v1.signaling.api.GetIceServersRequest,$.v1.signaling.api.GetIceServersResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.GetIceServersResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.getIceServers=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/GetIceServers",ut,Qt||{},st,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.getIceServers=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/GetIceServers",ut,Qt||{},st)};const Ut=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/SendSignal",j.web.MethodType.UNARY,$.v1.signaling.api.SendSignalRequest,$.v1.signaling.api.SendSignalResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.SendSignalResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.sendSignal=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/SendSignal",ut,Qt||{},Ut,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.sendSignal=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/SendSignal",ut,Qt||{},Ut)};const ct=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/ReceiveSignalStream",j.web.MethodType.SERVER_STREAMING,$.v1.signaling.api.ReceiveSignalStreamRequest,$.v1.signaling.api.ReceiveSignalStreamResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.receiveSignalStream=function(ut,Qt){return this.client_.serverStreaming(this.hostname_+"/v1.signaling.api.Signaling/ReceiveSignalStream",ut,Qt||{},ct)},$.v1.signaling.api.SignalingPromiseClient.prototype.receiveSignalStream=function(ut,Qt){return this.client_.serverStreaming(this.hostname_+"/v1.signaling.api.Signaling/ReceiveSignalStream",ut,Qt||{},ct)};const Ft=new j.web.MethodDescriptor("/v1.signaling.api.Signaling/GetSessions",j.web.MethodType.UNARY,$.v1.signaling.api.GetSessionsRequest,$.v1.signaling.api.GetSessionsResponse,function(ut){return ut.serializeBinary()},$.v1.signaling.api.GetSessionsResponse.deserializeBinary);$.v1.signaling.api.SignalingClient.prototype.getSessions=function(ut,Qt,pt){return this.client_.rpcCall(this.hostname_+"/v1.signaling.api.Signaling/GetSessions",ut,Qt||{},Ft,pt)},$.v1.signaling.api.SignalingPromiseClient.prototype.getSessions=function(ut,Qt){return this.client_.unaryCall(this.hostname_+"/v1.signaling.api.Signaling/GetSessions",ut,Qt||{},Ft)},o.exports=$.v1.signaling.api},4620:(o,s,_)=>{var j=_(7186),$=j,et=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||et!==void 0&&et||typeof self<"u"&&self||function(){return this}.call(null)||Function("return this")(),tt=_(8052);$.object.extend(proto,tt),$.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,et),$.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,et),$.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,et),$.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,et),$.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,et),$.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,et),$.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,et),$.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,et),$.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,et),$.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,et),$.exportSymbol("proto.v1.signaling.api.GetSessionsRequest",null,et),$.exportSymbol("proto.v1.signaling.api.GetSessionsResponse",null,et),$.exportSymbol("proto.v1.signaling.api.Peer",null,et),$.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,et),$.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,et),$.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,et),$.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,et),$.exportSymbol("proto.v1.signaling.api.RtcSession",null,et),$.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,et),$.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,et),$.exportSymbol("proto.v1.signaling.api.SessionType",null,et),$.exportSymbol("proto.v1.signaling.api.Signal",null,et),proto.v1.signaling.api.Peer=function(nt){j.Message.initialize(this,nt,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.Peer,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.Signal,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.RtcSession=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RtcSession,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RtcSession.displayName="proto.v1.signaling.api.RtcSession"),proto.v1.signaling.api.GetSessionsRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetSessionsRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsRequest.displayName="proto.v1.signaling.api.GetSessionsRequest"),proto.v1.signaling.api.GetSessionsResponse=function(nt){j.Message.initialize(this,nt,0,-1,proto.v1.signaling.api.GetSessionsResponse.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.GetSessionsResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsResponse.displayName="proto.v1.signaling.api.GetSessionsResponse"),proto.v1.signaling.api.GetHealthRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetHealthRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetHealthResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.CreatePeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.CreatePeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.DeletePeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.DeletePeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RefreshPeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RefreshPeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetPeersRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(nt){j.Message.initialize(this,nt,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.GetPeersResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetIceServersRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetIceServersResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.SendSignalRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.SendSignalResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(nt){j.Message.initialize(this,nt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(nt){return proto.v1.signaling.api.Peer.toObject(nt,this)},proto.v1.signaling.api.Peer.toObject=function(nt,rt){var it,st={peerId:j.Message.getFieldWithDefault(rt,1,""),organizationId:j.Message.getFieldWithDefault(rt,2,""),userId:(it=rt.getUserId())&&tt.StringValue.toObject(nt,it),deviceId:(it=rt.getDeviceId())&&tt.StringValue.toObject(nt,it),sessionIdsList:(it=j.Message.getRepeatedField(rt,5))==null?void 0:it,peerCreatedTimestamp:(it=rt.getPeerCreatedTimestamp())&&tt.Int64Value.toObject(nt,it)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.Peer.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=rt.readString();nt.setPeerId(it);break;case 2:it=rt.readString(),nt.setOrganizationId(it);break;case 3:it=new tt.StringValue,rt.readMessage(it,tt.StringValue.deserializeBinaryFromReader),nt.setUserId(it);break;case 4:it=new tt.StringValue,rt.readMessage(it,tt.StringValue.deserializeBinaryFromReader),nt.setDeviceId(it);break;case 5:it=rt.readString(),nt.addSessionIds(it);break;case 6:it=new tt.Int64Value,rt.readMessage(it,tt.Int64Value.deserializeBinaryFromReader),nt.setPeerCreatedTimestamp(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(nt,rt){var it=void 0;(it=nt.getPeerId()).length>0&&rt.writeString(1,it),(it=nt.getOrganizationId()).length>0&&rt.writeString(2,it),(it=nt.getUserId())!=null&&rt.writeMessage(3,it,tt.StringValue.serializeBinaryToWriter),(it=nt.getDeviceId())!=null&&rt.writeMessage(4,it,tt.StringValue.serializeBinaryToWriter),(it=nt.getSessionIdsList()).length>0&&rt.writeRepeatedString(5,it),(it=nt.getPeerCreatedTimestamp())!=null&&rt.writeMessage(6,it,tt.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(nt){return j.Message.setProto3StringField(this,1,nt)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return j.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(nt){return j.Message.setProto3StringField(this,2,nt)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return j.Message.getWrapperField(this,tt.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(nt){return j.Message.setWrapperField(this,3,nt)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return j.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return j.Message.getWrapperField(this,tt.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(nt){return j.Message.setWrapperField(this,4,nt)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return j.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return j.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(nt){return j.Message.setField(this,5,nt||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(nt,rt){return j.Message.addToRepeatedField(this,5,nt,rt)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return j.Message.getWrapperField(this,tt.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(nt){return j.Message.setWrapperField(this,6,nt)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return j.Message.getField(this,6)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(nt){return proto.v1.signaling.api.Signal.toObject(nt,this)},proto.v1.signaling.api.Signal.toObject=function(nt,rt){var it,st={sessionId:(it=rt.getSessionId())&&tt.StringValue.toObject(nt,it),sessionCreatedTimestamp:(it=rt.getSessionCreatedTimestamp())&&tt.Int64Value.toObject(nt,it),senderId:j.Message.getFieldWithDefault(rt,3,""),receiverId:j.Message.getFieldWithDefault(rt,4,""),payload:j.Message.getFieldWithDefault(rt,5,""),iceServers:j.Message.getFieldWithDefault(rt,6,""),iceTransportPolicy:j.Message.getFieldWithDefault(rt,7,""),sessionType:j.Message.getFieldWithDefault(rt,8,0)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.Signal.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new tt.StringValue;rt.readMessage(it,tt.StringValue.deserializeBinaryFromReader),nt.setSessionId(it);break;case 2:it=new tt.Int64Value,rt.readMessage(it,tt.Int64Value.deserializeBinaryFromReader),nt.setSessionCreatedTimestamp(it);break;case 3:it=rt.readString(),nt.setSenderId(it);break;case 4:it=rt.readString(),nt.setReceiverId(it);break;case 5:it=rt.readString(),nt.setPayload(it);break;case 6:it=rt.readString(),nt.setIceServers(it);break;case 7:it=rt.readString(),nt.setIceTransportPolicy(it);break;case 8:it=rt.readEnum(),nt.setSessionType(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(nt,rt){var it=void 0;(it=nt.getSessionId())!=null&&rt.writeMessage(1,it,tt.StringValue.serializeBinaryToWriter),(it=nt.getSessionCreatedTimestamp())!=null&&rt.writeMessage(2,it,tt.Int64Value.serializeBinaryToWriter),(it=nt.getSenderId()).length>0&&rt.writeString(3,it),(it=nt.getReceiverId()).length>0&&rt.writeString(4,it),(it=nt.getPayload()).length>0&&rt.writeString(5,it),(it=nt.getIceServers()).length>0&&rt.writeString(6,it),(it=nt.getIceTransportPolicy()).length>0&&rt.writeString(7,it),(it=nt.getSessionType())!==0&&rt.writeEnum(8,it)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return j.Message.getWrapperField(this,tt.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(nt){return j.Message.setWrapperField(this,1,nt)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return j.Message.getWrapperField(this,tt.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(nt){return j.Message.setWrapperField(this,2,nt)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return j.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return j.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(nt){return j.Message.setProto3StringField(this,3,nt)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return j.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(nt){return j.Message.setProto3StringField(this,4,nt)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return j.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(nt){return j.Message.setProto3StringField(this,5,nt)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return j.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(nt){return j.Message.setProto3StringField(this,6,nt)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return j.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(nt){return j.Message.setProto3StringField(this,7,nt)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return j.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(nt){return j.Message.setProto3EnumField(this,8,nt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RtcSession.prototype.toObject=function(nt){return proto.v1.signaling.api.RtcSession.toObject(nt,this)},proto.v1.signaling.api.RtcSession.toObject=function(nt,rt){var it={sessionId:j.Message.getFieldWithDefault(rt,1,""),offerPeerId:j.Message.getFieldWithDefault(rt,2,""),answerPeerId:j.Message.getFieldWithDefault(rt,3,""),organizationId:j.Message.getFieldWithDefault(rt,4,""),sessionType:j.Message.getFieldWithDefault(rt,5,"")};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.RtcSession.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.RtcSession;return proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=rt.readString();nt.setSessionId(it);break;case 2:it=rt.readString(),nt.setOfferPeerId(it);break;case 3:it=rt.readString(),nt.setAnswerPeerId(it);break;case 4:it=rt.readString(),nt.setOrganizationId(it);break;case 5:it=rt.readString(),nt.setSessionType(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.RtcSession.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.RtcSession.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.RtcSession.serializeBinaryToWriter=function(nt,rt){var it=void 0;(it=nt.getSessionId()).length>0&&rt.writeString(1,it),(it=nt.getOfferPeerId()).length>0&&rt.writeString(2,it),(it=nt.getAnswerPeerId()).length>0&&rt.writeString(3,it),(it=nt.getOrganizationId()).length>0&&rt.writeString(4,it),(it=nt.getSessionType()).length>0&&rt.writeString(5,it)},proto.v1.signaling.api.RtcSession.prototype.getSessionId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionId=function(nt){return j.Message.setProto3StringField(this,1,nt)},proto.v1.signaling.api.RtcSession.prototype.getOfferPeerId=function(){return j.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.RtcSession.prototype.setOfferPeerId=function(nt){return j.Message.setProto3StringField(this,2,nt)},proto.v1.signaling.api.RtcSession.prototype.getAnswerPeerId=function(){return j.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.RtcSession.prototype.setAnswerPeerId=function(nt){return j.Message.setProto3StringField(this,3,nt)},proto.v1.signaling.api.RtcSession.prototype.getOrganizationId=function(){return j.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.RtcSession.prototype.setOrganizationId=function(nt){return j.Message.setProto3StringField(this,4,nt)},proto.v1.signaling.api.RtcSession.prototype.getSessionType=function(){return j.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionType=function(nt){return j.Message.setProto3StringField(this,5,nt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.GetSessionsRequest.toObject(nt,this)},proto.v1.signaling.api.GetSessionsRequest.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetSessionsRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetSessionsRequest;return proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.GetSessionsRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter=function(nt,rt){},proto.v1.signaling.api.GetSessionsResponse.repeatedFields_=[1],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.GetSessionsResponse.toObject(nt,this)},proto.v1.signaling.api.GetSessionsResponse.toObject=function(nt,rt){var it={sessionsList:j.Message.toObjectList(rt.getSessionsList(),proto.v1.signaling.api.RtcSession.toObject,nt)};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetSessionsResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetSessionsResponse;return proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new proto.v1.signaling.api.RtcSession;rt.readMessage(it,proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader),nt.addSessions(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.GetSessionsResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getSessionsList()).length>0&&rt.writeRepeatedMessage(1,it,proto.v1.signaling.api.RtcSession.serializeBinaryToWriter)},proto.v1.signaling.api.GetSessionsResponse.prototype.getSessionsList=function(){return j.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.RtcSession,1)},proto.v1.signaling.api.GetSessionsResponse.prototype.setSessionsList=function(nt){return j.Message.setRepeatedWrapperField(this,1,nt)},proto.v1.signaling.api.GetSessionsResponse.prototype.addSessions=function(nt,rt){return j.Message.addToRepeatedWrapperField(this,1,nt,proto.v1.signaling.api.RtcSession,rt)},proto.v1.signaling.api.GetSessionsResponse.prototype.clearSessionsList=function(){return this.setSessionsList([])},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.GetHealthRequest.toObject(nt,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(nt,rt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.GetHealthResponse.toObject(nt,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(nt,rt){var it={version:j.Message.getFieldWithDefault(rt,1,"")};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=rt.readString();nt.setVersion(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getVersion()).length>0&&rt.writeString(1,it)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(nt){return j.Message.setProto3StringField(this,1,nt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.CreatePeerRequest.toObject(nt,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(nt,rt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.CreatePeerResponse.toObject(nt,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(nt,rt){var it,st={peer:(it=rt.getPeer())&&proto.v1.signaling.api.Peer.toObject(nt,it)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new proto.v1.signaling.api.Peer;rt.readMessage(it,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),nt.setPeer(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getPeer())!=null&&rt.writeMessage(1,it,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(nt){return j.Message.setWrapperField(this,1,nt)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.DeletePeerRequest.toObject(nt,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(nt,rt){var it={peerId:j.Message.getFieldWithDefault(rt,1,"")};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=rt.readString();nt.setPeerId(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getPeerId()).length>0&&rt.writeString(1,it)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(nt){return j.Message.setProto3StringField(this,1,nt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.DeletePeerResponse.toObject(nt,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(nt,rt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.RefreshPeerRequest.toObject(nt,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(nt,rt){var it,st={peer:(it=rt.getPeer())&&proto.v1.signaling.api.Peer.toObject(nt,it)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new proto.v1.signaling.api.Peer;rt.readMessage(it,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),nt.setPeer(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getPeer())!=null&&rt.writeMessage(1,it,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(nt){return j.Message.setWrapperField(this,1,nt)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.RefreshPeerResponse.toObject(nt,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(nt,rt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.GetPeersRequest.toObject(nt,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(nt,rt){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.GetPeersResponse.toObject(nt,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(nt,rt){var it={peersList:j.Message.toObjectList(rt.getPeersList(),proto.v1.signaling.api.Peer.toObject,nt)};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new proto.v1.signaling.api.Peer;rt.readMessage(it,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),nt.addPeers(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getPeersList()).length>0&&rt.writeRepeatedMessage(1,it,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return j.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(nt){return j.Message.setRepeatedWrapperField(this,1,nt)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(nt,rt){return j.Message.addToRepeatedWrapperField(this,1,nt,proto.v1.signaling.api.Peer,rt)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.GetIceServersRequest.toObject(nt,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(nt,rt){var it={};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)rt.getFieldNumber(),rt.skipField();return nt},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(nt,rt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.GetIceServersResponse.toObject(nt,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(nt,rt){var it={iceServers:j.Message.getFieldWithDefault(rt,1,"")};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=rt.readString();nt.setIceServers(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getIceServers()).length>0&&rt.writeString(1,it)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(nt){return j.Message.setProto3StringField(this,1,nt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.SendSignalRequest.toObject(nt,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(nt,rt){var it,st={signal:(it=rt.getSignal())&&proto.v1.signaling.api.Signal.toObject(nt,it)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new proto.v1.signaling.api.Signal;rt.readMessage(it,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),nt.setSignal(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getSignal())!=null&&rt.writeMessage(1,it,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(nt){return j.Message.setWrapperField(this,1,nt)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.SendSignalResponse.toObject(nt,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(nt,rt){var it,st={sessionId:(it=rt.getSessionId())&&tt.StringValue.toObject(nt,it),sessionCreatedTimestamp:(it=rt.getSessionCreatedTimestamp())&&tt.Int64Value.toObject(nt,it)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new tt.StringValue;rt.readMessage(it,tt.StringValue.deserializeBinaryFromReader),nt.setSessionId(it);break;case 2:it=new tt.Int64Value,rt.readMessage(it,tt.Int64Value.deserializeBinaryFromReader),nt.setSessionCreatedTimestamp(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(nt,rt){var it=void 0;(it=nt.getSessionId())!=null&&rt.writeMessage(1,it,tt.StringValue.serializeBinaryToWriter),(it=nt.getSessionCreatedTimestamp())!=null&&rt.writeMessage(2,it,tt.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return j.Message.getWrapperField(this,tt.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(nt){return j.Message.setWrapperField(this,1,nt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return j.Message.getWrapperField(this,tt.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(nt){return j.Message.setWrapperField(this,2,nt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return j.Message.getField(this,2)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(nt){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(nt,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(nt,rt){var it={peerId:j.Message.getFieldWithDefault(rt,1,"")};return nt&&(it.$jspbMessageInstance=rt),it}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=rt.readString();nt.setPeerId(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getPeerId()).length>0&&rt.writeString(1,it)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(nt){return j.Message.setProto3StringField(this,1,nt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(nt){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(nt,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(nt,rt){var it,st={signal:(it=rt.getSignal())&&proto.v1.signaling.api.Signal.toObject(nt,it)};return nt&&(st.$jspbMessageInstance=rt),st}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(nt){var rt=new j.BinaryReader(nt),it=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(it,rt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(nt,rt){for(;rt.nextField()&&!rt.isEndGroup();)switch(rt.getFieldNumber()){case 1:var it=new proto.v1.signaling.api.Signal;rt.readMessage(it,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),nt.setSignal(it);break;default:rt.skipField()}return nt},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var nt=new j.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,nt),nt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(nt,rt){var it;(it=nt.getSignal())!=null&&rt.writeMessage(1,it,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(nt){return j.Message.setWrapperField(this,1,nt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},$.object.extend(s,proto.v1.signaling.api)},3449:(o,s,_)=>{const j={..._(4620),..._(3804)};o.exports=j},6973:()=>{},3011:()=>{},3951:()=>{},9256:()=>{},2627:()=>{},4834:(o,s,_)=>{var j=_(9501),$=typeof globalThis>"u"?_.g:globalThis;o.exports=function(){for(var et=[],tt=0;tt{o.exports={version:"3.14.2"}}},__webpack_module_cache__={};function __webpack_require__(o){var s=__webpack_module_cache__[o];if(s!==void 0)return s.exports;var _=__webpack_module_cache__[o]={id:o,loaded:!1,exports:{}};return __webpack_modules__[o].call(_.exports,_,_.exports,__webpack_require__),_.loaded=!0,_.exports}__webpack_require__.n=o=>{var s=o&&o.__esModule?()=>o.default:()=>o;return __webpack_require__.d(s,{a:s}),s},__webpack_require__.d=(o,s)=>{for(var _ in s)__webpack_require__.o(s,_)&&!__webpack_require__.o(o,_)&&Object.defineProperty(o,_,{enumerable:!0,get:s[_]})},__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),__webpack_require__.o=(o,s)=>Object.prototype.hasOwnProperty.call(o,s),__webpack_require__.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},__webpack_require__.nmd=o=>(o.paths=[],o.children||(o.children=[]),o);var __webpack_exports__={};return(()=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{AuthClient:()=>_,Credentials:()=>Ht,RtcClient:()=>ga,RtcClientV1:()=>gr,RtcSignalingClient:()=>Sn,SignalingPromiseClient:()=>cn.SignalingPromiseClient,createRtcStreamMessage:()=>uo});var o=__webpack_require__(6331),s=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class _ extends o.S{adminSignup(kt,xt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/admin-signup",{token:xt,method:"POST",body:kt})})}login(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/login",{method:"POST",body:kt,allowUnsafeRetries:!0})})}loginWithGoogleToken(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/login-google",{method:"POST",body:kt,allowUnsafeRetries:!0})})}refresh(kt,xt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/refresh",{method:"POST",body:{refreshToken:kt,tokenExpirationSeconds:xt},allowUnsafeRetries:!0})})}respondToNewPasswordRequiredChallenge(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/respond-to-new-password-required-challenge",{method:"POST",body:kt})})}forgotPassword(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/forgot-password",{method:"POST",body:{email:kt}})})}confirmForgotPassword(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/confirm-forgot-password",{method:"POST",body:kt})})}resendInvitation(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/resend-invitation",{method:"POST",body:{email:kt}})})}changePassword(kt){return s(this,arguments,void 0,function*({token:xt,refreshToken:Kt,currentPassword:Ot,newPassword:En}){return yield this.fetch("auth/change-password",{token:xt,method:"POST",body:{refreshToken:Kt,currentPassword:Ot,newPassword:En}})})}getDeviceCredentials(kt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/device-credentials",{token:kt,method:"POST",allowUnsafeRetries:!0})})}impersonate(kt,xt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/impersonate",{token:kt,method:"POST",allowUnsafeRetries:!0,body:{userId:xt}})})}createServiceAccount(kt,xt,Kt,Ot,En){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/service-account",{token:kt,method:"POST",allowUnsafeRetries:!0,body:{name:xt,roleId:Kt,tags:Ot,description:En}})})}getFeatures(kt){return s(this,void 0,void 0,function*(){return(yield this.fetch("auth/features",{token:kt})).features})}checkSso(kt,xt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/check-sso",{method:"POST",body:{email:kt,allowUserAutoCreation:xt}})})}loginWithSso(kt,xt){return s(this,void 0,void 0,function*(){return yield this.fetch("auth/login-sso",{method:"POST",body:{token:kt,refreshToken:xt}})})}}var j=__webpack_require__(3778),$=__webpack_require__(7221),et=__webpack_require__(6075),tt=__webpack_require__.n(et);const nt=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,rt=typeof AbortController=="function"?AbortController:class{constructor(){this.signal=new Ut}abort(On=new Error("This operation was aborted")){this.signal.reason=this.signal.reason||On,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},it=typeof AbortSignal=="function",st=typeof rt.AbortSignal=="function",Ut=it?AbortSignal:st?rt.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(On){On.type==="abort"&&(this.aborted=!0,this.onabort(On),this._listeners.forEach(kt=>kt(On),this))}onabort(){}addEventListener(On,kt){On==="abort"&&this._listeners.push(kt)}removeEventListener(On,kt){On==="abort"&&(this._listeners=this._listeners.filter(xt=>xt!==kt))}},ct=new Set,Ft=(On,kt)=>{const xt="LRU_CACHE_OPTION_"+On;pt(xt)&&ft(xt,On+" option","options."+kt,Dt)},ut=(On,kt)=>{const xt="LRU_CACHE_METHOD_"+On;if(pt(xt)){const{prototype:Kt}=Dt,{get:Ot}=Object.getOwnPropertyDescriptor(Kt,On);ft(xt,On+" method",`cache.${kt}()`,Ot)}},Qt=(...On)=>{typeof process$1=="object"&&process$1&&typeof process$1.emitWarning=="function"?process$1.emitWarning(...On):console.error(...On)},pt=On=>!ct.has(On),ft=(On,kt,xt,Kt)=>{ct.add(On),Qt(`The ${kt} is deprecated. Please use ${xt} instead.`,"DeprecationWarning",On,Kt)},mt=On=>On&&On===Math.floor(On)&&On>0&&isFinite(On),ht=On=>mt(On)?On<=Math.pow(2,8)?Uint8Array:On<=Math.pow(2,16)?Uint16Array:On<=Math.pow(2,32)?Uint32Array:On<=Number.MAX_SAFE_INTEGER?Vt:null:null;class Vt extends Array{constructor(kt){super(kt),this.fill(0)}}class Rt{constructor(kt){if(kt===0)return[];const xt=ht(kt);this.heap=new xt(kt),this.length=0}push(kt){this.heap[this.length++]=kt}pop(){return this.heap[--this.length]}}class Dt{constructor(kt={}){const{max:xt=0,ttl:Kt,ttlResolution:Ot=1,ttlAutopurge:En,updateAgeOnGet:vn,updateAgeOnHas:Mn,allowStale:Wn,dispose:Zn,disposeAfter:Jn,noDisposeOnSet:lt,noUpdateTTL:Bt,maxSize:Jt=0,maxEntrySize:tn=0,sizeCalculation:mn,fetchMethod:Dn,fetchContext:qn,noDeleteOnFetchRejection:dr,noDeleteOnStaleGet:Qr,allowStaleOnFetchRejection:Vr,allowStaleOnFetchAbort:Yr,ignoreFetchAbort:_i}=kt,{length:eo,maxAge:jr,stale:$r}=kt instanceof Dt?{}:kt;if(xt!==0&&!mt(xt))throw new TypeError("max option must be a nonnegative integer");const go=xt?ht(xt):Array;if(!go)throw new Error("invalid max value: "+xt);if(this.max=xt,this.maxSize=Jt,this.maxEntrySize=tn||this.maxSize,this.sizeCalculation=mn||eo,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=Dn||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=qn,!this.fetchMethod&&qn!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(xt).fill(null),this.valList=new Array(xt).fill(null),this.next=new go(xt),this.prev=new go(xt),this.head=0,this.tail=0,this.free=new Rt(xt),this.initialFill=1,this.size=0,typeof Zn=="function"&&(this.dispose=Zn),typeof Jn=="function"?(this.disposeAfter=Jn,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!lt,this.noUpdateTTL=!!Bt,this.noDeleteOnFetchRejection=!!dr,this.allowStaleOnFetchRejection=!!Vr,this.allowStaleOnFetchAbort=!!Yr,this.ignoreFetchAbort=!!_i,this.maxEntrySize!==0){if(this.maxSize!==0&&!mt(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!mt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!Wn||!!$r,this.noDeleteOnStaleGet=!!Qr,this.updateAgeOnGet=!!vn,this.updateAgeOnHas=!!Mn,this.ttlResolution=mt(Ot)||Ot===0?Ot:1,this.ttlAutopurge=!!En,this.ttl=Kt||jr||0,this.ttl){if(!mt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const _o="LRU_CACHE_UNBOUNDED";pt(_o)&&(ct.add(_o),Qt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",_o,Dt))}$r&&Ft("stale","allowStale"),jr&&Ft("maxAge","ttl"),eo&&Ft("length","sizeCalculation")}getRemainingTTL(kt){return this.has(kt,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Vt(this.max),this.starts=new Vt(this.max),this.setItemTTL=(Kt,Ot,En=nt.now())=>{if(this.starts[Kt]=Ot!==0?En:0,this.ttls[Kt]=Ot,Ot!==0&&this.ttlAutopurge){const vn=setTimeout(()=>{this.isStale(Kt)&&this.delete(this.keyList[Kt])},Ot+1);vn.unref&&vn.unref()}},this.updateItemAge=Kt=>{this.starts[Kt]=this.ttls[Kt]!==0?nt.now():0},this.statusTTL=(Kt,Ot)=>{Kt&&(Kt.ttl=this.ttls[Ot],Kt.start=this.starts[Ot],Kt.now=kt||xt(),Kt.remainingTTL=Kt.now+Kt.ttl-Kt.start)};let kt=0;const xt=()=>{const Kt=nt.now();if(this.ttlResolution>0){kt=Kt;const Ot=setTimeout(()=>kt=0,this.ttlResolution);Ot.unref&&Ot.unref()}return Kt};this.getRemainingTTL=Kt=>{const Ot=this.keyMap.get(Kt);return Ot===void 0?0:this.ttls[Ot]===0||this.starts[Ot]===0?1/0:this.starts[Ot]+this.ttls[Ot]-(kt||xt())},this.isStale=Kt=>this.ttls[Kt]!==0&&this.starts[Kt]!==0&&(kt||xt())-this.starts[Kt]>this.ttls[Kt]}updateItemAge(kt){}statusTTL(kt,xt){}setItemTTL(kt,xt,Kt){}isStale(kt){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Vt(this.max),this.removeItemSize=kt=>{this.calculatedSize-=this.sizes[kt],this.sizes[kt]=0},this.requireSize=(kt,xt,Kt,Ot)=>{if(this.isBackgroundFetch(xt))return 0;if(!mt(Kt)){if(!Ot)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if(typeof Ot!="function")throw new TypeError("sizeCalculation must be a function");if(Kt=Ot(xt,kt),!mt(Kt))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return Kt},this.addItemSize=(kt,xt,Kt)=>{if(this.sizes[kt]=xt,this.maxSize){const Ot=this.maxSize-this.sizes[kt];for(;this.calculatedSize>Ot;)this.evict(!0)}this.calculatedSize+=this.sizes[kt],Kt&&(Kt.entrySize=xt,Kt.totalCalculatedSize=this.calculatedSize)}}removeItemSize(kt){}addItemSize(kt,xt){}requireSize(kt,xt,Kt,Ot){if(Kt||Ot)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:kt=this.allowStale}={}){if(this.size)for(let xt=this.tail;this.isValidIndex(xt)&&(!kt&&this.isStale(xt)||(yield xt),xt!==this.head);)xt=this.prev[xt]}*rindexes({allowStale:kt=this.allowStale}={}){if(this.size)for(let xt=this.head;this.isValidIndex(xt)&&(!kt&&this.isStale(xt)||(yield xt),xt!==this.tail);)xt=this.next[xt]}isValidIndex(kt){return kt!==void 0&&this.keyMap.get(this.keyList[kt])===kt}*entries(){for(const kt of this.indexes())this.valList[kt]===void 0||this.keyList[kt]===void 0||this.isBackgroundFetch(this.valList[kt])||(yield[this.keyList[kt],this.valList[kt]])}*rentries(){for(const kt of this.rindexes())this.valList[kt]===void 0||this.keyList[kt]===void 0||this.isBackgroundFetch(this.valList[kt])||(yield[this.keyList[kt],this.valList[kt]])}*keys(){for(const kt of this.indexes())this.keyList[kt]===void 0||this.isBackgroundFetch(this.valList[kt])||(yield this.keyList[kt])}*rkeys(){for(const kt of this.rindexes())this.keyList[kt]===void 0||this.isBackgroundFetch(this.valList[kt])||(yield this.keyList[kt])}*values(){for(const kt of this.indexes())this.valList[kt]===void 0||this.isBackgroundFetch(this.valList[kt])||(yield this.valList[kt])}*rvalues(){for(const kt of this.rindexes())this.valList[kt]===void 0||this.isBackgroundFetch(this.valList[kt])||(yield this.valList[kt])}[Symbol.iterator](){return this.entries()}find(kt,xt){for(const Kt of this.indexes()){const Ot=this.valList[Kt],En=this.isBackgroundFetch(Ot)?Ot.__staleWhileFetching:Ot;if(En!==void 0&&kt(En,this.keyList[Kt],this))return this.get(this.keyList[Kt],xt)}}forEach(kt,xt=this){for(const Kt of this.indexes()){const Ot=this.valList[Kt],En=this.isBackgroundFetch(Ot)?Ot.__staleWhileFetching:Ot;En!==void 0&&kt.call(xt,En,this.keyList[Kt],this)}}rforEach(kt,xt=this){for(const Kt of this.rindexes()){const Ot=this.valList[Kt],En=this.isBackgroundFetch(Ot)?Ot.__staleWhileFetching:Ot;En!==void 0&&kt.call(xt,En,this.keyList[Kt],this)}}get prune(){return ut("prune","purgeStale"),this.purgeStale}purgeStale(){let kt=!1;for(const xt of this.rindexes({allowStale:!0}))this.isStale(xt)&&(this.delete(this.keyList[xt]),kt=!0);return kt}dump(){const kt=[];for(const xt of this.indexes({allowStale:!0})){const Kt=this.keyList[xt],Ot=this.valList[xt],En=this.isBackgroundFetch(Ot)?Ot.__staleWhileFetching:Ot;if(En===void 0)continue;const vn={value:En};if(this.ttls){vn.ttl=this.ttls[xt];const Mn=nt.now()-this.starts[xt];vn.start=Math.floor(Date.now()-Mn)}this.sizes&&(vn.size=this.sizes[xt]),kt.unshift([Kt,vn])}return kt}load(kt){this.clear();for(const[xt,Kt]of kt){if(Kt.start){const Ot=Date.now()-Kt.start;Kt.start=nt.now()-Ot}this.set(xt,Kt.value,Kt)}}dispose(kt,xt,Kt){}set(kt,xt,{ttl:Kt=this.ttl,start:Ot,noDisposeOnSet:En=this.noDisposeOnSet,size:vn=0,sizeCalculation:Mn=this.sizeCalculation,noUpdateTTL:Wn=this.noUpdateTTL,status:Zn}={}){if(vn=this.requireSize(kt,xt,vn,Mn),this.maxEntrySize&&vn>this.maxEntrySize)return Zn&&(Zn.set="miss",Zn.maxEntrySizeExceeded=!0),this.delete(kt),this;let Jn=this.size===0?void 0:this.keyMap.get(kt);if(Jn===void 0)Jn=this.newIndex(),this.keyList[Jn]=kt,this.valList[Jn]=xt,this.keyMap.set(kt,Jn),this.next[this.tail]=Jn,this.prev[Jn]=this.tail,this.tail=Jn,this.size++,this.addItemSize(Jn,vn,Zn),Zn&&(Zn.set="add"),Wn=!1;else{this.moveToTail(Jn);const lt=this.valList[Jn];if(xt!==lt){if(this.isBackgroundFetch(lt)?lt.__abortController.abort(new Error("replaced")):En||(this.dispose(lt,kt,"set"),this.disposeAfter&&this.disposed.push([lt,kt,"set"])),this.removeItemSize(Jn),this.valList[Jn]=xt,this.addItemSize(Jn,vn,Zn),Zn){Zn.set="replace";const Bt=lt&&this.isBackgroundFetch(lt)?lt.__staleWhileFetching:lt;Bt!==void 0&&(Zn.oldValue=Bt)}}else Zn&&(Zn.set="update")}if(Kt===0||this.ttl!==0||this.ttls||this.initializeTTLTracking(),Wn||this.setItemTTL(Jn,Kt,Ot),this.statusTTL(Zn,Jn),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const kt=this.valList[this.head];return this.evict(!0),kt}}evict(kt){const xt=this.head,Kt=this.keyList[xt],Ot=this.valList[xt];return this.isBackgroundFetch(Ot)?Ot.__abortController.abort(new Error("evicted")):(this.dispose(Ot,Kt,"evict"),this.disposeAfter&&this.disposed.push([Ot,Kt,"evict"])),this.removeItemSize(xt),kt&&(this.keyList[xt]=null,this.valList[xt]=null,this.free.push(xt)),this.head=this.next[xt],this.keyMap.delete(Kt),this.size--,xt}has(kt,{updateAgeOnHas:xt=this.updateAgeOnHas,status:Kt}={}){const Ot=this.keyMap.get(kt);if(Ot!==void 0){if(!this.isStale(Ot))return xt&&this.updateItemAge(Ot),Kt&&(Kt.has="hit"),this.statusTTL(Kt,Ot),!0;Kt&&(Kt.has="stale",this.statusTTL(Kt,Ot))}else Kt&&(Kt.has="miss");return!1}peek(kt,{allowStale:xt=this.allowStale}={}){const Kt=this.keyMap.get(kt);if(Kt!==void 0&&(xt||!this.isStale(Kt))){const Ot=this.valList[Kt];return this.isBackgroundFetch(Ot)?Ot.__staleWhileFetching:Ot}}backgroundFetch(kt,xt,Kt,Ot){const En=xt===void 0?void 0:this.valList[xt];if(this.isBackgroundFetch(En))return En;const vn=new rt;Kt.signal&&Kt.signal.addEventListener("abort",()=>vn.abort(Kt.signal.reason));const Mn={signal:vn.signal,options:Kt,context:Ot},Wn=(lt,Bt=!1)=>{const{aborted:Jt}=vn.signal,tn=Kt.ignoreFetchAbort&<!==void 0;return Kt.status&&(Jt&&!Bt?(Kt.status.fetchAborted=!0,Kt.status.fetchError=vn.signal.reason,tn&&(Kt.status.fetchAbortIgnored=!0)):Kt.status.fetchResolved=!0),!Jt||tn||Bt?(this.valList[xt]===Jn&&(lt===void 0?Jn.__staleWhileFetching?this.valList[xt]=Jn.__staleWhileFetching:this.delete(kt):(Kt.status&&(Kt.status.fetchUpdated=!0),this.set(kt,lt,Mn.options))),lt):Zn(vn.signal.reason)},Zn=lt=>{const{aborted:Bt}=vn.signal,Jt=Bt&&Kt.allowStaleOnFetchAbort,tn=Jt||Kt.allowStaleOnFetchRejection,mn=tn||Kt.noDeleteOnFetchRejection;if(this.valList[xt]===Jn&&(!mn||Jn.__staleWhileFetching===void 0?this.delete(kt):Jt||(this.valList[xt]=Jn.__staleWhileFetching)),tn)return Kt.status&&Jn.__staleWhileFetching!==void 0&&(Kt.status.returnedStale=!0),Jn.__staleWhileFetching;if(Jn.__returned===Jn)throw lt};Kt.status&&(Kt.status.fetchDispatched=!0);const Jn=new Promise((lt,Bt)=>{this.fetchMethod(kt,En,Mn).then(Jt=>lt(Jt),Bt),vn.signal.addEventListener("abort",()=>{Kt.ignoreFetchAbort&&!Kt.allowStaleOnFetchAbort||(lt(),Kt.allowStaleOnFetchAbort&&(lt=Jt=>Wn(Jt,!0)))})}).then(Wn,lt=>(Kt.status&&(Kt.status.fetchRejected=!0,Kt.status.fetchError=lt),Zn(lt)));return Jn.__abortController=vn,Jn.__staleWhileFetching=En,Jn.__returned=null,xt===void 0?(this.set(kt,Jn,{...Mn.options,status:void 0}),xt=this.keyMap.get(kt)):this.valList[xt]=Jn,Jn}isBackgroundFetch(kt){return kt&&typeof kt=="object"&&typeof kt.then=="function"&&Object.prototype.hasOwnProperty.call(kt,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(kt,"__returned")&&(kt.__returned===kt||kt.__returned===null)}async fetch(kt,{allowStale:xt=this.allowStale,updateAgeOnGet:Kt=this.updateAgeOnGet,noDeleteOnStaleGet:Ot=this.noDeleteOnStaleGet,ttl:En=this.ttl,noDisposeOnSet:vn=this.noDisposeOnSet,size:Mn=0,sizeCalculation:Wn=this.sizeCalculation,noUpdateTTL:Zn=this.noUpdateTTL,noDeleteOnFetchRejection:Jn=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:lt=this.allowStaleOnFetchRejection,ignoreFetchAbort:Bt=this.ignoreFetchAbort,allowStaleOnFetchAbort:Jt=this.allowStaleOnFetchAbort,fetchContext:tn=this.fetchContext,forceRefresh:mn=!1,status:Dn,signal:qn}={}){if(!this.fetchMethod)return Dn&&(Dn.fetch="get"),this.get(kt,{allowStale:xt,updateAgeOnGet:Kt,noDeleteOnStaleGet:Ot,status:Dn});const dr={allowStale:xt,updateAgeOnGet:Kt,noDeleteOnStaleGet:Ot,ttl:En,noDisposeOnSet:vn,size:Mn,sizeCalculation:Wn,noUpdateTTL:Zn,noDeleteOnFetchRejection:Jn,allowStaleOnFetchRejection:lt,allowStaleOnFetchAbort:Jt,ignoreFetchAbort:Bt,status:Dn,signal:qn};let Qr=this.keyMap.get(kt);if(Qr===void 0){Dn&&(Dn.fetch="miss");const Vr=this.backgroundFetch(kt,Qr,dr,tn);return Vr.__returned=Vr}{const Vr=this.valList[Qr];if(this.isBackgroundFetch(Vr)){const $r=xt&&Vr.__staleWhileFetching!==void 0;return Dn&&(Dn.fetch="inflight",$r&&(Dn.returnedStale=!0)),$r?Vr.__staleWhileFetching:Vr.__returned=Vr}const Yr=this.isStale(Qr);if(!mn&&!Yr)return Dn&&(Dn.fetch="hit"),this.moveToTail(Qr),Kt&&this.updateItemAge(Qr),this.statusTTL(Dn,Qr),Vr;const _i=this.backgroundFetch(kt,Qr,dr,tn),eo=_i.__staleWhileFetching!==void 0,jr=eo&&xt;return Dn&&(Dn.fetch=eo&&Yr?"stale":"refresh",jr&&Yr&&(Dn.returnedStale=!0)),jr?_i.__staleWhileFetching:_i.__returned=_i}}get(kt,{allowStale:xt=this.allowStale,updateAgeOnGet:Kt=this.updateAgeOnGet,noDeleteOnStaleGet:Ot=this.noDeleteOnStaleGet,status:En}={}){const vn=this.keyMap.get(kt);if(vn!==void 0){const Mn=this.valList[vn],Wn=this.isBackgroundFetch(Mn);return this.statusTTL(En,vn),this.isStale(vn)?(En&&(En.get="stale"),Wn?(En&&(En.returnedStale=xt&&Mn.__staleWhileFetching!==void 0),xt?Mn.__staleWhileFetching:void 0):(Ot||this.delete(kt),En&&(En.returnedStale=xt),xt?Mn:void 0)):(En&&(En.get="hit"),Wn?Mn.__staleWhileFetching:(this.moveToTail(vn),Kt&&this.updateItemAge(vn),Mn))}En&&(En.get="miss")}connect(kt,xt){this.prev[xt]=kt,this.next[kt]=xt}moveToTail(kt){kt!==this.tail&&(kt===this.head?this.head=this.next[kt]:this.connect(this.prev[kt],this.next[kt]),this.connect(this.tail,kt),this.tail=kt)}get del(){return ut("del","delete"),this.delete}delete(kt){let xt=!1;if(this.size!==0){const Kt=this.keyMap.get(kt);if(Kt!==void 0)if(xt=!0,this.size===1)this.clear();else{this.removeItemSize(Kt);const Ot=this.valList[Kt];this.isBackgroundFetch(Ot)?Ot.__abortController.abort(new Error("deleted")):(this.dispose(Ot,kt,"delete"),this.disposeAfter&&this.disposed.push([Ot,kt,"delete"])),this.keyMap.delete(kt),this.keyList[Kt]=null,this.valList[Kt]=null,Kt===this.tail?this.tail=this.prev[Kt]:Kt===this.head?this.head=this.next[Kt]:(this.next[this.prev[Kt]]=this.next[Kt],this.prev[this.next[Kt]]=this.prev[Kt]),this.size--,this.free.push(Kt)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return xt}clear(){for(const kt of this.rindexes({allowStale:!0})){const xt=this.valList[kt];if(this.isBackgroundFetch(xt))xt.__abortController.abort(new Error("deleted"));else{const Kt=this.keyList[kt];this.dispose(xt,Kt,"delete"),this.disposeAfter&&this.disposed.push([xt,Kt,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return ut("reset","clear"),this.clear}get length(){return((kt,xt)=>{const Kt="LRU_CACHE_PROPERTY_"+kt;if(pt(Kt)){const{prototype:Ot}=Dt,{get:En}=Object.getOwnPropertyDescriptor(Ot,kt);ft(Kt,kt+" property","cache."+xt,En)}})("length","size"),this.size}static get AbortController(){return rt}static get AbortSignal(){return Ut}}const Ct=Dt;var Mt=__webpack_require__(2273),yt=__webpack_require__(1597),Yt=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class Zt extends class{constructor(kt,xt){this.type=kt,this.name=xt}}{constructor(kt){super("simple","LogReporter"),this.message=kt}send(kt){return Yt(this,void 0,void 0,function*(){var xt,Kt;yt.vF.debug(this.message,(xt=kt.reduce((Ot,En)=>Object.assign(Object.assign({},Ot),{[En.name]:En.stat}),{}),Kt=Ot=>{const{sum:En,count:vn}=Ot,Mn=En/vn;return Object.assign(Object.assign({},Ot),{average:Mn})},Object.keys(xt).reduce((Ot,En)=>Object.assign(Object.assign({},Ot),{[En]:Kt(xt[En])}),{})))})}}var vt=__webpack_require__(8758),bt=__webpack_require__.n(vt);const Wt=/^[a-zA-Z0-9-_.,:?'"()@\/#$+ ]{1,255}$/;function It(On,kt){return!!On&&(kt!=null&&kt.allowStar&&On[0]==="*"?On==="*":Wt.test(On))}var Tt=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};function _t({func:On,delay:kt,immediate:xt=!0}){let Kt=!1,Ot=setTimeout(function vn(){return Tt(this,void 0,void 0,function*(){if(Kt)return;const Mn=new Date().getTime();try{En=On(),yield En}finally{if(!Kt){const Wn=new Date().getTime();Ot=setTimeout(vn,Math.max(kt-(Wn-Mn),0))}}})},xt?0:kt),En=Promise.resolve();return{stop(){return Tt(this,void 0,void 0,function*(){Kt=!0,clearTimeout(Ot),yield En})},pending(){return Tt(this,void 0,void 0,function*(){yield En})}}}var $t=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class rn{constructor(kt){this.buffer={},this.reporters=[],this.flushInterval=_t({func:()=>this.flushStats(),delay:rn.samplePeriodMs}),this.tags=this.filterTags((kt==null?void 0:kt.tags)||{app:Mt.yA,version:Mt.rE,namespace:Mt.MF})}shutdown(){return $t(this,void 0,void 0,function*(){yield this.flushInterval.stop(),yield this.flushStats(),yield(0,$.c)(2*j.p.second)})}aggregate(kt,xt,Kt){this.addToBuffer(this.buffer,this.encodeKey({metric:kt,tags:this.filterTags(Kt||{})}),typeof xt=="number"?{min:xt,max:xt,sum:xt,count:1}:xt)}increment(kt,xt){this.aggregate(kt,1,xt)}timer(kt,xt,Kt){return $t(this,void 0,void 0,function*(){const Ot=bt()(),En=yield xt(),vn=bt()();return this.aggregate(kt,vn-Ot,Kt),En})}registerStatsReporter(kt){this.reporters.push(kt)}setTag(kt,xt){const Kt=this.filterTags({[kt]:xt});this.tags=Object.assign(Object.assign({},this.tags),Kt)}addToBuffer(kt,xt,Kt){if(kt[xt]){const{min:Ot,max:En,sum:vn,count:Mn}=kt[xt];kt[xt]={min:Math.min(Ot,Kt.min),max:Math.max(En,Kt.max),sum:vn+Kt.sum,count:Mn+Kt.count}}else kt[xt]=Kt}write(kt){return $t(this,void 0,void 0,function*(){yield Promise.all(this.reporters.map(xt=>$t(this,void 0,void 0,function*(){let Kt;const Ot={};switch(xt.type){case"simple":for(const[vn,Mn]of Object.entries(kt)){const{metric:Wn}=this.decodeKey(vn);this.addToBuffer(Ot,this.encodeKey({metric:Wn}),Mn)}Kt=Ot;break;case"tagged":Kt=kt;break;default:(function(vn){throw new Error(`Unreachable type encountered (${vn})`)})(xt.type)}const En=Object.entries(Kt);if(En.length>0)return xt.send(En.map(([vn,Mn])=>{const{metric:Wn,tags:Zn}=this.decodeKey(vn);return{name:Wn,tags:Object.assign(Object.assign({},Zn),this.tags),stat:Mn}}),rn.samplePeriodMs).catch(vn=>{yt.vF.debug("Failed to write stats to "+xt.name,{error:vn})})})))})}flushStats(){return $t(this,void 0,void 0,function*(){yield this.write(this.buffer),this.buffer={}})}encodeKey(kt){return tt()(Object.assign(Object.assign({},kt),Object.keys(kt.tags||{}).length>0?{tags:kt.tags}:{}))}decodeKey(kt){return JSON.parse(kt)}filterTags(kt){return Object.entries(kt||{}).reduce((xt,[Kt,Ot])=>(It(Kt)&&It(Ot)&&(xt[Kt]=Ot),xt),{})}}rn.samplePeriodMs=5*j.p.minute;const Pt=!!Mt.op,qt=new rn;Pt||["local","on-prem"].includes(Mt.MF)||qt.registerStatsReporter(new Zt("stats"));var ln=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class an extends class{constructor(kt){this.options=kt,this.cache=new Ct(Object.assign(Object.assign(Object.assign({},kt.dispose||kt.disposeAfter?{ttlAutopurge:!0}:{}),kt),{dispose:(...xt)=>{var Kt;xt[2]==="evict"&&qt.increment("lru-eviction",{name:kt.name}),(Kt=kt.dispose)===null||Kt===void 0||Kt.call(kt,...xt)},disposeAfter:(...xt)=>{var Kt;this.updateStats(),(Kt=kt.disposeAfter)===null||Kt===void 0||Kt.call(kt,...xt)}})),this.stringify=kt.fastStringify?JSON.stringify:tt()}set(kt,xt,Kt){const Ot=this.stringify(kt);if(!this.cache.set(Ot,xt,{ttl:Kt})){const En=this.cache.sizeCalculation?this.cache.sizeCalculation(xt,Ot):"unknown";throw Error(`Value too large (${En} > ${this.cache.max})`)}this.updateStats()}get(kt){const{name:xt}=this.options,Kt=this.stringify(kt),Ot=this.cache.getRemainingTTL(Kt);return Ot<=0?qt.increment("cache-miss",{name:xt}):Ot!==1/0&&qt.aggregate("cache-item-ttl",Ot,{name:xt}),this.cache.get(Kt)}delete(kt){this.cache.delete(this.stringify(kt))}peek(kt){return this.cache.peek(this.stringify(kt))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(kt){this.cache.forEach(kt)}purgeStale(){return this.cache.purgeStale()}updateStats(){const{name:kt}=this.options;qt.aggregate("cache-item-count",this.cache.size,{name:kt}),this.cache.calculatedSize!==void 0&&qt.aggregate("cache-length",this.cache.calculatedSize,{name:kt})}}{constructor(kt){if(super(kt),this.expireRejectedPromiseValues=kt.expireRejectedPromiseValues===void 0||kt.expireRejectedPromiseValues,this.rejectedPromiseValueTtl=kt.rejectedPromiseValueTtl!==void 0?kt.rejectedPromiseValueTtl:j.p.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(kt,xt,Kt){super.set(kt,xt,Kt),this.expireRejectedPromiseValues&&xt.catch(()=>ln(this,void 0,void 0,function*(){yield(0,$.c)(this.rejectedPromiseValueTtl),this.peek(kt)===xt&&this.delete(kt)}))}}var Gt=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class Ht{constructor(kt,xt,Kt){this.authClient=kt,this.email=xt,this.password=Kt,this.tokenTtlMs=1*j.p.hour,this.tokenCache=new an({name:"Credentials-tokenCache",max:100,ttl:this.tokenTtlMs-5*j.p.minute,fastStringify:!0})}getToken(){return Gt(this,void 0,void 0,function*(){let kt=this.tokenCache.get(this.email);return kt||(kt=(()=>Gt(this,void 0,void 0,function*(){const{authentication:xt}=yield this.authClient.login({email:this.email,password:this.password,tokenExpirationSeconds:this.tokenTtlMs/j.p.second});if(!xt)throw new Error("User account not verified.");return xt.accessToken}))(),this.tokenCache.set(this.email,kt)),kt})}}var Un=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class Sn extends o.S{createPeer(kt,xt){return Un(this,void 0,void 0,function*(){return yield this.fetch("peers",{token:kt,method:"POST",body:xt})})}getPeers(kt){return Un(this,void 0,void 0,function*(){return(yield this.fetch("peers",{token:kt})).items})}refreshPeer(kt,xt){return Un(this,void 0,void 0,function*(){yield this.fetch(`peers/${xt}/refresh`,{token:kt,method:"POST",allowUnsafeRetries:!0})})}createSession(kt,xt){return Un(this,void 0,void 0,function*(){return yield this.fetch("sessions",{token:kt,method:"POST",body:xt})})}refreshSession(kt,xt){return Un(this,void 0,void 0,function*(){yield this.fetch(`sessions/${xt}/refresh`,{token:kt,method:"POST",allowUnsafeRetries:!0})})}deleteSession(kt,xt){return Un(this,void 0,void 0,function*(){yield this.fetch("sessions/"+xt,{token:kt,method:"DELETE",allowUnsafeRetries:!0})})}getSessions(kt){return Un(this,void 0,void 0,function*(){return(yield this.fetch("sessions",{token:kt})).items})}getIceServers(kt){return Un(this,void 0,void 0,function*(){return(yield this.fetch("ice-servers",{token:kt})).items})}addSignals(kt,xt,Kt){return Un(this,void 0,void 0,function*(){yield this.fetch(`sessions/${xt}/add-signals`,{token:kt,method:"POST",body:Kt})})}takeSignals(kt,xt){return Un(this,void 0,void 0,function*(){return(yield this.fetch(`sessions/${xt}/take-signals`,{token:kt,method:"POST"})).items})}}var cn=__webpack_require__(3449),fn=__webpack_require__(5949),sn=__webpack_require__(2964),bn=__webpack_require__(7396),Cn=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class Nn extends bn.V{constructor(kt){super(kt)}postLanRtcOffer(kt){return Cn(this,void 0,void 0,function*(){return yield this.fetch("v1/lan-rtc-offer",{method:"POST",body:kt})})}}var xn=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};function zn(On){return xn(this,void 0,void 0,function*(){return(yield Promise.all(On.map(kt=>kt.catch(xt=>xt)))).filter(kt=>kt instanceof Error)})}function wt(On,kt){if(On===void 0)throw new Error("Value is undefined"+(kt?": "+kt:""))}function jt(On,kt){if(On===null)throw new Error("Value is null"+(kt?": "+kt:""))}function zt(On){return wt(On),On}function pn(On,kt){const xt=On.reduce((Kt,Ot)=>[...Kt,...Ot.urls],[]).filter(Kt=>yn(Kt,kt)).sort(Kt=>Vn(Kt,"udp")?-1:0).shift();if(xt)return Object.assign(Object.assign({},zt(On.find(Kt=>Kt.urls.includes(xt)))),{urls:[xt]})}function yn(On,kt){switch(kt){case"stun":return/^stuns?:/.test(On);case"turn":return/^turns?:/.test(On)}}function Vn(On,kt){return On.endsWith("transport="+kt)}var kn=__webpack_require__(7207);class Gn extends Error{constructor(kt,xt){super(`Deadline expired after ${kt}ms + ${xt}ms`)}}class nr{static withDeadline(kt,xt){const Kt=new Promise((Ot,En)=>{setTimeout(()=>{En(new Gn(xt,this.grpcCallDeadlineSlopMs))},xt+this.grpcCallDeadlineSlopMs)});return Promise.race([kt,Kt])}}nr.grpcCallDeadlineSlopMs=500*j.p.millisecond;var tr=__webpack_require__(8311);const cr={ordered:!1,maxPacketLifeTime:300*j.p.millisecond},Ur={ordered:!0},Jr={ordered:!0},Sr={ordered:!1,maxRetransmits:0},dn={ordered:!1,maxRetransmits:0},Nt=On=>"received"in On&&On.received!==void 0,Xt=On=>!("received"in On)||On.received===void 0,gn=2*j.p.second,nn=10*j.p.second;function Ln(On,kt={}){const xt=Array.from(On.values()),Kt=xt.filter(Nt),Ot=Kt.length>0,En=Math.max(...xt.map(Jn=>Jn.sent)),vn=Math.max(...Kt.map(Jn=>Jn.received));let Mn;if(Ot){const Jn=Date.now()-En<=j.p.millisecond?xt.length-1:xt.length,lt=Kt.length>Jn?Jn:Kt.length,Bt=Kt.map(Qr=>Qr.received-Qr.sent),{standardDeviation:Jt,mean:tn,jitter:mn}=function(Qr){const Vr=Qr.length;if(Vr===0)return{mean:NaN,standardDeviation:-1,jitter:NaN};const Yr=Qr.reduce((jr,$r)=>jr+$r,0)/Vr,_i=Math.sqrt(Qr.map(jr=>Math.pow(jr-Yr,2)).reduce((jr,$r)=>jr+$r)/Vr);if(Vr===1)return{mean:Yr,standardDeviation:_i,jitter:NaN};let eo=0;for(let jr=1;jrQr.sent{const[lt,Bt]=Jn;Bt.sent{var En,vn;return{streamId:Ot,sentCount:(En=xt.get(Ot))!==null&&En!==void 0?En:0,receivedCount:(vn=Kt.get(Ot))!==null&&vn!==void 0?vn:0}}),timestamp:kt}}incrementLocalSent(kt){const{localSent:xt}=this.counts,Kt=Hn(kt.header.stream);xt.set(Kt,(xt.get(Kt)||0)+1)}incrementLocalReceived(kt){const{localReceived:xt}=this.counts,Kt=Hn(kt.header.stream),Ot=xt.get(Kt)||0;if(Ot===0){const{streamName:En,streamType:vn}=kt.header.stream;yt.vF.debug("RTC client received first message for stream",{streamName:En,streamType:vn})}xt.set(Kt,Ot+1)}uploadMetrics(){return ur(this,void 0,void 0,function*(){const{sessionId:kt}=this,xt=yield this.connection.peerConnection.getStats(),Kt={};xt.forEach(Zn=>Kt[Zn.id]=Zn),yt.vF.debug("rtc-stats",Object.assign(Object.assign({},Kt),{sessionId:kt}));const{localSent:Ot,localReceived:En,remoteSent:vn,remoteReceived:Mn}=this.counts,Wn=[...new Set([...Ot.keys(),...En.keys()])].reduce((Zn,Jn)=>{const lt=Ot.get(Jn),Bt=En.get(Jn),Jt=vn.get(Jn),tn=Mn.get(Jn);return Object.assign(Object.assign({},Zn),{[`local-${Jn}-sent`]:lt,[`local-${Jn}-received`]:Bt,[`remote-${Jn}-sent`]:Jt,[`remote-${Jn}-received`]:tn})},{sessionId:kt});yt.vF.debug("rtc-message-report",Object.assign({deviceId:this.connection.getRemoteDeviceId()},Wn))})}}var Cr=__webpack_require__(7186);function ir(On){if(On.byteLength<4)return!1;const kt=new Uint8Array(On);return kt[0]===72&&kt[1]===50&&kt[2]===54&&kt[3]===52}function Nr(On){if(On.byteLength<4)return!1;const kt=new Uint8Array(On);return kt[0]===66&&kt[1]===67&&kt[2]===72&&kt[3]===75}function Uo(On){if(!ir(On))throw new Error("Data is not a binary H264 message");const kt=new DataView(On),xt=Number(kt.getBigUint64(4,!1)),Kt=kt.getUint16(12,!1),Ot=new Uint8Array(On,14,Kt),En=14+Kt;return{communicationType:"binary-h264",timestamp:xt,streamName:new TextDecoder().decode(Ot),frame:function(vn){const Mn=new Cr.BinaryReader(new Uint8Array(vn));let Wn=0,Zn=0,Jn="";try{for(;Mn.nextField()&&!Mn.isEndGroup();)switch(Mn.getFieldNumber()){case 1:Wn=Mn.readInt32();break;case 2:Zn=Mn.readInt32();break;case 3:{const lt=Mn.readBytes();Jn=btoa(String.fromCharCode(...lt));break}default:Mn.skipField()}return{index:Wn,flags:Zn,frame_data:Jn}}catch(lt){throw new Error("Failed to decode H264VideoFrame: "+lt)}}(On.slice(En))}}function uo(On,kt,xt){return{header:{stream:On,created:Date.now(),frameId:xt||""},payload:kt}}function Vo(On){const kt=On.localCandidate.candidateType,xt=On.remoteCandidate.candidateType;return kt==="host"&&xt==="host"?"local":kt==="relay"||xt==="relay"?"TURN":"STUN"}function sr(On){return new Set(["disconnected","failed","closed"]).has(On.iceConnectionState)}function zr(On){switch(On.header.stream.streamType){case"twist":{const{twist:kt}=On.payload;if(!kt)throw Error("twist not in payload of RTC message with type twist");return{header:On.header,payload:{twist:{linear:Object.assign({x:0,y:0,z:0},kt.linear),angular:Object.assign({x:0,y:0,z:0},kt.angular)}}}}case"pose":{const{pose:kt}=On.payload;if(!kt)throw Error("pose not in payload of RTC message with type pose");return{header:On.header,payload:{pose:{translation:Object.assign({x:0,y:0,z:0},kt.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},kt.rotation)}}}}case"pose-with-covariance":{const{poseWithCovariance:kt}=On.payload;if(!kt)throw Error("poseWithCovariance not in payload of RTC message with type pose-with-covariance");const xt=new Array(36).fill(0);return kt.covariance.forEach((Kt,Ot)=>{if(Ot>=36)throw Error("covariance contains more than 36 elements");xt[Ot]=Kt}),{header:On.header,payload:{poseWithCovariance:{pose:{translation:Object.assign({x:0,y:0,z:0},kt.pose.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},kt.pose.rotation)},covariance:xt}}}}case"point":{const{point:kt}=On.payload;if(!kt)throw Error("point not in payload of RTC message with type point");return{header:On.header,payload:{point:Object.assign({x:0,y:0,z:0},kt)}}}default:return On}}var Gr=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class lo{get peerConnection(){return jt(this._peerConnection,"RTCPeerConnection is closed!"),this._peerConnection}constructor(kt,xt,Kt,Ot){this.iceServers=xt,this.config=Kt,this.dataChannelNotifier=Ot,this.connectTimeoutMs=20*j.p.second,this.iceGatheringTimeoutMs=3*j.p.second,this.pingUpdateTimeoutMs=1*j.p.second,this.pingV2UpdateTimeoutMs=250*j.p.millisecond,this.pingV2MetricsGatherTimeoutMs=1*j.p.second,this.streamsInfoUpdateTimeoutMs=2*j.p.second,this.reassemblyTimeoutMs=500*j.p.millisecond,this.reassemblyTableCleanupMs=1*j.p.second,this.heartbeatTimeoutMs=20*j.p.millisecond,this._peerConnection=null,this.heartbeatChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.streamLatestTimestamp=new Map,this.reassemblyTable=new Map,this.reassemblyTableLastTimestamp=new Map,this.binaryReassemblyTable=new Map,this.binaryReassemblyTableLastTimestamp=new Map,this.closeCalled=!1,this.gotOffer=!1,this.hasIceCandidate=!1,this.pingV2Map=new Map,this.sendPingV2=()=>{const{latestTryOnceStreamChannel:vn}=this;if(!vn)return;const Mn=new Date().getTime(),Wn=(0,sn.A)();this.sendSystemMessage(vn,{type:"ping-v2",payload:{timestamp:Mn,id:Wn}}),this.pingV2Map.set(Wn,{sent:Mn})},this.gatherPingV2Metrics=()=>{const vn=Ln(this.pingV2Map);if(vn){const Mn=this.getRemoteDeviceId();this.pingInfo=vn,qt.aggregate("rtc-ping-average",vn.average,Object.assign({},Mn?{deviceId:Mn}:{})),qt.aggregate("rtc-ping-loss",vn.loss,Object.assign({},Mn?{deviceId:Mn}:{})),qt.aggregate("rtc-jitter",vn.jitter,Object.assign({},Mn?{deviceId:Mn}:{}))}},this._peerConnection=kt;const{isOffer:En}=Kt.baseConfig;En?this.initializeChannels(kt):kt.ondatachannel=vn=>{switch(vn.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=vn.channel;break;case"stream.reliable":this.reliableStreamChannel=vn.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=vn.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=vn.channel;break;case"heartbeat":return void(this.heartbeatChannel=vn.channel);default:return void this.dataChannelNotifier(vn.channel)}this.setupChannel(vn.channel)},this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:vn}=this;vn&&this.sendSystemMessage(vn,{type:"ping"})},this.pingUpdateTimeoutMs),this.pingV2UpdateTimeout=setInterval(this.sendPingV2,this.pingV2UpdateTimeoutMs),this.pingV2MetricsGatherTimeout=setInterval(this.gatherPingV2Metrics,this.pingV2MetricsGatherTimeoutMs),this.streamsInfoUpdateTimeout=setInterval(()=>{const{latestTtlStreamChannel:vn}=this;vn&&this.sendSystemMessage(vn,{type:"streams-info"})},this.streamsInfoUpdateTimeoutMs),this.reassemblyTableCleanupTimeout=setInterval(()=>{const vn=new Date().getTime();this.reassemblyTableLastTimestamp.forEach((Mn,Wn,Zn)=>{vn>Wn+this.reassemblyTimeoutMs&&this.reassemblyTable.delete(Mn)})},this.reassemblyTableCleanupMs),this.heartbeatTimeout=setInterval(()=>{const{heartbeatChannel:vn}=this;if(!vn||vn.readyState!=="open")return;const Mn=new Uint8Array([1]);vn.send(Mn.buffer)},this.heartbeatTimeoutMs)}handleSignal(kt){return Gr(this,void 0,void 0,function*(){const{peerConnection:xt}=this,{track:Kt}=this.config.baseConfig,Ot=(()=>{try{return JSON.parse(kt.getPayload())}catch{return}})();if(!Ot)return void yt.vF.error("Received unparseable signal.");yt.vF.debug("Handling signal",{description:Ot});const{sdp:En,type:vn}=Ot;if(!En||!vn)return void yt.vF.warn("Received non-SDP signal");const{signalingState:Mn,connectionState:Wn}=xt;if(Mn!=="stable"||Wn!=="connected")if(xt.remoteDescription)yt.vF.warn("Received SDP after remote description was set: "+En);else{if(vn==="offer"){if(Mn!=="stable")return void yt.vF.warn("Received offer SDP when signaling is ongoing.");yield xt.setRemoteDescription(Ot);const Zn=yield xt.createAnswer();yield xt.setLocalDescription(Zn);const Jn=kt.clone();return Kt==null||Kt("Answer Received",Jn),Jn.setPayload(JSON.stringify(Zn)),Jn.setReceiverId(kt.getSenderId()),Jn.setSenderId(kt.getReceiverId()),Jn}if(vn==="answer"){if(Mn==="stable")return void yt.vF.warn("Received answer SDP when signaling hasn't started.");yield xt.setRemoteDescription(Ot)}}else yt.vF.warn("Received SDP when already connected: "+En)})}send(kt,xt){const Kt=this.getChannelFromLabel(xt.channelLabel);Kt?this.sendOnChannel(Kt,kt):yt.vF.warn("Send called with unexpected channel label",{channelLabel:xt.channelLabel})}controlRemoteStream(kt){var xt;this.sendSystemMessage((jt(xt=this.reliableStreamChannel),xt),{type:"stream-control",streamControl:kt})}isActive(){return new Set(["new","checking","connected","completed"]).has(this.peerConnection.iceConnectionState)||this.isReady()}isReady(){const{reliableStreamChannel:kt,latestTtlStreamChannel:xt,latestTryOnceStreamChannel:Kt,latestReliableStreamChannel:Ot}=this;return(kt==null?void 0:kt.readyState)==="open"&&(xt==null?void 0:xt.readyState)==="open"&&(Kt==null?void 0:Kt.readyState)==="open"&&(Ot==null?void 0:Ot.readyState)==="open"}close(){return Gr(this,void 0,void 0,function*(){var kt,xt,Kt,Ot,En,vn,Mn;this.closeCalled||(this.closeCalled=!0,yield(kt=this.sessionMetrics)===null||kt===void 0?void 0:kt.uploadMetrics(),Ro(this.pingUpdateTimeout),Ro(this.pingV2UpdateTimeout),Ro(this.pingV2MetricsGatherTimeout),Ro(this.reassemblyTableCleanupTimeout),Ro(this.streamsInfoUpdateTimeout),Ro(this.heartbeatTimeout),(xt=this._peerConnection)===null||xt===void 0||xt.close(),(Kt=this.heartbeatChannel)===null||Kt===void 0||Kt.close(),(Ot=this.latestReliableStreamChannel)===null||Ot===void 0||Ot.close(),(En=this.latestTryOnceStreamChannel)===null||En===void 0||En.close(),(vn=this.latestTtlStreamChannel)===null||vn===void 0||vn.close(),(Mn=this.reliableStreamChannel)===null||Mn===void 0||Mn.close(),this._peerConnection=null,this.heartbeatChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null)})}getPing(){return this.pingTimeMs}getPingInfo(){return this.pingInfo}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionCreatedTimestamp(){var kt;return(kt=this.config.remoteConfig)===null||kt===void 0?void 0:kt.sessionCreatedTimestamp}setSessionCreatedTimestamp(kt){this.config.remoteConfig&&(this.config.remoteConfig.sessionCreatedTimestamp=kt)}getSessionId(){var kt;return(kt=this.config.remoteConfig)===null||kt===void 0?void 0:kt.sessionId}setSessionId(kt){this.config.remoteConfig&&(this.config.remoteConfig.sessionId=kt,this.sessionMetrics=new Dr(kt,this))}getRemotePeerId(){return this.config.baseConfig.remotePeerId}getRemoteDeviceId(){var kt;return(kt=this.config.baseConfig)===null||kt===void 0?void 0:kt.remoteDeviceId}setRemoteDeviceId(kt){this.config.baseConfig.remoteDeviceId=kt}getSessionMetricsMessageCounts(){var kt;return(kt=this.sessionMetrics)===null||kt===void 0?void 0:kt.counts}getConnectionStatsInfo(){return Gr(this,void 0,void 0,function*(){const{peerConnection:kt}=this;if(!kt)return;const xt=yield kt.getStats(null),Kt=[];xt.forEach(Wn=>{Kt.push(Wn)});const Ot=Kt.find(Wn=>Wn.type==="transport");if(!Ot)return;const En=Kt.find(Wn=>(Wn.type==="candidate-pair"||Wn.type==="candidatepair")&&Wn.id===Ot.selectedCandidatePairId);if(!En)return;const vn=Kt.find(Wn=>Wn.id===En.localCandidateId),Mn=Kt.find(Wn=>Wn.id===En.remoteCandidateId);return vn&&Mn&&(vn.address=vn.address||vn.ip,Mn.address=Mn.address||Mn.ip,vn.address!==void 0&&Mn.address!==void 0)?{transport:Ot,localCandidate:vn,remoteCandidate:Mn,candidatePair:En}:void 0})}initializeChannels(kt){this.heartbeatChannel=kt.createDataChannel("heartbeat",dn),this.heartbeatChannel.binaryType="arraybuffer",this.latestTtlStreamChannel=kt.createDataChannel("stream.latest-ttl",cr),this.latestTtlStreamChannel.binaryType="arraybuffer",this.reliableStreamChannel=kt.createDataChannel("stream.reliable",Ur),this.reliableStreamChannel.binaryType="arraybuffer",this.latestReliableStreamChannel=kt.createDataChannel("stream.latest-reliable",Jr),this.latestReliableStreamChannel.binaryType="arraybuffer",this.latestTryOnceStreamChannel=kt.createDataChannel("stream.latest-try-once",Sr),this.latestTryOnceStreamChannel.binaryType="arraybuffer",this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}getOffer(){return Gr(this,void 0,void 0,function*(){var kt,xt;const{gotOffer:Kt}=this,{peerConnection:Ot,config:En}=this;if(this.config.baseConfig.isLan)throw new Error('"getOffer" method can only be called with internet connections. LAN connections should call the "getLanOffer" method.');const vn=(kt=this.config.remoteConfig)===null||kt===void 0?void 0:kt.sessionId;if(Kt)return void yt.vF.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,sr(this.peerConnection))return void yt.vF.debug("Failed to generate offer because the peer connection was inactive.");const Mn=En.baseConfig.track;Ot.onicecandidate=()=>{this.hasIceCandidate=!0},Ot.oniceconnectionstatechange=()=>Gr(this,void 0,void 0,function*(){const Jt=Ot.iceConnectionState;if(Jt==="connected"||Jt==="completed"){const tn=yield this.getConnectionStatsInfo(),mn=tn?Vo(tn):void 0;yt.vF.info("ICE connection state changed to "+Jt,{sessionId:vn,connectionStatsInfo:tn,iceMode:mn}),Mn==null||Mn("ICE connection state change",{iceConnectionState:Jt,sessionId:vn,connectionStatsInfo:tn,iceMode:mn})}}),yield Ot.setLocalDescription(yield Ot.createOffer());const Wn=Ot.getConfiguration?Ot.getConfiguration().iceTransportPolicy:"all",Zn=new Date().getTime();for(;;){const Jt=new Date().getTime()-Zn;if(Jt>this.connectTimeoutMs)return void yt.vF.debug("Failed to generate offer because ICE gathering timed out.");if(Jt>this.iceGatheringTimeoutMs&&this.hasIceCandidate){yt.vF.debug("ICE gathering partially completed; proceeding",{iceTransportPolicy:Wn,waitTime:Jt}),Mn==null||Mn("ICE gathering partially completed",{sessionId:vn,iceTransportPolicy:Wn,waitTime:Jt});break}if(Ot.iceGatheringState==="complete"){yt.vF.debug("ICE gathering complete",{iceTransportPolicy:Wn,waitTime:Jt}),Mn==null||Mn("ICE gathering completed",{sessionId:vn,iceTransportPolicy:Wn,waitTime:Jt});break}yield(0,$.c)(.1*j.p.second)}const Jn=(xt=this.iceServers)!==null&&xt!==void 0?xt:[];for(const Jt of Jn)"credentialType"in Jt&&(Jt.credentialType=void 0);const lt=JSON.stringify(Jn),Bt=new cn.Signal;return Bt.setPayload(JSON.stringify(Ot.localDescription)),Bt.setSenderId(this.config.baseConfig.localPeerId),Bt.setReceiverId(this.config.baseConfig.remotePeerId),Bt.setIceServers(lt),Bt.setIceTransportPolicy(Wn??"all"),this.config.baseConfig.sessionType!==void 0?Bt.setSessionType(this.config.baseConfig.sessionType):Bt.setSessionType(cn.SessionType.TELEOP),yt.vF.debug("Sending offer signal with description",{description:Bt.getPayload()}),Bt})}getLanOffer(){return Gr(this,void 0,void 0,function*(){const{peerConnection:kt,gotOffer:xt}=this;if(!this.config.baseConfig.isLan)throw new Error('"getLanOffer" method can only be used with LAN connections. Internet connections should call the "getOffer" method.');if(xt)return void yt.vF.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,sr(this.peerConnection))return void yt.vF.debug("Failed to generate offer because the peer connection was inactive.");yield kt.setLocalDescription(yield kt.createOffer());const Kt=new Date().getTime();for(;;){if(new Date().getTime()-Kt>this.iceGatheringTimeoutMs)return void yt.vF.debug("Failed to generate offer because ICE gathering timed out.");if(kt.iceGatheringState==="complete")break;yield(0,$.c)(.1*j.p.second)}const Ot=kt.localDescription;if(Ot)return yt.vF.debug("Sending LAN offer signal with description",{description:Ot}),Ot;yt.vF.error("Failed to generate LAN offer description")})}handleLanAnswer(kt){return Gr(this,void 0,void 0,function*(){const{peerConnection:xt}=this;if(!this.config.baseConfig.isLan)throw new Error('"handleLanAnswer" method can only be used with LAN connections. Internet connections should call the "handleSignal" method.');yield xt.setRemoteDescription(kt)})}getChannelFromLabel(kt){switch(kt){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(kt,xt){var Kt;let Ot;try{Ot=(0,tr.encode)(JSON.stringify(xt))}catch(En){return void yt.vF.warn("Failed to encode RTC message",{error:En})}try{const En=new Uint8Array(Ot);kt.send(En.buffer),(Kt=this.sessionMetrics)===null||Kt===void 0||Kt.incrementLocalSent(xt)}catch(En){yt.vF.warn("Failed to send message to channel",{error:En,channel:kt.label})}}channelNotRecognized(kt){return kt!==this.latestTtlStreamChannel&&kt!==this.latestReliableStreamChannel&&kt!==this.latestTryOnceStreamChannel&&kt!==this.reliableStreamChannel}setupChannel(kt){kt.onmessage=xt=>{var Kt,Ot,En,vn;if(this.channelNotRecognized(kt))return void yt.vF.warn("Received message on unrecognized data channel.");let Mn;if(xt.data instanceof ArrayBuffer)try{if(ir(xt.data)){const Zn=Uo(xt.data);return void this.receiveBinaryH264Message(kt,Zn)}if(Nr(xt.data)){const Zn=function(Jn){if(!Nr(Jn))throw new Error("Data is not a binary chunk message");const lt=new DataView(Jn);return{communicationType:"binary-chunk",chunkId:lt.getUint32(4,!1),sequence:lt.getUint32(8,!1),total:lt.getUint32(12,!1),data:new Uint8Array(Jn.slice(16))}}(xt.data);return void this.receiveBinaryChunkMessage(kt,Zn)}const Wn=(0,tr.decode)(new Uint8Array(xt.data));Mn=JSON.parse(Wn)}catch(Wn){return void yt.vF.warn("Received unparseable binary message on RTC stream data channel",{error:Wn,channel:kt.label})}else try{const Wn=typeof xt.data=="string"?xt.data:(0,tr.decode)(xt.data instanceof ArrayBuffer?new Uint8Array(xt.data):xt.data);Mn=JSON.parse(Wn)}catch(Wn){return void yt.vF.warn("Received unparseable JSON message on RTC stream data channel",{error:Wn,channel:kt.label})}if(Mn.communicationType==="message-chunk")this.receiveChannelMessageChunk(kt,Mn);else{const Wn=Mn;if(!((Kt=Wn.payload)===null||Kt===void 0)&&Kt.h264VideoFrame){const Zn={communicationType:"binary-h264",timestamp:((Ot=Wn.header)===null||Ot===void 0?void 0:Ot.created)||Date.now(),streamName:((vn=(En=Wn.header)===null||En===void 0?void 0:En.stream)===null||vn===void 0?void 0:vn.streamName)||kt.label,frame:Wn.payload.h264VideoFrame};this.receiveBinaryH264Message(kt,Zn)}else this.receiveChannelMessage(kt,Wn)}},kt.onerror=xt=>{yt.vF.warn("Channel error: "+xt.error,{error:xt.error,sessionId:this.getSessionId(),channelLabel:kt.label})},kt.onopen=()=>{yt.vF.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:kt.label})},kt.onclose=()=>{const xt={bufferedAmount:kt.bufferedAmount,sessionId:this.getSessionId(),channelLabel:kt.label};this.closeCalled===!1?yt.vF.debug("Unexpected channel closed",xt):yt.vF.debug("Channel closed",xt)}}receiveChannelMessage(kt,xt){var Kt;const{config:Ot}=this,{remotePeerId:En}=this.config.baseConfig;this.lastMessageTimestamp=new Date().getTime(),xt=zr(xt),(Kt=this.sessionMetrics)===null||Kt===void 0||Kt.incrementLocalReceived(xt),!this.handleSystemMessage(kt,xt)&&((kt===this.latestTryOnceStreamChannel||kt===this.latestTtlStreamChannel||kt===this.latestReliableStreamChannel)&&!this.isLatestMessage(xt)||Ot.baseConfig.receive(En,xt))}receiveChannelMessageChunk(kt,xt){const Kt=this.reassemblyTable.get(xt.id)||[];if(Kt.push(xt),Kt.length===xt.total){const Ot=function(En){const vn=En.sort((Mn,Wn)=>Mn.seqMn.part).reduce((Mn,Wn)=>Mn+Wn);try{return JSON.parse(vn)}catch{return void yt.vF.warn("Could not reassemble RTC message chunks")}}(Kt);return Ot&&this.receiveChannelMessage(kt,Ot),void this.reassemblyTable.delete(xt.id)}this.reassemblyTable.set(xt.id,Kt),this.reassemblyTableLastTimestamp.set(xt.id,new Date().getTime())}receiveBinaryH264Message(kt,xt){const Kt={communicationType:"message",header:{stream:{entityId:this.config.baseConfig.remoteDeviceId||this.config.baseConfig.remotePeerId||"",streamName:xt.streamName,streamType:"h264-video-frame"},created:xt.timestamp,frameId:""},payload:{h264VideoFrame:xt.frame}};this.receiveChannelMessage(kt,Kt)}receiveBinaryChunkMessage(kt,xt){const Kt=xt.chunkId,Ot=this.binaryReassemblyTable.get(Kt)||new Map;if(Ot.set(xt.sequence,xt.data),Ot.size===xt.total){let En=0;for(const Wn of Ot.values())En+=Wn.length;const vn=new Uint8Array(En);let Mn=0;for(let Wn=0;Wn{let On=document.createElement("img");On.src=window.URL.createObjectURL(new Blob([new ArrayBuffer(5e7)])),On.onerror=function(){window.URL.revokeObjectURL(this.src),On=null}})}function jo(On){try{return On instanceof Error?`${On.name}: ${On.message}`:typeof On=="object"?JSON.stringify(On):String(On)}catch{return"Unknown error"}}function So(On){var kt,xt;return{userId:(kt=On.getUserId())===null||kt===void 0?void 0:kt.getValue(),deviceId:(xt=On.getDeviceId())===null||xt===void 0?void 0:xt.getValue(),organizationId:On.getOrganizationId(),id:On.getPeerId(),capabilities:[],capabilitySet:{}}}var kr=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};const na=On=>On.map(kt=>Object.assign(Object.assign(Object.assign({},kt),kt.username?{username:""}:null),kt.credential?{credential:""}:null));class ga{constructor(kt){this.config=kt,this.grpcCallDeadline=5*j.p.second,this.refreshIntervalDelayMs=2*j.p.second,this.iceServersTtl=30*j.p.minute,this.connections=[],this.localConnections=[],this.isConnectionInitiator=new WeakSet,this.isOutgoingConnection=new Set,this.peerDataChannelListeners=[],this.rtcInstancesConstructed=0,this.statsLoopsExecuted=0;const{refreshIntervalDelayMs:xt}=this;this.refreshInterval=_t({func:()=>kr(this,void 0,void 0,function*(){try{yield this.update()}catch(Kt){yt.vF.warn("RTC refresh failed",{error:Kt})}}),delay:xt})}send(kt,xt,Kt){const Ot=this.getActiveConnection(kt);Ot?Ot.isReady()?Ot.send(xt,Kt):yt.vF.warn("Send called with unready connection."):yt.vF.warn("Send called with no connection.")}controlRemoteStream(kt,xt){const Kt=this.getActiveConnection(kt);Kt?Kt.isReady()?Kt.controlRemoteStream(xt):yt.vF.warn("controlRemoteStream called with unready connection."):yt.vF.warn("controlRemoteStream called with no connection.")}getLocalPeer(){return kr(this,void 0,void 0,function*(){for(;!this.localPeer;)yield(0,$.c)(.1*j.p.second);return So(this.localPeer)})}connect(kt,xt){return kr(this,void 0,void 0,function*(){var Kt,Ot,En;if(this.config.lanOnlyMode===!0)throw new Error("connect method called in local only mode.");const{track:vn,signalingClient:Mn}=this.config,{localPeer:Wn,receiveSignalStream:Zn,iceServers:Jn}=this;if(!Wn||!Zn||!Jn)return void yt.vF.warn("Connect called prior to local peer, receiveSignalStream, and ICE servers ready");if(this.getActiveConnection(kt))return void yt.vF.warn("Connect called for peer with existing connection.");if(this.isOutgoingConnection.has(kt))return void yt.vF.warn("Connect called for peer with an existing outgoing connection offer.");this.isOutgoingConnection.add(kt);const lt=function(dr,Qr,Vr){const{rtcIceTransportPolicies:Yr,rtcIceServerProtocol:_i,useAllServers:eo}=Qr||{},jr=dr.map($r=>Object.assign(Object.assign({},$r),{urls:$r.urls.filter(go=>{const _o=(Yr===void 0||Yr.some(Po=>yn(go,Po)))&&(_i===void 0||Vn(go,_i));return _o||yt.vF.debug("Ignoring ICE server: "+go,{organizationId:Vr}),_o})})).filter(({urls:$r})=>$r.filter(go=>go).length>0);return eo?jr:[pn(jr,"stun"),pn(jr,"turn")].filter($r=>$r!==void 0).map($r=>zt($r))}(Jn,xt);yt.vF.debug("Received ICE servers:",na(Jn)),yt.vF.debug("Using ICE servers:",na(lt));const Bt=new lo(yield this.createRTCPeerConnection(lt),lt,{baseConfig:{isOffer:!0,isLan:!1,receive:(dr,Qr)=>this.config.receive(dr,Qr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(dr,Qr)=>{var Vr,Yr;return(Yr=(Vr=this.config).onStreamsInfoUpdate)===null||Yr===void 0?void 0:Yr.call(Vr,dr,Qr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(Kt=Wn.getUserId())===null||Kt===void 0?void 0:Kt.getValue(),localPeerId:Wn.getPeerId(),remotePeerId:kt,sessionType:this.config.sessionType},remoteConfig:{}},dr=>this.onCustomDataChannel(kt,dr)),Jt=yield Bt.getOffer();if(!Jt)return yt.vF.error("Failed to generate offer."),void this.isOutgoingConnection.delete(kt);yt.vF.debug("Sending offer."),vn==null||vn("Sending offer",(0,kn.x)(Jt));const tn=new cn.SendSignalRequest;tn.setSignal(Jt);const mn=yield(()=>kr(this,void 0,void 0,function*(){try{return yield nr.withDeadline(Mn.sendSignal(tn,yield this.getMetadata()),this.grpcCallDeadline)}catch(dr){yt.vF.warn("Error when sending signal",{error:dr})}}))();if(!this.isOutgoingConnection.has(kt))return void yt.vF.debug("No offer set after receiving offer signal response.");yt.vF.debug("Offer sent.");const Dn=(Ot=mn==null?void 0:mn.getSessionId())===null||Ot===void 0?void 0:Ot.getValue(),qn=(En=mn==null?void 0:mn.getSessionCreatedTimestamp())===null||En===void 0?void 0:En.getValue();return Dn&&qn?(Bt.setSessionId(Dn),Bt.setSessionCreatedTimestamp(qn),this.isOutgoingConnection.delete(kt),this.connections.push(Bt),this.isConnectionInitiator.add(Bt),this.setupHandlers(Bt),Dn):(yt.vF.warn("No session ID or no session created timestamp on send signal response."),void this.isOutgoingConnection.delete(kt))})}connectLan(kt){return kr(this,void 0,void 0,function*(){var xt,Kt;const Ot=new Nn(kt),En=new lo(yield this.createRTCPeerConnection([]),[],{baseConfig:{isOffer:!0,isLan:!0,receive:(Zn,Jn)=>this.config.receive(Zn,Jn),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Zn,Jn)=>{var lt,Bt;return(Bt=(lt=this.config).onStreamsInfoUpdate)===null||Bt===void 0?void 0:Bt.call(lt,Zn,Jn)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(Kt=(xt=this.localPeer)===null||xt===void 0?void 0:xt.getUserId())===null||Kt===void 0?void 0:Kt.getValue(),localPeerId:"lan_client",remotePeerId:kt}},Zn=>this.onCustomDataChannel(kt,Zn)),vn=yield En.getLanOffer();if(!vn)return yt.vF.warn("Could not generate LAN offer"),!1;const Mn=yield Ot.postLanRtcOffer({offer:JSON.stringify(vn)}),Wn=new RTCSessionDescription(JSON.parse(Mn.answer));return yield En.handleLanAnswer(Wn),this.localConnections.push(En),this.isConnectionInitiator.add(En),(0,sn.A)()})}getConnections(){return[...this.connections,...this.localConnections]}createCustomDataChannel(kt,xt,Kt,Ot,En){const vn=this.getActiveConnection(kt);if(vn&&this.isConnectionInitiator.has(vn)){const Wn=vn.peerConnection.createDataChannel("custom."+xt,Kt);return Ot&&(Wn.binaryType="arraybuffer"),En(kt,Wn),()=>{}}const Mn=(Wn,Zn)=>{kt===Wn&&Zn.label==="custom."+xt&&En(kt,Zn)};return this.peerDataChannelListeners.push(Mn),()=>{this.peerDataChannelListeners=this.peerDataChannelListeners.filter(Wn=>Wn!==Mn)}}onCustomDataChannel(kt,xt){this.peerDataChannelListeners.forEach(Kt=>Kt(kt,xt))}getConnectionStatus(kt){if(this.isOutgoingConnection.has(kt))return"connecting";const xt=this.getActiveConnection(kt);return xt?xt.isReady()?"connected":"connecting":"disconnected"}getConnectionStatsInfo(kt){return kr(this,void 0,void 0,function*(){const xt=this.getActiveConnection(kt);if(xt)return yield xt.getConnectionStatsInfo()})}disconnect(kt){return kr(this,void 0,void 0,function*(){const xt=this.getActiveConnection(kt);xt&&(yield xt.close(),this.connections=this.connections.filter(Kt=>Kt!==xt),this.localConnections=this.localConnections.filter(Kt=>Kt!==xt))})}getPeers(){return kr(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:kt}=this.config,xt=yield(()=>kr(this,void 0,void 0,function*(){try{return yield nr.withDeadline(kt.getPeers(new cn.GetPeersRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(En){yt.vF.warn("Error when getting peers",{error:En})}}))();if(!xt)return[];const Kt=xt.getPeersList();if(!Kt)return[];const Ot=En=>{var vn,Mn;return(Mn=(vn=En.getPeerCreatedTimestamp())===null||vn===void 0?void 0:vn.getValue())!==null&&Mn!==void 0?Mn:0};return Kt.sort((En,vn)=>Ot(vn)-Ot(En)).map(En=>So(En))})}getSessions(){return kr(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:kt}=this.config,xt=yield(()=>kr(this,void 0,void 0,function*(){try{return yield nr.withDeadline(kt.getPeers(new cn.GetPeersRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(En){yt.vF.warn("Error when getting peers",{error:En})}}))();if(!xt)return{};const Kt=xt.getPeersList(),Ot={};for(const En of Kt)Ot[En.getPeerId()]=En.getSessionIdsList();return Ot})}getPing(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.getPing();yt.vF.warn("Attempted to get ping time from inactive peer.")}getPingInfo(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.getPingInfo();yt.vF.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.getLastMessageTimestamp();yt.vF.warn("Attempted to get last message time from inactive peer.")}getSessionMetricsMessageCounts(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.getSessionMetricsMessageCounts();yt.vF.warn("Attempted to get session metrics counts from inactive peer.")}isReady(){if(this.config.lanOnlyMode)return!0;const{localPeer:kt,receiveSignalStream:xt,iceServers:Kt}=this;return!!(kt&&xt&&Kt)}shutdown(){return kr(this,void 0,void 0,function*(){yield this.refreshInterval.stop(),this.receiveSignalStream&&this.receiveSignalStream.cancel();const kt=this.connections;this.connections=[],yield this.closeConnections(kt);const xt=this.localConnections;this.localConnections=[],yield this.closeConnections(xt),this.isOutgoingConnection.clear(),this.peerDataChannelListeners=[];const{localPeer:Kt}=this;if(!Kt||this.config.lanOnlyMode)return;const{signalingClient:Ot}=this.config;yield(()=>kr(this,void 0,void 0,function*(){try{const En=new cn.DeletePeerRequest;En.setPeerId(Kt.getPeerId()),yield nr.withDeadline(Ot.deletePeer(En,yield this.getMetadata()),this.grpcCallDeadline)}catch(En){return void yt.vF.warn("Error deleting local peer",{error:En})}}))()})}createPeer(){return kr(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createPeer method cannot be used in local-only mode.");const{signalingClient:kt}=this.config,xt=yield(()=>kr(this,void 0,void 0,function*(){try{return yield nr.withDeadline(kt.createPeer(new cn.CreatePeerRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(Ot){const En=Ot;yt.vF.debug("createPeer failed",{error:En});const vn=jo(En);throw new Error("Was not able to create peer: "+vn)}}))(),Kt=xt==null?void 0:xt.getPeer();if(!Kt)throw new Error("Response did not provide peer.");return this.localPeer=Kt})}createReceiveSignalStream(){return kr(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createReceiveSignalStream method cannot be used in local-only mode.");const{signalingClient:kt}=this.config,{localPeer:xt,iceServers:Kt}=this;if(!xt||!Kt)return;const{receiveSignalStream:Ot}=this;Ot&&Ot.cancel();const En=new cn.ReceiveSignalStreamRequest;En.setPeerId(xt.getPeerId());const vn=yield(()=>kr(this,void 0,void 0,function*(){try{return kt.receiveSignalStream(En,yield this.getMetadata({hasDeadline:!1}))}catch(Mn){yt.vF.debug("createReceiveSignalStream failed",{error:Mn});const Wn=jo(Mn);throw new Error("Unable to create receive signal stream: "+Wn)}}))();if(!vn)throw new Error("Response did not provide stream.");return vn.on("data",Mn=>kr(this,void 0,void 0,function*(){var Wn,Zn,Jn,lt;const Bt=Mn.getSignal(),Jt=(Wn=Bt==null?void 0:Bt.getSessionId())===null||Wn===void 0?void 0:Wn.getValue(),tn=Bt==null?void 0:Bt.getSenderId(),mn=Bt==null?void 0:Bt.getReceiverId(),Dn=(Zn=Bt==null?void 0:Bt.getSessionCreatedTimestamp())===null||Zn===void 0?void 0:Zn.getValue();if(!(Bt&&Jt&&tn&&mn&&Dn))return void yt.vF.warn("Received signal with missing information.");const qn=this.getActiveConnection(tn);if(qn)if(qn.getSessionId()!==Jt){if(yt.vF.debug("Received signal: different session for a peer we're already connected to."),(qn.getSessionCreatedTimestamp()||0)>Dn)return;const dr=new lo(yield this.createRTCPeerConnection(Kt),Kt,{baseConfig:{isOffer:!1,isLan:!1,receive:(Qr,Vr)=>this.config.receive(Qr,Vr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Qr,Vr)=>{var Yr,_i;return(_i=(Yr=this.config).onStreamsInfoUpdate)===null||_i===void 0?void 0:_i.call(Yr,Qr,Vr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:xt.getPeerId(),localUserId:(lt=xt.getUserId())===null||lt===void 0?void 0:lt.getValue(),remotePeerId:tn},remoteConfig:{sessionId:Jt,sessionCreatedTimestamp:Dn}},Qr=>this.onCustomDataChannel(tn,Qr));yield dr.handleSignal(Bt),this.connections.push(dr)}else yt.vF.debug("Received signal: for an existing connection."),yield qn.handleSignal(Bt);else{yt.vF.debug("Received signal: new connection.");const dr=new lo(yield this.createRTCPeerConnection(Kt),Kt,{baseConfig:{isOffer:!1,isLan:!1,receive:(Qr,Vr)=>this.config.receive(Qr,Vr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Qr,Vr)=>{var Yr,_i;return(_i=(Yr=this.config).onStreamsInfoUpdate)===null||_i===void 0?void 0:_i.call(Yr,Qr,Vr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:xt.getPeerId(),localUserId:(Jn=xt.getUserId())===null||Jn===void 0?void 0:Jn.getValue(),remotePeerId:tn},remoteConfig:{sessionId:Jt,sessionCreatedTimestamp:Dn}},Qr=>this.onCustomDataChannel(tn,Qr));yield dr.handleSignal(Bt),this.connections.push(dr)}})),vn.on("end",()=>{vn.cancel(),this.receiveSignalStream=void 0}),vn.on("error",Mn=>{switch(Mn.code){case fn.StatusCode.CANCELLED:case fn.StatusCode.UNAVAILABLE:case fn.StatusCode.UNKNOWN:yt.vF.debug("Receive signal stream error",{error:Mn});break;case fn.StatusCode.UNAUTHENTICATED:yt.vF.warn("Receive signal stream error",{error:Mn});break;default:yt.vF.error("Receive signal stream error",{error:Mn})}vn.cancel(),this.receiveSignalStream=void 0}),this.receiveSignalStream=vn})}createRTCPeerConnection(kt){return kr(this,void 0,void 0,function*(){var xt;const Kt=(xt=this.config.alternateRTCPeerConnection)!==null&&xt!==void 0?xt:window.RTCPeerConnection;if(!Kt)throw function(){if(typeof navigator>"u")throw new Error("not a browser");const{userAgent:Ot}=navigator;return Ot.includes("Firefox/")?"Firefox":Ot.includes("Edg/")?"Edge":Ot.includes("Chrome/")?"Chrome":Ot.includes("Safari/")?"Safari":Ot.includes("MSIE/")||Ot.includes("Trident/")?"IE":"Other"}()!=="Chrome"?new Error("WebRTC is not enabled. Please try again with the latest version of Google Chrome."):new Error("WebRTC is not enabled. Please ensure WebRTC is not disabled by ad blocking software.");this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||ts();try{return new Kt({iceServers:kt})}catch(Ot){throw yt.vF.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),Ot}})}closeConnections(kt){return kr(this,void 0,void 0,function*(){const xt=yield zn(kt.map(Kt=>kr(this,void 0,void 0,function*(){yield Kt.close()})));for(const Kt of xt)yt.vF.warn("Request to close session failed",{error:Kt})})}getActiveConnection(kt){return this.getConnections().find(xt=>xt.getRemotePeerId()===kt&&xt.isActive())}update(){return kr(this,void 0,void 0,function*(){var kt;if(this.localConnections=this.localConnections.filter(lt=>lt.isActive()),this.config.lanOnlyMode)return;const{signalingClient:xt}=this.config;if(!this.localPeer||!this.receiveSignalStream||!this.iceServers){const lt=[];return this.localPeer||lt.push(this.createPeer()),this.iceServers||lt.push(this.updateIceServers()),yield Promise.all(lt),void(this.receiveSignalStream||(yield this.createReceiveSignalStream()))}const[Kt,Ot]=(En=this.connections,vn=lt=>lt.isActive(),En.reduce((lt,Bt,Jt,tn)=>{const[mn,Dn]=lt;return(vn(Bt,Jt,tn)?mn:Dn).push(Bt),lt},[[],[]]));var En,vn;yield this.closeConnections(Ot),this.connections=Kt,this.gatherConnectionStats().catch(lt=>{yt.vF.warn("Error calling gatherConnectionStats",{error:lt})}),this.statsLoopsExecuted++;const{localPeer:Mn}=this,Wn=this.connections.filter(lt=>lt.getSessionId).map(lt=>zt(lt.getSessionId()));Mn.setSessionIdsList(Wn);const Zn=new cn.RefreshPeerRequest;Zn.setPeer(Mn);try{yield nr.withDeadline(xt.refreshPeer(Zn,yield this.getMetadata()),this.grpcCallDeadline)}catch(lt){lt instanceof fn.RpcError&<.code===fn.StatusCode.NOT_FOUND?(yt.vF.warn("Peer expired, creating new peer",{peerId:Mn.getPeerId()}),yield this.reset()):yt.vF.warn("Error calling RefreshPeer",{error:lt})}const Jn=yield this.getPeers();for(const lt of this.connections)lt.setRemoteDeviceId((kt=Jn.find(Bt=>Bt.id===lt.getRemotePeerId()))===null||kt===void 0?void 0:kt.deviceId)})}gatherConnectionStats(){return kr(this,void 0,void 0,function*(){if(this.statsLoopsExecuted%10!=0||this.connections.length!==1)return;const kt=yield this.connections[0].getConnectionStatsInfo(),xt=kt?Vo(kt):void 0;xt?qt.setTag("rtc-connection-type",xt):qt.setTag("rtc-connection-type","unknown")})}reset(){return kr(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.isOutgoingConnection.clear(),yield this.createPeer(),yield this.createReceiveSignalStream()})}updateIceServers(){return kr(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)return;const{iceServersLastUpdate:kt,iceServersTtl:xt}=this,Kt=new Date().getTime();if(!kt||Kt-kt>xt)try{const Ot=(yield nr.withDeadline(this.config.signalingClient.getIceServers(new cn.GetIceServersRequest,yield this.getMetadata()),this.grpcCallDeadline)).getIceServers();this.iceServers=JSON.parse(Ot),this.iceServersLastUpdate=Kt}catch(Ot){yt.vF.warn("Error in updateIceServers",{error:Ot})}})}setupHandlers(kt){const{peerConnection:xt}=kt,Kt=kt.getSessionCreatedTimestamp();xt.onconnectionstatechange=()=>kr(this,void 0,void 0,function*(){const Ot=xt.connectionState;if(!Kt)return;const En=kt.getRemoteDeviceId();switch(Ot){case"connected":qt.aggregate("rtc-connect-time",new Date().getTime()-Kt,Object.assign({},En?{deviceId:En}:{}));break;case"failed":qt.increment("rtc-connect-failed",Object.assign({},En?{deviceId:En}:{}))}})}getMetadata(){return kr(this,arguments,void 0,function*(kt={}){if(this.config.lanOnlyMode)throw new Error("getMetadata method cannot be called in local-only mode");const{getToken:xt}=this.config,{grpcCallDeadline:Kt}=this,{hasDeadline:Ot=!0}=kt,En=Ot?{deadline:(Date.now()+Kt).toString(10)}:null;try{const vn=yield xt();return Object.assign({authorization:vn},En)}catch(vn){throw yt.vF.error("getToken() failed",{error:vn}),new Error("Cannot get authorization token")}})}}var ho=__webpack_require__(3721),oo=__webpack_require__(7197),ns=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class Zo{constructor(kt,xt){this.sentMessagesCounts=new Map,this.receivedMessagesCounts=new Map,this.sessionId=kt,this.connection=xt}incrementMessageSent(kt){const xt=Hn(kt.header.stream);this.sentMessagesCounts.set(xt,(this.sentMessagesCounts.get(xt)||0)+1)}incrementMessageReceived(kt){const xt=Hn(kt.header.stream);this.receivedMessagesCounts.set(xt,(this.receivedMessagesCounts.get(xt)||0)+1)}uploadMetrics(){return ns(this,void 0,void 0,function*(){const{sessionId:kt}=this,xt=yield this.connection.peerConnection.getStats(),Kt={};xt.forEach(En=>Kt[En.id]=En),yt.vF.debug("rtc-stats",Object.assign(Object.assign({},Kt),{sessionId:kt}));const Ot=[...new Set(Array.from(this.sentMessagesCounts.keys()).concat(Array.from(this.receivedMessagesCounts.keys())))].reduce((En,vn)=>{const Mn=this.sentMessagesCounts.get(vn),Wn=this.receivedMessagesCounts.get(vn);return Object.assign(Object.assign({},En),{[vn+"-sent"]:Mn,[vn+"-received"]:Wn})},{sessionId:kt});yt.vF.debug("rtc-message-report",Ot)})}}function Lo(On,kt){return Hn(On)===Hn(kt)}var co=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class Fo{constructor(kt,xt){this.peerConnection=kt,this.config=xt,this.connectTimeoutMs=10*j.p.second,this.gatherIceTimeoutMs=5*j.p.second,this.pingUpdateTimeoutMs=2*j.p.second,this.streamLatestTimestamp=new Map,this.closeCalled=!1,this.connectCalled=!1,this.sentOffer=!1,this.receivedIceCandidate=!1;const{isOffer:Kt}=xt;Kt?this.initializeChannels(kt):kt.ondatachannel=Ot=>{switch(Ot.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=Ot.channel;break;case"stream.reliable":this.reliableStreamChannel=Ot.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=Ot.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=Ot.channel}this.setupChannel(Ot.channel)},this.sessionMetrics=new Zo(this.getSessionId(),this)}connect(){return co(this,void 0,void 0,function*(){if(this.connectCalled)return;this.connectCalled=!0,this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:Ot}=this;Ot&&this.sendSystemMessage(Ot,{type:"ping"})},this.pingUpdateTimeoutMs),this.connectTimeout=setTimeout(()=>co(this,void 0,void 0,function*(){this.isReady()||(yt.vF.warn("RTC connect timed out, closing connection"),yield this.close())}),this.connectTimeoutMs);const{peerConnection:kt,config:{isOffer:xt,sessionId:Kt}}=this;if(xt){const Ot=yield kt.createOffer();yield kt.setLocalDescription(Ot)}xt&&(this.gatherIceTimeout=setTimeout(()=>co(this,void 0,void 0,function*(){this.sentOffer||(yt.vF.warn("ICE gathering timed out"),this.receivedIceCandidate?(yt.vF.warn("Attempting to connect with partial ICE candidate pool"),yield this.sendOffer()):yield this.close())}),this.gatherIceTimeoutMs),kt.onicecandidate=Ot=>co(this,void 0,void 0,function*(){Ot.candidate?this.receivedIceCandidate=!0:yield this.sendOffer()}),kt.onicegatheringstatechange=()=>co(this,void 0,void 0,function*(){kt.iceGatheringState==="complete"&&(yield this.sendOffer())}),kt.onnegotiationneeded=()=>{yt.vF.debug("Negotiation needed",{sessionId:Kt})})})}handleSignal(kt){return co(this,void 0,void 0,function*(){const{peerConnection:xt,config:{sessionId:Kt,sendSignal:Ot}}=this,{description:En}=JSON.parse(kt.payload);if(yt.vF.debug("Handling signal",{sessionId:Kt,description:JSON.stringify(En)}),En)if(xt.signalingState!=="stable"||xt.connectionState!=="connected")if(xt.remoteDescription)yt.vF.warn("Received SDP signal during negotiation when remote description is already set: "+JSON.stringify(kt));else if(En.type==="offer"){yield xt.setRemoteDescription(En);const vn=yield xt.createAnswer();yield xt.setLocalDescription(vn),yield Ot({payload:JSON.stringify({description:vn})})}else En.type==="answer"&&(yield xt.setRemoteDescription(En));else yt.vF.warn("Received SDP signal when signaling is stable and connected: "+JSON.stringify(kt));else yt.vF.warn("Received non-SDP signal: "+JSON.stringify(kt))})}send(kt,xt){const Kt=this.getChannelFromLabel(xt.channelLabel);Kt?this.sendOnChannel(Kt,kt):yt.vF.warn("Send called with unexpected channel label",{channelLabel:xt.channelLabel})}controlRemoteStream(kt){this.sendSystemMessage(zt(this.reliableStreamChannel),{type:"stream-control",streamControl:kt})}isActive(){return new Set(["new","connecting","connected"]).has(this.peerConnection.connectionState)}isReady(){const{peerConnection:kt,latestTtlStreamChannel:xt,reliableStreamChannel:Kt,latestTryOnceStreamChannel:Ot}=this;return!!(Kt&&xt&&Ot)&&kt.connectionState==="connected"&&Kt.readyState==="open"&&xt.readyState==="open"&&Ot.readyState==="open"}isClosed(){const{peerConnection:kt,reliableStreamChannel:xt,latestTryOnceStreamChannel:Kt,latestTtlStreamChannel:Ot}=this;return!(kt.connectionState!=="closed"||xt!==void 0&&xt.readyState!=="closed"||Kt!==void 0&&Kt.readyState!=="closed"||Ot!==void 0&&Ot.readyState!=="closed")}needsClosing(){const{peerConnection:kt,latestTtlStreamChannel:xt,reliableStreamChannel:Kt,latestTryOnceStreamChannel:Ot}=this;if(this.isClosed())return!1;const En=new Set(["closing","closed"]),vn=Mn=>Mn&&En.has(Mn.readyState);return sr(kt)||vn(xt)||vn(Kt)||vn(Ot)}close(){return co(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield this.sessionMetrics.uploadMetrics(),this.pingUpdateTimeout&&clearInterval(this.pingUpdateTimeout),this.connectTimeout&&clearTimeout(this.connectTimeout),this.gatherIceTimeout&&clearTimeout(this.gatherIceTimeout),this.peerConnection.close())})}getPing(){return this.pingTimeMs}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionId(){return this.config.sessionId}getRemotePeer(){return this.config.remotePeer}initializeChannels(kt){this.latestTtlStreamChannel=kt.createDataChannel("stream.latest-ttl",cr),this.reliableStreamChannel=kt.createDataChannel("stream.reliable",Ur),this.latestReliableStreamChannel=kt.createDataChannel("stream.latest-reliable",Jr),this.latestTryOnceStreamChannel=kt.createDataChannel("stream.latest-try-once",Sr),this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}sendOffer(){return co(this,void 0,void 0,function*(){if(this.sentOffer||(this.sentOffer=!0,sr(this.peerConnection)))return;const{peerConnection:kt,config:{sendSignal:xt}}=this,Kt=yield kt.createOffer();yield kt.setLocalDescription(Kt);const Ot={payload:JSON.stringify({description:Kt})};yield xt(Ot)})}getChannelFromLabel(kt){switch(kt){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(kt,xt){let Kt;try{Kt=(0,tr.encode)(JSON.stringify(xt))}catch(Ot){return void yt.vF.warn("Failed to encode RTC message",{error:Ot})}try{kt.send(Kt),this.sessionMetrics.incrementMessageSent(xt)}catch(Ot){yt.vF.warn("Failed to send message to channel",{error:Ot,channel:kt.label})}}channelNotRecognized(kt){return kt!==this.latestTtlStreamChannel&&kt!==this.latestReliableStreamChannel&&kt!==this.latestTryOnceStreamChannel&&kt!==this.reliableStreamChannel}setupChannel(kt){kt.onmessage=xt=>{if(this.channelNotRecognized(kt))return void yt.vF.warn("Received message on unrecognized data channel.");let Kt;try{Kt=JSON.parse((0,tr.decode)(xt.data))}catch(Ot){return void yt.vF.warn("Received unparseable RTC message",{error:Ot,channel:kt.label})}if(this.lastMessageTimestamp=new Date().getTime(),Kt=zr(Kt),this.sessionMetrics.incrementMessageReceived(Kt),!this.handleSystemMessage(kt,Kt)){if(!this.hasCapabilities(Kt))return void yt.vF.warn("Received RTC message that was not within the capability scope of the connection.");(kt===this.latestTryOnceStreamChannel||kt===this.latestTtlStreamChannel||kt===this.latestReliableStreamChannel)&&!this.isLatestMessage(Kt)||this.config.receive(this.config.remotePeer.id,Kt)}},kt.onerror=xt=>{yt.vF.warn("Channel error: "+xt.error,{error:xt.error,sessionId:this.getSessionId(),channelLabel:kt.label})},kt.onopen=()=>{yt.vF.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:kt.label})},kt.onclose=()=>{const xt={bufferedAmount:kt.bufferedAmount,sessionId:this.getSessionId(),channelLabel:kt.label};this.closeCalled===!1?yt.vF.debug("Unexpected channel closed",xt):yt.vF.debug("Channel closed",xt)}}handleSystemMessage(kt,xt){switch(xt.header.stream.streamType){case"ping":return this.sendSystemMessage(kt,{type:"pong",timestamp:zt(xt.payload.ping)}),!0;case"pong":{const Kt=new Date().getTime()-zt(xt.payload.pong);return this.pingTimeMs=Kt,qt.aggregate("rtc-ping-time",Kt),!0}case"stream-control":return!0;default:return!1}}sendSystemMessage(kt,xt){if(kt.readyState!=="open")return;const Kt={entityId:zt(this.config.localPeer.deviceId||this.config.localPeer.userId),streamName:"$."+xt.type,streamType:xt.type};let Ot;switch(xt.type){case"ping":Ot={ping:new Date().getTime()};break;case"pong":Ot={pong:xt.timestamp};break;case"stream-control":Ot={streamControl:xt.streamControl}}this.sendOnChannel(kt,uo(Kt,Ot))}hasCapabilities(kt){var xt,Kt;const{localPeer:Ot,remotePeer:En}=this.config,vn=(xt=Ot.capabilitySet.streaming)===null||xt===void 0?void 0:xt.streams,Mn=vn&&vn.some(Jn=>Jn.receive&&Lo(Jn.stream,kt.header.stream)),Wn=(Kt=En.capabilitySet.streaming)===null||Kt===void 0?void 0:Kt.streams,Zn=Wn&&Wn.some(Jn=>Jn.send&&Lo(Jn.stream,kt.header.stream));return Mn||Zn}isLatestMessage(kt){const xt=Hn(kt.header.stream),Kt=(this.streamLatestTimestamp.get(xt)||0)<=kt.header.created;return Kt&&this.streamLatestTimestamp.set(xt,kt.header.created),Kt}}var er=function(On,kt,xt,Kt){return new(xt||(xt=Promise))(function(Ot,En){function vn(Zn){try{Wn(Kt.next(Zn))}catch(Jn){En(Jn)}}function Mn(Zn){try{Wn(Kt.throw(Zn))}catch(Jn){En(Jn)}}function Wn(Zn){var Jn;Zn.done?Ot(Zn.value):(Jn=Zn.value,Jn instanceof xt?Jn:new xt(function(lt){lt(Jn)})).then(vn,Mn)}Wn((Kt=Kt.apply(On,kt||[])).next())})};class gr{constructor(kt){this.config=kt,this.connections=[],this.connectingSessions=new Map,this.rtcInstancesConstructed=0,this.updateInterval=_t({func:()=>er(this,void 0,void 0,function*(){try{yield this.update()}catch(xt){yt.vF.warn("RTC update failed",{error:xt})}}),delay:250*j.p.millisecond}),this.localPeer=this.createPeer()}send(kt,xt,Kt){const Ot=this.getActiveConnection(kt);Ot?Ot.isReady()?Ot.send(xt,Kt):yt.vF.warn("Attempted to send with an active connection to that peer which was not yet ready."):yt.vF.warn("Attempted to send with no active connection to that peer.")}controlRemoteStream(kt,xt){const Kt=this.getActiveConnection(kt);Kt?Kt.isReady()?Kt.controlRemoteStream(xt):yt.vF.warn("Attempted to control remote stream with an active connection to that peer which was not yet ready."):yt.vF.warn("Attempted to control remote stream with no active connection to that peer.")}connect(kt){return er(this,void 0,void 0,function*(){const xt=yield this.getLocalPeer();if(this.getActiveConnection(kt))return void yt.vF.warn("Attempted to connect to peer with an already active connection.");let Kt;try{Kt=yield this.config.signalingClient.createSession(yield this.config.getToken(),{offerPeerId:xt.id,answerPeerId:kt})}catch(Ot){(0,ho.e)(Ot,oo.o,En=>En.statusCode===404),yt.vF.warn("Attempted to connect to peer that does not exist.")}if(Kt)for(this.connectingSessions.set(Kt.id,new Date().getTime()),yield this.connectToSession(Kt);;)switch(yield(0,$.c)(.1),this.getConnectionStatus(kt)){case"connecting":continue;case"connected":return Kt.id;case"disconnected":return}})}getConnectionStatus(kt){const xt=this.getActiveConnection(kt);return xt?xt.isReady()?"connected":"connecting":"disconnected"}getIceMode(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.iceMode}disconnect(kt){return er(this,void 0,void 0,function*(){const xt=this.getActiveConnection(kt);xt&&(yield this.closeConnection(xt))})}getLocalPeer(){return er(this,void 0,void 0,function*(){return yield this.localPeer})}getPeers(){return er(this,void 0,void 0,function*(){return yield this.config.signalingClient.getPeers(yield this.config.getToken())})}getPing(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.getPing();yt.vF.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(kt){const xt=this.getActiveConnection(kt);if(xt)return xt.getLastMessageTimestamp();yt.vF.warn("Attempted to get ping time from inactive peer.")}shutdown(){return er(this,void 0,void 0,function*(){yield this.updateInterval.stop();const kt=this.connections;this.connections=[],yield this.closeConnections(kt)})}closeConnection(kt){return er(this,void 0,void 0,function*(){this.connectingSessions.delete(kt.getSessionId()),yield kt.close();try{yield this.config.signalingClient.deleteSession(yield this.config.getToken(),kt.getSessionId())}catch(xt){(0,ho.e)(xt,oo.o,Kt=>Kt.statusCode===404)}})}getSessions(){return er(this,void 0,void 0,function*(){const kt=yield this.getLocalPeer();return(yield this.config.signalingClient.getSessions(yield this.config.getToken())).filter(xt=>xt.offer.peer.id===kt.id||xt.answer.peer.id===kt.id)})}createPeer(){return er(this,void 0,void 0,function*(){return yield this.config.signalingClient.createPeer(yield this.config.getToken(),{capabilitySet:this.config.capabilitySet||{}})})}createRTCPeerConnection(){return er(this,arguments,void 0,function*(kt={}){const xt=this.config.alternateRTCPeerConnection||RTCPeerConnection;this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||ts();try{return new xt(Object.assign({iceServers:yield this.config.signalingClient.getIceServers(yield this.config.getToken())},kt))}catch(Kt){throw yt.vF.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),Kt}})}closeConnections(kt){return er(this,void 0,void 0,function*(){const xt=yield zn(kt.map(Kt=>er(this,void 0,void 0,function*(){yield this.closeConnection(Kt)})));for(const Kt of xt)yt.vF.warn("Request to close session failed",{error:Kt})})}reset(){return er(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.connectingSessions=new Map,this.localPeer=this.createPeer(),yield this.localPeer})}getActiveConnection(kt){return this.connections.find(xt=>xt.getRemotePeer().id===kt&&xt.isActive())}update(){return er(this,void 0,void 0,function*(){const kt=yield this.getLocalPeer();try{yield this.config.signalingClient.refreshPeer(yield this.config.getToken(),kt.id)}catch(xt){(0,ho.e)(xt,oo.o,Kt=>Kt.statusCode===404),yt.vF.warn("Peer expired, creating new peer",{peerId:kt.id}),yield this.reset()}yield this.handleSessions(yield this.getSessions())})}handleSessions(kt){return er(this,void 0,void 0,function*(){yield this.syncConnectionsAndSessions(kt);const xt=kt.map(Kt=>({session:Kt,connection:this.connections.find(Ot=>Ot.getSessionId()===Kt.id)}));yield Promise.all(xt.map(Kt=>er(this,[Kt],void 0,function*({session:Ot,connection:En}){return yield this.maintainConnection(Ot,En)})))})}syncConnectionsAndSessions(kt){return er(this,void 0,void 0,function*(){const xt=new Set(kt.map(En=>En.id)),Kt=En=>xt.has(En.getSessionId())||this.connectingSessions.has(En.getSessionId());this.connections=this.connections.filter(En=>Kt(En));const Ot=this.connections.filter(En=>!Kt(En)||En.needsClosing());yield Promise.all(Ot.map(En=>er(this,void 0,void 0,function*(){yield this.closeConnection(En)})))})}maintainConnection(kt,xt){return er(this,void 0,void 0,function*(){const Kt=yield this.getLocalPeer(),Ot=kt.offer.peer.id===Kt.id;if(xt){if(xt.isReady())try{yield this.config.signalingClient.refreshSession(yield this.config.getToken(),kt.id)}catch(En){(0,ho.e)(En,oo.o,vn=>vn.statusCode===404),yt.vF.debug("Refresh session not found",{sessionId:kt.id})}else if(xt.isActive())try{yield this.consumeSignals(xt)}catch(En){yt.vF.warn("Failed to ingest signals, closing connection",{error:En}),yield this.closeConnection(xt)}}else{if(Ot)return;yield this.connectToSession(kt)}})}connectToSession(kt){return er(this,void 0,void 0,function*(){const xt=yield this.getLocalPeer(),Kt=kt.offer.peer.id===xt.id,Ot=yield this.createRTCPeerConnection(),En=new Fo(Ot,{localPeer:Kt?kt.offer.peer:kt.answer.peer,remotePeer:Kt?kt.answer.peer:kt.offer.peer,sessionId:kt.id,isOffer:Kt,sendSignal:vn=>this.sendSignal(kt.id,vn),receive:(vn,Mn)=>this.config.receive(vn,Mn)});if(this.connections.find(vn=>vn.getSessionId()===kt.id))return yt.vF.warn("connectToSession called on a session that already has a connection.",{sessionId:kt.id}),void(yield En.close());this.setupHandlers(En),this.connections.push(En);try{yield En.connect()}catch(vn){yt.vF.warn("Failed to handle negotiation, closing connection",{error:vn}),yield this.closeConnection(En)}})}setupHandlers(kt){const{peerConnection:xt}=kt,Kt=kt.getSessionId();xt.onconnectionstatechange=()=>er(this,void 0,void 0,function*(){const Ot=this.connectingSessions.get(Kt);if(Ot===void 0)return;const En=xt.connectionState;switch(sr(xt)&&this.connectingSessions.delete(Kt),En){case"connected":{this.connectingSessions.delete(Kt);const vn=new Date().getTime()-Ot;qt.aggregate("rtc-connect-time",vn);break}case"failed":qt.increment("rtc-connect-failed"),yield this.closeConnection(kt)}})}consumeSignals(kt){return er(this,void 0,void 0,function*(){let xt=[];try{xt=yield this.config.signalingClient.takeSignals(yield this.config.getToken(),kt.getSessionId())}catch(Kt){(0,ho.e)(Kt,oo.o,Ot=>Ot.statusCode===404)}for(const Kt of xt)yield kt.handleSignal(Kt)})}sendSignal(kt,xt){return er(this,void 0,void 0,function*(){try{yield this.config.signalingClient.addSignals(yield this.config.getToken(),kt,{signals:[xt]})}catch(Kt){(0,ho.e)(Kt,oo.o,Ot=>Ot.statusCode===404)}})}}})(),__webpack_exports__})())})(dist);var distExports=dist.exports;const SessionTypes={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},SessionTypeConstants={...SessionTypes,Unknown:SessionTypes.UNKNOWN,Teleop:SessionTypes.TELEOP,PortForward:SessionTypes.PORT_FORWARD,Observe:SessionTypes.OBSERVE,Headless:SessionTypes.HEADLESS,unknown:SessionTypes.UNKNOWN,teleop:SessionTypes.TELEOP,portForward:SessionTypes.PORT_FORWARD,observe:SessionTypes.OBSERVE,headless:SessionTypes.HEADLESS},singleton=Symbol("RtcClientPool.instance");var Bn;class RtcClientPool{constructor(s){_e(this,Bn,null),_e(this,"createClient"),_e(this,"ttlMs"),_e(this,"proxyHandler"),_e(this,"proxyReceivers",new Map),_e(this,"teardownTimeout",null),_e(this,"dispatch",($,et)=>{this.proxyReceivers.forEach(tt=>tt==null?void 0:tt($,et))});const{createClient:_,ttlMs:j=0}=s;this.createClient=_,this.ttlMs=Math.max(j,0),this.proxyHandler={get:($,et,tt)=>{switch(et){case"shutdown":return()=>this.releaseInstance(tt);default:return Reflect.get($,et,tt)}}}}get isActive(){return this[singleton]!==null}get size(){return this.proxyReceivers.size}get(s){const _=new Proxy(this.allocate(),this.proxyHandler);return this.proxyReceivers.set(_,s??null),_}allocate(){if(this[singleton])return this.teardownTimeout&&(clearTimeout(this.teardownTimeout),this.teardownTimeout=null),this[singleton];const s=this.createClient(this.dispatch);return this[singleton]=s,s}async teardown(){const s=this[singleton];if(!s){console.warn("singleton has already been shutdown!");return}try{await s.shutdown()}finally{this[singleton]=null}}async releaseInstance(s){return this.proxyReceivers.delete(s)?this.proxyReceivers.size!==0?!1:(!this.teardownTimeout&&Number.isFinite(this.ttlMs)&&(this.ttlMs===0?await this.teardown():this.teardownTimeout=setTimeout(()=>{this.teardown().catch(_=>console.error("teardown failed",{err:_})).finally(()=>this.teardownTimeout=null)},this.ttlMs)),!0):(console.warn("this instance has already been released!"),!1)}}Bn=singleton;const getToken=async()=>defined$1(Authentication.token,"Realtime when user isn't authorized"),EnumRtcClientPools={[SessionTypes.UNKNOWN]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.UNKNOWN,receive:o})}),[SessionTypes.TELEOP]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.TELEOP,receive:o})}),[SessionTypes.PORT_FORWARD]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.PORT_FORWARD,receive:o})}),[SessionTypes.OBSERVE]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.OBSERVE,receive:o})}),[SessionTypes.HEADLESS]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.HEADLESS,receive:o})})},AppRtcClientPools={...EnumRtcClientPools,unknown:EnumRtcClientPools[SessionTypes.UNKNOWN],teleop:EnumRtcClientPools[SessionTypes.TELEOP],portForward:EnumRtcClientPools[SessionTypes.PORT_FORWARD],observe:EnumRtcClientPools[SessionTypes.OBSERVE],headless:EnumRtcClientPools[SessionTypes.HEADLESS]},defaultRtcClientPool=EnumRtcClientPools[SessionTypes.TELEOP],getRtcClientPool=o=>{const{sessionType:s}=o;return s?AppRtcClientPools[s]:defaultRtcClientPool};async function getPeers(){if(!Authentication.token)throw new Error("Not authenticated");const o=defaultRtcClientPool.get();try{return await o.getPeers()}finally{await o.shutdown()}}async function getRealtimeSessions(){if(!Authentication.token)throw new Error("Not authenticated");const o=defaultRtcClientPool.get();try{return await o.getSessions()}finally{await o.shutdown()}}async function getTelemetry(o,s,_,j,$,et){let tt=o;Array.isArray(o)||(tt=[o]);let nt=s;return Array.isArray(s)||(nt=[s]),(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify({deviceIds:tt,end:j.toISOString(),names:nt,start:_.toISOString(),tags:$,latestOnly:et}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function patchDevice(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryDevicesData(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}const isRtcPeer=o=>o!==void 0&&o.capabilities!==void 0&&o.capabilitySet!==void 0;var eventemitter3={exports:{}};(function(o){var s=Object.prototype.hasOwnProperty,_="~";function j(){}Object.create&&(j.prototype=Object.create(null),new j().__proto__||(_=!1));function $(rt,it,st){this.fn=rt,this.context=it,this.once=st||!1}function et(rt,it,st,Ut,ct){if(typeof st!="function")throw new TypeError("The listener must be a function");var Ft=new $(st,Ut||rt,ct),ut=_?_+it:it;return rt._events[ut]?rt._events[ut].fn?rt._events[ut]=[rt._events[ut],Ft]:rt._events[ut].push(Ft):(rt._events[ut]=Ft,rt._eventsCount++),rt}function tt(rt,it){--rt._eventsCount===0?rt._events=new j:delete rt._events[it]}function nt(){this._events=new j,this._eventsCount=0}nt.prototype.eventNames=function(){var rt=[],it,st;if(this._eventsCount===0)return rt;for(st in it=this._events)s.call(it,st)&&rt.push(_?st.slice(1):st);return Object.getOwnPropertySymbols?rt.concat(Object.getOwnPropertySymbols(it)):rt},nt.prototype.listeners=function(rt){var it=_?_+rt:rt,st=this._events[it];if(!st)return[];if(st.fn)return[st.fn];for(var Ut=0,ct=st.length,Ft=new Array(ct);Ut{$.payload.jointState&&this.currentListeners.forEach(et=>{$.payload.jointState&&et($.payload.jointState)})}),this.device=s,this.config=_}async synchronize(){this.device.addRealtimeListener(this.onRealtimeMessage),this.device.startListeningToRealtimeDataStream(this.config.currentJointStateStream)}async desynchronize(){this.device.removeRealtimeListener(this.onRealtimeMessage),this.device.stopListeningToRealtimeDataStream(this.config.currentJointStateStream)}async addCurrentJointStateListener(s){this.currentListeners.push(s)}}class RequestDataChannel{constructor(s,_,j){_e(this,"channel"),_e(this,"requestIdToResponseMap",new Map),this.device=s,this.channel_name=_,this.timeout=j}addOpenListener(s){defined$1(this.channel,"channel not initalized").addOpenListener(s)}removeOpenListener(s){defined$1(this.channel,"channel not initalized").removeOpenListener(s)}addCloseListener(s){defined$1(this.channel,"channel not initalized").addCloseListener(s)}removeCloseListener(s){defined$1(this.channel,"channel not initalized").removeCloseListener(s)}addErrorListener(s){defined$1(this.channel,"channel not initalized").addErrorListener(s)}removeErrorListener(s){defined$1(this.channel,"channel not initalized").removeErrorListener(s)}}class BinaryRequestDataChannel extends RequestDataChannel{constructor(){super(...arguments),_e(this,"RESPONSE_SUCCESS_BYTE",0),_e(this,"decoder",new TextDecoder)}generateBinaryId(){const s=new Uint8Array(16);for(let _=0;_{const _=s.slice(0,16).toString();if(_.length===0)throw new Error("Invalid response");const j=s.slice(16);if(j.length===0)throw new Error("Invalid response");this.requestIdToResponseMap.has(_)&&this.requestIdToResponseMap.set(_,j)})}async request(s){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:_,requestIdToResponseMap:j,timeout:$}=this;await _.waitTilReady();const et=this.generateBinaryId(),tt=et.toString();j.set(tt,!0),_.sendBinary(new Uint8Array([...et,...s]));const nt=new Date().getTime();for(;new Date().getTime(){const _=JSON.parse(s),{id:j,data:$,error:et}=_;if(!j)throw new Error("Invalid response");if(!$&&!et)throw new Error("Invalid response");this.requestIdToResponseMap.has(j)&&this.requestIdToResponseMap.set(j,_)})}async request(s){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:_,requestIdToResponseMap:j,timeout:$}=this;await _.waitTilReady();const et=this.generateTextId();j.set(et,!0),_.send(JSON.stringify({id:et,data:s}));const tt=new Date().getTime();for(;new Date().getTime(){this.realtimeListeners.forEach(j=>j(s,_))})}stopConnectionMonitoring(){clearInterval(this.connectionMonitorInterval),this.connectionMonitorInterval=void 0}assertNotCancelled(s){if(s)throw new Error("Cancelled by deadline")}getRealtimeStatus(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getConnectionStatus(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePingInfo(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPingInfo(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePing(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPing(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}addRealtimeListener(s){this.realtimeListeners.push(s)}removeRealtimeListener(s){const _=this.realtimeListeners.indexOf(s);if(_===-1)throw new Error("Could not find realtime listener to remove");this.realtimeListeners.splice(_,1)}async getRealtimeManipulators(){var s;const _=await this.getConfiguration(),j=[];for(const $ of(s=_.teleop.rosStreams)!=null?s:[])$.topicType=="sensor_msgs/JointState"&&j.push(new Manipulator(this,{currentJointStateStream:{name:$.topicName},plannedJointStateStream:$.plannedTopic?{name:$.plannedTopic}:void 0,planValidStream:$.planValidTopic?{name:$.planValidTopic}:void 0,endEffectorStream:$.endEffectorTopic?{name:$.endEffectorTopic}:void 0,endEffectorLinkName:$.endEffectorLinkName,baseReferenceFrame:$.baseReferenceFrame,localFrame:$.localFrame}));return j}async getRealtimeVideoStreams(){var s,_,j,$,et,tt;const nt=await this.getConfiguration(),rt=[];for(const it of(_=(s=nt.teleop)==null?void 0:s.hardwareStreams)!=null?_:[])it.rtcStreamType==="h264-video-frame"&&rt.push({name:it.name});for(const it of($=(j=nt.teleop)==null?void 0:j.rosStreams)!=null?$:[])it.topicType=="formant/H264VideoFrame"&&rt.push({name:it.topicName}),(it.topicType==="sensor_msgs/Image"||it.topicType==="sensor_msgs/CompressedImage")&&it.encodeVideo&&rt.push({name:it.topicName});for(const it of(tt=(et=nt.teleop)==null?void 0:et.customStreams)!=null?tt:[])it.rtcStreamType==="h264-video-frame"&&rt.push({name:it.name});return rt}createCustomRequestDataChannel(s,_=3e3){return new TextRequestDataChannel(this,s,_)}createCustomBinaryRequestDataChannel(s,_=3e3){return new BinaryRequestDataChannel(this,s,_)}async startListeningToRealtimeVideo(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeVideo(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!1,pipeline:"rtc"})}async startListeningToRealtimeDataStream(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeDataStream(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!1,pipeline:"rtc"})}async enableRealtimeTelemetryPriorityIngestion(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s,enablePriorityUpload:!0,pipeline:"telemetry"})}async disableRealtimeTelemetryPriorityIngestion(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s,enablePriorityUpload:!1,pipeline:"telemetry"})}async changeStreamAudioType(s,_){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer();j.controlRemoteStream(defined$1($).id,{streamName:s,setAudioFormat:_})}async createCustomDataChannel(s,_){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer(),et=await new Promise(tt=>{j.createCustomDataChannel(defined$1($).id,s,{ordered:!0,..._},!1,(nt,rt)=>{const it=new DataChannel(rt);tt(it)})});return await et.waitTilReady(),et}async sendRealtimeMessage(s,_={channelLabel:"stream.reliable"}){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer();j.send(defined$1($).id,s,_)}async getRealtimeAudioStreams(){var s,_,j,$,et,tt;const nt=await this.getConfiguration(),rt=[];for(const it of(_=(s=nt.teleop)==null?void 0:s.hardwareStreams)!=null?_:[])it.rtcStreamType==="audio-chunk"&&rt.push({name:it.name});for(const it of($=(j=nt.teleop)==null?void 0:j.rosStreams)!=null?$:[])it.topicType=="audio_common_msgs/AudioData"&&rt.push({name:it.topicName});for(const it of(tt=(et=nt.teleop)==null?void 0:et.customStreams)!=null?tt:[])it.rtcStreamType==="audio-chunk"&&rt.push({name:it.name});return rt}}class Device extends BaseDevice{constructor(s,_,j,$){super(),this.id=s,this.name=_,this.organizationId=j,this.tags=$}async getLatestTelemetry(){return(await(await fetch(`${FORMANT_API_URL}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async getConfiguration(s=!1){let _=await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}});const j=await _.json();if(!j.state.reportedConfiguration)throw new Error("Device has no configuration, has it ever been turned on?");const $=s?j.desiredConfigurationVersion:j.state.reportedConfiguration.version;return _=await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}/configurations/${$}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),(await _.json()).document}async getAgentVersion(){var s;const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return(s=_==null?void 0:_.state)==null?void 0:s.agentVersion}async getFileUrl(s){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[s]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).fileUrls}async startRealtimeConnection(s={}){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const{sessionType:_,deadlineMs:j=1e4,maxConnectRetries:$=3}=typeof s=="number"?{sessionType:s}:s,et=getRtcClientPool({sessionType:_}).get(this.handleMessage);let tt=!1;const nt=new Promise((it,st)=>setTimeout(()=>{tt=!0,st(new Error("Connection timed out: the connection could not be finalized in time, possibly due to network issues or misconfigured settings."))},j)),rt=async()=>{if("isReady"in et)for(;!et.isReady();)this.assertNotCancelled(tt),await delay$1(100);const it=await this.getRemoteDevicePeerId(et);this.assertNotCancelled(tt);let st;for(let ct=0;ct<$&&(st=await et.connect(it),!st);ct++)delay$1(100),this.assertNotCancelled(tt);if(!st)throw new Error(`Session could not be created: exhausted ${$} retries`);let Ut=0;for(;!tt&&et.getConnectionStatus(it)!=="connected";)await delay$1(100),Ut+=1;return this.assertNotCancelled(tt),console.debug(`${new Date().toISOString()} :: Connection completed after ${Ut} retries`),it};return Promise.race([rt(),nt]).then(it=>{this.remoteDevicePeerId=it,this.initConnectionMonitoring(),this.rtcClient=et,this.emit("connect")}).catch(it=>{throw console.debug(`${new Date().toISOString()} :: Connection failed: %o`,it),this.remoteDevicePeerId=null,et.shutdown().catch(st=>{console.error("rtcClient cannot shutdown: %o",st)}),this.emit("connection_failed",it),it})}async getRemoteDevicePeerId(s){const _=(await s.getPeers()).find(j=>j.deviceId===this.id);if(!isRtcPeer(_))throw new Error("Cannot find peer, is the robot offline?");return _.id}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let s=!1;if(this.rtcClient){const _=this.rtcClient.getConnections().find(j=>j.getRemotePeerId()===this.remoteDevicePeerId&&j.isActive());(_===void 0||!_.isReady())&&(console.debug(`${new Date().toISOString()} :: data channel closed`),s=!0)}(!this.rtcClient||!this.remoteDevicePeerId||await this.rtcClient.getConnectionStatsInfo(this.remoteDevicePeerId)===void 0||s)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(_=>{console.error(_)}))},1e3)}async getRemotePeer(){const s=(await defined$1(this.rtcClient,"Realtime connection has not been started").getPeers()).find(_=>_.deviceId===this.id);return defined$1(s,"Could not find remote peer for device "+this.id)}async stopRealtimeConnection(){let s=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.remoteDevicePeerId?(await this.rtcClient.disconnect(this.remoteDevicePeerId),this.remoteDevicePeerId=null):s=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(s)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async isInRealtimeSession(){const s=await getPeers(),_=await getRealtimeSessions(),j=s.find($=>$.deviceId===this.id);return j?_[j.id].length>0:!1}async getAvailableCommands(s=!0){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/command-templates/`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.filter(_=>s?!0:_.enabled)}async sendCommand(s,_,j,$,et){var tt;const nt=(await this.getAvailableCommands(!1)).find(st=>et?st.id===et:st.name===s);if(!nt)throw new Error(`Could not find command with name "${s}"`);let rt="";_===void 0?nt.parameterEnabled&&nt.parameterValue&&(rt=nt.parameterValue):rt=_;let it={value:rt,scrubberTime:(j||new Date).toISOString(),meta:{...nt.parameterMeta,...$}};return await fetch(`${FORMANT_API_URL}/v1/admin/commands`,{method:"POST",body:JSON.stringify({commandTemplateId:nt.id,organizationId:this.organizationId,deviceId:this.id,command:nt.command,parameter:it,userId:(tt=Authentication.currentUser)==null?void 0:tt.id}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async getCommand(s){return await fetch(`${FORMANT_API_URL}/v1/admin/commands/${s}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async createCaptureStream(s){const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/capture-sessions`,{method:"POST",body:JSON.stringify({deviceId:this.id,streamName:s,tags:{}}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return new CaptureStream(_)}async getTelemetry(s,_,j,$,et,tt,nt){if(et!==void 0||tt!==void 0)throw new Error("Limit and offset are not supported in this method");return await getTelemetry(this.id,s,_,j,$,nt)}async queryEvents(s){if(s.deviceIds)throw new Error("Cannot filter multiple devices via Device class");return s.deviceIds=[this.id],queryEvents(s)}async getTelemetryStreams(){var s,_;const j=await this.getConfiguration(),$=await fetch(`${FORMANT_API_URL}/v1/queries/metadata/stream-names`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),et=[],tt=[];return(_=(s=j.telemetry)==null?void 0:s.streams)==null||_.forEach(nt=>{nt.disabled!==!0&&et.push(nt.name),nt.onDemand===!0&&tt.push(nt.name)}),console.log(tt),(await $.json()).items.filter(nt=>!et.includes(nt)).map(nt=>({name:nt,onDemand:tt.includes(nt)}))}async createInterventionRequest(s,_,j,$){return await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-requests`,{method:"POST",body:JSON.stringify({message:s,interventionType:_,time:new Date().toISOString(),deviceId:this.id,tags:$,data:j}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async addInterventionResponse(s,_,j){return await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-responses`,{method:"POST",body:JSON.stringify({interventionId:s,interventionType:_,data:j}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async getAnnotationCount(s,_){return await getAnnotationCount({...s,deviceIds:[this.id]},_)}async getAnnotationCountByIntervals(s,_,j){return await getAnnotationCountByIntervals({...s,deviceIds:[this.id]},_,j)}async eventsCounter(s,_,j,$,et){return await eventsCounter(s,_,j,$,{...et,deviceIds:[this.id]})}async createShareLink(s,_){return s.scope.deviceIds=[this.id],await createShareLink(s,_)}}_e(Device,"createDevice",createDevice),_e(Device,"patchDevice",patchDevice),_e(Device,"getDevicesData",getDevicesData),_e(Device,"queryDevicesData",queryDevicesData),_e(Device,"disableDevice",disableDevice);class PeerDevice extends BaseDevice{constructor(s){super(),_e(this,"id"),_e(this,"telemetryStreamActive",!1),_e(this,"streamTelemetry",{}),this.peerUrl=s}async getLatestTelemetry(){this.telemetryStreamActive||this.subscribeToTelemetry();const s=this.streamTelemetry;return Object.entries(s).map(([_,j])=>({deviceId:this.id,streamName:_,streamType:"json",currentValue:j,currentValueTime:j.timestamp,tags:{}}))}async getTelemetry(s,_,j,$,et,tt,nt){if(Array.isArray(s))throw new Error("Multiple stream names not supported");if($)throw new Error("Tags not supported");if(nt&&et===void 0)et=1;else if(nt&&et!==void 0)throw new Error("latestOnly and limit cannot be used together");let rt=`${this.peerUrl}/v1/querydatapoints?stream_name=${s}&start=${_.toISOString()}&end=${j.toISOString()}`;et!=null&&et>0&&(rt+=`&limit=${et}`),tt!=null&&tt>=0&&(rt+=`&offset=${tt}`);const it=await(await fetch(rt)).json(),st=[];for(const Ut of it.results){const ct=parseInt(Ut.timestamp),Ft=Ut.tags.data_type;delete Ut.tags.data_type,st.push({deviceId:this.id,name:Ut.stream,points:[[ct,this.getPointPayload(Ft,Ut)]],tags:Ut.tags,type:Ft})}return st.reverse()}async queryEvents(s){const _=["id","viewed","keyword","message","sort","eventTypes","notificationEnabled","userIds","annotationTemplateIds","disableNullMatches","severities","deviceIds","names","types","tags","notNames"];this.checkKeysAndThrow(s,_);let j=`${this.peerUrl}/v1/queryevents?start=${s.start}&end=${s.end}`;s.count!=null&&s.count>0&&(j+=`&limit=${s.count}`),s.offset!=null&&s.offset>=0&&(j+=`&offset=${s.offset}`);const $=await(await fetch(j)).json(),et=[];for(const tt of $.results){const nt=parseInt(tt.timestamp),rt={deviceId:this.id,time:new Date(nt).toISOString(),message:tt.message,notificationEnabled:tt.notificationEnabled,type:tt.type,tags:tt.tags};tt.id!==""&&(rt.id=tt.id),tt.type!==""&&(rt.type=tt.type),tt.streamName!==""&&(rt.streamName=tt.streamName),tt.streamType!==""&&(rt.streamType=tt.streamType),tt.severity!==""&&(rt.severity=tt.severity.toLowerCase()),tt.tags&&(rt.tags=tt.tags),tt.endTimestamp!=="0"&&(rt.endTime=new Date(parseInt(tt.endTimestamp)).toISOString()),et.push(rt)}return et.reverse()}checkKeysAndThrow(s,_){const j=_.filter($=>$ in s);if(j.length>0)throw new Error(`Filters not currently supported: ${j.join(", ")}.`)}getPointPayload(s,_){switch(s){case"numeric":return _.numeric.value;case"numeric set":return _.numericSet.numerics;case"text":return _.text.value;case"json":return _.json.value;case"bitset":const j=[],$=[];for(const et of _.bitset.bits)j.push(et.key),$.push(et.value);return{keys:j,values:$};case"location":return _.location;case"health":return _.health;case"battery":return _.battery;default:return{}}}subscribeToTelemetry(){this.telemetryStreamActive=!0;let s=0;const _=new XMLHttpRequest;_.responseType="text",_.addEventListener("error",j=>{this.handleXHRError("error")}),_.addEventListener("abort",j=>{this.handleXHRError("abort")}),_.addEventListener("timeout",j=>{this.handleXHRError("timeout")}),_.addEventListener("readystatechange",j=>{_.readyState===XMLHttpRequest.DONE&&this.handleXHRError("closed")}),_.addEventListener("progress",j=>{const $=j.loaded,et=$-s;s=$,_.responseText.substr(-et).split(` +`).forEach(tt=>{var nt;if(tt.length>0){const rt=JSON.parse(tt);if((nt=rt.result)!=null&&nt.datapoint){const it=rt.result.datapoint,st=it.stream;delete it.stream,this.streamTelemetry[st]=it}}})}),_.open("POST",`${this.peerUrl}/v1/telemetry`),_.send()}handleXHRError(s){console.warn(`Telemetry stream ended: ${s}`),this.telemetryStreamActive=!1}async getDeviceId(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.id}async getConfiguration(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.document}async getViews(){return(await(await fetch(`${this.peerUrl}/v1/views`)).json()).views}async startRealtimeConnection(s){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const _=new distExports.RtcClient({lanOnlyMode:!0,receive:this.handleMessage,sessionType:s});for(await _.connectLan(this.peerUrl);_.getConnectionStatus(this.peerUrl)!=="connected";)await delay$1(100);this.rtcClient=_,this.initConnectionMonitoring()}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let s=!1;this.rtcClient&&this.rtcClient.getConnectionStatus(this.peerUrl)!=="connected"&&(console.debug(`${new Date().toISOString()} :: data channel closed`),s=!0),(!this.rtcClient||s)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(_=>{console.error(_)}))},1e3)}async getRemotePeer(){return{id:this.peerUrl,organizationId:"",deviceId:this.id,capabilities:[],capabilitySet:{}}}async stopRealtimeConnection(){let s=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.id?(await this.rtcClient.disconnect(this.id),this.remoteDevicePeerId=null):s=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(s)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async getCommandMetadata(){return(await fetch(`${this.peerUrl}/v1/commands`)).json()}async sendCommand(s,_,j,$){const et={value:_,scrubberTime:(j||new Date).toISOString(),meta:$};return await fetch(`${this.peerUrl}/v1/enqueue-command`,{method:"POST",body:JSON.stringify({command:s,parameter:et}),headers:{"Content-Type":"application/json"}})}}async function addDeviceToFleet(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"PATCH",body:JSON.stringify({fleetId:s}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function aggregateTelemetry(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).aggregates}async function deleteFleet(o){if(!Authentication.token)throw new Error("Not authenticated");await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async function getAnalyticStreams(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getAnalyticsModules(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/analytics-modules`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getAnalyticsRows(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/rows`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryDevices(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.map(s=>new Device(s.id,s.name,s.organizationId,s.tags))}async function getCurrentGroup(){if(!Authentication.token)throw new Error("Not authenticated");let o=new URLSearchParams("");typeof window<"u"&&window.location&&(o=new URLSearchParams(window.location.search));const s=o.get("group");if(s===null||s.trim()==="")return;const _=await fetch(`${FORMANT_API_URL}/v1/admin/groups/`+s,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),{tagKey:j,tagValue:$}=await _.json();return await queryDevices({tags:{[j]:[$]},enabled:!0,type:"default"})}async function getDevice(o){if(!Authentication.token)throw new Error("Not authenticated");const s=await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json(),_=s.name;return new Device(o,_,s.organizationId,s.tags)}async function getDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return o.items,o.items.map(s=>new Device(s.id,s.name,defined$1(Authentication.currentOrganization),s.tags))}async function getEvent(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/events/query/id=${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getFileUrl(o){const s=await(await fetch(`${FORMANT_API_URL}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[o]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();if(s.fileUrls.length===0)throw new Error("File not found");return s.fileUrls[0]}async function getFleet(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getFleetDevices(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}/devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getInterventions(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-requests`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getLatestTelemetry(...o){const s=o.flat().filter(_=>!!_);return s.length===0?[]:(await(await fetch(`${FORMANT_API_URL}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:s}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getOnlineDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=(await(await fetch(`${FORMANT_API_URL}/v1/queries/online-devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items;return(await getDevices()).filter(s=>o.includes(s.id))}async function getRealtimeDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=(await(await fetch(`${FORMANT_API_URL}/v1/signaling/peers`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.map(s=>s.deviceId);return(await getDevices()).filter(s=>o.includes(s.id))}async function getStreams(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.filter(o=>o.enabled)}async function getTaskReportRows(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/task-report-rows`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getTaskReportTables(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/task-reports`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function listFleets(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function patchFleet(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchStream(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/streams/${o.id}`,{method:"PATCH",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchView(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/views/${o.id}`,{method:"PATCH",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryAnalytics(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function createFleet(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getAllEventTriggerGroup(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getEventTriggerGroup(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchEventTriggerGroup(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}const Ye=class xs{static async setDefaultDevice(s){xs.defaultDeviceId=s}static async getCurrentDevice(){if(!Authentication.token)throw new Error("Not authenticated");if(!xs.defaultDeviceId)throw new Error("No known default device");const s=(await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.find($=>$.id===xs.defaultDeviceId),_=s.name,j=new Device(xs.defaultDeviceId,_,defined$1(Authentication.currentOrganization),s.tags);return xs.knownContext.push(new WeakRef(j)),j}static async getPeerDevice(s){const _=new PeerDevice(s);return _.id=await _.getDeviceId(),_}static async getDevice(s){const _=await getDevice(s);return xs.knownContext.push(new WeakRef(_)),_}};_e(Ye,"defaultDeviceId"),_e(Ye,"knownContext",[]),_e(Ye,"createFleet",createFleet),_e(Ye,"listFleets",listFleets),_e(Ye,"getFleet",getFleet),_e(Ye,"patchFleet",patchFleet),_e(Ye,"deleteFleet",deleteFleet),_e(Ye,"addDeviceToFleet",addDeviceToFleet),_e(Ye,"getFleetDevices",getFleetDevices),_e(Ye,"aggregateTelemetry",aggregateTelemetry),_e(Ye,"createShareLink",createShareLink),_e(Ye,"eventsCounter",eventsCounter),_e(Ye,"getAnalyticStreams",getAnalyticStreams),_e(Ye,"getAnalyticsModules",getAnalyticsModules),_e(Ye,"getAnalyticsRows",getAnalyticsRows),_e(Ye,"getAnnotationCount",getAnnotationCount),_e(Ye,"getAnnotationCountByIntervals",getAnnotationCountByIntervals),_e(Ye,"getCurrentGroup",getCurrentGroup),_e(Ye,"getDevices",getDevices),_e(Ye,"getEvent",getEvent),_e(Ye,"getFileUrl",getFileUrl),_e(Ye,"getInterventions",getInterventions),_e(Ye,"getLatestTelemetry",getLatestTelemetry),_e(Ye,"getOnlineDevices",getOnlineDevices),_e(Ye,"getPeers",getPeers),_e(Ye,"getRealtimeDevices",getRealtimeDevices),_e(Ye,"getRealtimeSessions",getRealtimeSessions),_e(Ye,"getStreams",getStreams),_e(Ye,"getTaskReportRows",getTaskReportRows),_e(Ye,"getTaskReportTables",getTaskReportTables),_e(Ye,"getTelemetry",getTelemetry),_e(Ye,"getViews",getViews),_e(Ye,"patchStream",patchStream),_e(Ye,"patchView",patchView),_e(Ye,"queryAnalytics",queryAnalytics),_e(Ye,"queryDevices",queryDevices),_e(Ye,"queryEvents",queryEvents),_e(Ye,"queryTelemetry",queryTelemetry),_e(Ye,"getAllEventTriggerGroup",getAllEventTriggerGroup),_e(Ye,"getEventTriggerGroup",getEventTriggerGroup),_e(Ye,"patchEventTriggergroup",patchEventTriggerGroup);let Fleet=Ye;async function request(o,s){if(!Authentication.token)throw new Error("Not authenticated");const _=await fetch(`${FORMANT_API_URL}/v1${o}`,{...s,headers:{"Content-Type":"application/json",Authorization:`Bearer ${Authentication.token}`,...s==null?void 0:s.headers}});if(!_.ok)throw new Error(`Error: ${_.statusText}`);return _.status===204||_.headers.get("content-length")==="0"?null:await _.json()}async function fetchTeleopViews(){return(await request("/admin/teleop-views")).items}async function getTeleopView(o){return await request(`/admin/teleop-views/${o}`)}async function createTeleopView(o){return await request("/admin/teleop-views",{method:"POST",body:JSON.stringify(o)})}async function updateTeleopView(o,s){return await request(`/admin/teleop-views/${o}`,{method:"PATCH",body:JSON.stringify(s)})}async function deleteTeleopView(o){await request(`/admin/teleop-views/${o}`,{method:"DELETE"})}class Views{constructor(){}}_e(Views,"createTeleopView",createTeleopView),_e(Views,"updateTeleopView",updateTeleopView),_e(Views,"deleteTeleopView",deleteTeleopView),_e(Views,"getTeleopView",getTeleopView),_e(Views,"fetchTeleopViews",fetchTeleopViews);try{const o=typeof window<"u"&&window.location?new URLSearchParams(window.location.search):new URLSearchParams(""),s=o.get("device");s&&Fleet.setDefaultDevice(s);const _=o.get("auth");_&&Authentication.loginWithToken(_),o.get("module")&&Authentication.listenForRefresh(),typeof window<"u"&&App$2.listenForConnectionEvents()}catch(o){}var signaling_pb={},googleProtobuf={};(function(o){var s=typeof Object.defineProperties=="function"?Object.defineProperty:function(lt,Bt,Jt){lt!=Array.prototype&<!=Object.prototype&&(lt[Bt]=Jt.value)},_=commonjsGlobal;function j(lt,Bt){if(Bt){var Jt=_;lt=lt.split(".");for(var tn=0;tn"u"||Jt.execScript("var "+lt[0]);for(var tn;lt.length&&(tn=lt.shift());)lt.length||Bt===void 0?Jt[tn]&&Jt[tn]!==Object.prototype[tn]?Jt=Jt[tn]:Jt=Jt[tn]={}:Jt[tn]=Bt}function Ft(lt){var Bt=typeof lt;if(Bt=="object")if(lt){if(lt instanceof Array)return"array";if(lt instanceof Object)return Bt;var Jt=Object.prototype.toString.call(lt);if(Jt=="[object Window]")return"object";if(Jt=="[object Array]"||typeof lt.length=="number"&&typeof lt.splice<"u"&&typeof lt.propertyIsEnumerable<"u"&&!lt.propertyIsEnumerable("splice"))return"array";if(Jt=="[object Function]"||typeof lt.call<"u"&&typeof lt.propertyIsEnumerable<"u"&&!lt.propertyIsEnumerable("call"))return"function"}else return"null";else if(Bt=="function"&&typeof lt.call>"u")return"object";return Bt}function ut(lt){var Bt=typeof lt;return Bt=="object"&<!=null||Bt=="function"}function Qt(lt,Bt,Jt){ct(lt,Bt,Jt)}function pt(lt,Bt){function Jt(){}Jt.prototype=Bt.prototype,lt.prototype=new Jt,lt.prototype.constructor=lt}var ft="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function mt(lt,Bt){for(var Jt,tn,mn=1;mn=arguments.length?Array.prototype.slice.call(lt,Bt):Array.prototype.slice.call(lt,Bt,Jt)}function Dt(lt,Bt,Jt,tn){var mn="Assertion failed";if(Jt){mn+=": "+Jt;var Dn=tn}else lt&&(mn+=": "+lt,Dn=Bt);throw Error(mn,Dn||[])}function Ct(lt,Bt,Jt){for(var tn=[],mn=2;mn=lt.length)return String.fromCharCode.apply(null,lt);for(var Bt="",Jt=0;Jt>2;mn=(mn&3)<<4|qn>>4,qn=(qn&15)<<2|Qr>>6,Qr&=63,dr||(Qr=64,Dn||(qn=64)),Jt.push(Bt[Vr],Bt[mn],Bt[qn]||"",Bt[Qr]||"")}return Jt.join("")}function Gt(lt){var Bt=lt.length,Jt=3*Bt/4;Jt%3?Jt=Math.floor(Jt):"=.".indexOf(lt[Bt-1])!=-1&&(Jt="=.".indexOf(lt[Bt-2])!=-1?Jt-2:Jt-1);var tn=new Uint8Array(Jt),mn=0;return Ht(lt,function(Dn){tn[mn++]=Dn}),tn.subarray(0,mn)}function Ht(lt,Bt){function Jt(Qr){for(;tn>4),qn!=64&&(Bt(Dn<<4&240|qn>>2),dr!=64&&Bt(qn<<6&192|dr))}}function Un(){if(!ln){ln={};for(var lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),Bt=["+/=","+/","-_=","-_.","-_"],Jt=0;5>Jt;Jt++){var tn=lt.concat(Bt[Jt].split(""));qt[Jt]=tn;for(var mn=0;mn>>0;lt=Math.floor((lt-Bt)/4294967296)>>>0,Sn=Bt,cn=lt}ct("jspb.utils.splitUint64",fn,void 0);function sn(lt){var Bt=0>lt;lt=Math.abs(lt);var Jt=lt>>>0;lt=Math.floor((lt-Jt)/4294967296),lt>>>=0,Bt&&(lt=~lt>>>0,Jt=(~Jt>>>0)+1,4294967295lt;lt=2*Math.abs(lt),fn(lt),lt=Sn;var Jt=cn;Bt&&(lt==0?Jt==0?Jt=lt=4294967295:(Jt--,lt=4294967295):lt--),Sn=lt,cn=Jt}ct("jspb.utils.splitZigzag64",bn,void 0);function Cn(lt){var Bt=0>lt?1:0;if(lt=Bt?-lt:lt,lt===0)0<1/lt?Sn=cn=0:(cn=0,Sn=2147483648);else if(isNaN(lt))cn=0,Sn=2147483647;else if(34028234663852886e22>>0;else if(11754943508222875e-54>lt)lt=Math.round(lt/Math.pow(2,-149)),cn=0,Sn=(Bt<<31|lt)>>>0;else{var Jt=Math.floor(Math.log(lt)/Math.LN2);lt*=Math.pow(2,-Jt),lt=Math.round(8388608*lt),16777216<=lt&&++Jt,cn=0,Sn=(Bt<<31|Jt+127<<23|lt&8388607)>>>0}}ct("jspb.utils.splitFloat32",Cn,void 0);function Nn(lt){var Bt=0>lt?1:0;if(lt=Bt?-lt:lt,lt===0)cn=0<1/lt?0:2147483648,Sn=0;else if(isNaN(lt))cn=2147483647,Sn=4294967295;else if(17976931348623157e292>>0,Sn=0;else if(22250738585072014e-324>lt)lt/=Math.pow(2,-1074),cn=(Bt<<31|lt/4294967296)>>>0,Sn=lt>>>0;else{var Jt=lt,tn=0;if(2<=Jt)for(;2<=Jt&&1023>tn;)tn++,Jt/=2;else for(;1>Jt&&-1022>>0,Sn=4503599627370496*lt>>>0}}ct("jspb.utils.splitFloat64",Nn,void 0);function xn(lt){var Bt=lt.charCodeAt(4),Jt=lt.charCodeAt(5),tn=lt.charCodeAt(6),mn=lt.charCodeAt(7);Sn=lt.charCodeAt(0)+(lt.charCodeAt(1)<<8)+(lt.charCodeAt(2)<<16)+(lt.charCodeAt(3)<<24)>>>0,cn=Bt+(Jt<<8)+(tn<<16)+(mn<<24)>>>0}ct("jspb.utils.splitHash64",xn,void 0);function zn(lt,Bt){return 4294967296*Bt+(lt>>>0)}ct("jspb.utils.joinUint64",zn,void 0);function wt(lt,Bt){var Jt=Bt&2147483648;return Jt&&(lt=~lt+1>>>0,Bt=~Bt>>>0,lt==0&&(Bt=Bt+1>>>0)),lt=zn(lt,Bt),Jt?-lt:lt}ct("jspb.utils.joinInt64",wt,void 0);function jt(lt,Bt,Jt){var tn=Bt>>31;return Jt(lt<<1^tn,(Bt<<1|lt>>>31)^tn)}ct("jspb.utils.toZigzag64",jt,void 0);function zt(lt,Bt){return pn(lt,Bt,wt)}ct("jspb.utils.joinZigzag64",zt,void 0);function pn(lt,Bt,Jt){var tn=-(lt&1);return Jt((lt>>>1|Bt<<31)^tn,Bt>>>1^tn)}ct("jspb.utils.fromZigzag64",pn,void 0);function yn(lt){var Bt=2*(lt>>31)+1,Jt=lt>>>23&255;return lt&=8388607,Jt==255?lt?NaN:1/0*Bt:Jt==0?Bt*Math.pow(2,-149)*lt:Bt*Math.pow(2,Jt-150)*(lt+Math.pow(2,23))}ct("jspb.utils.joinFloat32",yn,void 0);function Vn(lt,Bt){var Jt=2*(Bt>>31)+1,tn=Bt>>>20&2047;return lt=4294967296*(Bt&1048575)+lt,tn==2047?lt?NaN:1/0*Jt:tn==0?Jt*Math.pow(2,-1074)*lt:Jt*Math.pow(2,tn-1075)*(lt+4503599627370496)}ct("jspb.utils.joinFloat64",Vn,void 0);function kn(lt,Bt){return String.fromCharCode(lt>>>0&255,lt>>>8&255,lt>>>16&255,lt>>>24&255,Bt>>>0&255,Bt>>>8&255,Bt>>>16&255,Bt>>>24&255)}ct("jspb.utils.joinHash64",kn,void 0),ct("jspb.utils.DIGITS","0123456789abcdef".split(""),void 0);function Gn(lt,Bt){function Jt(mn,Dn){return mn=mn?String(mn):"",Dn?"0000000".slice(mn.length)+mn:mn}if(2097151>=Bt)return""+zn(lt,Bt);var tn=(lt>>>24|Bt<<8)>>>0&16777215;return Bt=Bt>>16&65535,lt=(lt&16777215)+6777216*tn+6710656*Bt,tn+=8147497*Bt,Bt*=2,1e7<=lt&&(tn+=Math.floor(lt/1e7),lt%=1e7),1e7<=tn&&(Bt+=Math.floor(tn/1e7),tn%=1e7),Jt(Bt,0)+Jt(tn,Bt)+Jt(lt,1)}ct("jspb.utils.joinUnsignedDecimalString",Gn,void 0);function nr(lt,Bt){var Jt=Bt&2147483648;return Jt&&(lt=~lt+1>>>0,Bt=~Bt+(lt==0?1:0)>>>0),lt=Gn(lt,Bt),Jt?"-"+lt:lt}ct("jspb.utils.joinSignedDecimalString",nr,void 0);function tr(lt,Bt){xn(lt),lt=Sn;var Jt=cn;return Bt?nr(lt,Jt):Gn(lt,Jt)}ct("jspb.utils.hash64ToDecimalString",tr,void 0),ct("jspb.utils.hash64ArrayToDecimalStrings",function(lt,Bt){for(var Jt=Array(lt.length),tn=0;tnQr&&(qn!==1||0>>=8}function Jt(){for(var qn=0;8>qn;qn++)mn[qn]=~mn[qn]&255}Ct(0lt?48+lt:87+lt)}function Jr(lt){return 97<=lt?lt-97+10:lt-48}ct("jspb.utils.hash64ToHexString",function(lt){var Bt=Array(18);Bt[0]="0",Bt[1]="x";for(var Jt=0;8>Jt;Jt++){var tn=lt.charCodeAt(7-Jt);Bt[2*Jt+2]=Ur(tn>>4),Bt[2*Jt+3]=Ur(tn&15)}return Bt.join("")},void 0),ct("jspb.utils.hexStringToHash64",function(lt){lt=lt.toLowerCase(),Ct(lt.length==18),Ct(lt[0]=="0"),Ct(lt[1]=="x");for(var Bt="",Jt=0;8>Jt;Jt++)Bt=String.fromCharCode(16*Jr(lt.charCodeAt(2*Jt+2))+Jr(lt.charCodeAt(2*Jt+3)))+Bt;return Bt},void 0),ct("jspb.utils.hash64ToNumber",function(lt,Bt){xn(lt),lt=Sn;var Jt=cn;return Bt?wt(lt,Jt):zn(lt,Jt)},void 0),ct("jspb.utils.numberToHash64",function(lt){return sn(lt),kn(Sn,cn)},void 0),ct("jspb.utils.countVarints",function(lt,Bt,Jt){for(var tn=0,mn=Bt;mn>7;return Jt-Bt-tn},void 0),ct("jspb.utils.countVarintFields",function(lt,Bt,Jt,tn){var mn=0;if(tn*=8,128>tn)for(;Bt>=7}if(lt[Bt++]!=Dn)break;for(mn++;Dn=lt[Bt++],(Dn&128)!=0;);}return mn},void 0);function Sr(lt,Bt,Jt,tn,mn){var Dn=0;if(128>tn)for(;Bt>=7}if(lt[Bt++]!=qn)break;Dn++,Bt+=mn}return Dn}ct("jspb.utils.countFixed32Fields",function(lt,Bt,Jt,tn){return Sr(lt,Bt,Jt,8*tn+5,4)},void 0),ct("jspb.utils.countFixed64Fields",function(lt,Bt,Jt,tn){return Sr(lt,Bt,Jt,8*tn+1,8)},void 0),ct("jspb.utils.countDelimitedFields",function(lt,Bt,Jt,tn){var mn=0;for(tn=8*tn+2;Bt>=7}if(lt[Bt++]!=Dn)break;mn++;for(var qn=0,dr=1;Dn=lt[Bt++],qn+=(Dn&127)*dr,dr*=128,(Dn&128)!=0;);Bt+=qn}return mn},void 0),ct("jspb.utils.debugBytesToTextFormat",function(lt){var Bt='"';if(lt){lt=dn(lt);for(var Jt=0;Jtlt[Jt]&&(Bt+="0"),Bt+=lt[Jt].toString(16)}return Bt+'"'},void 0),ct("jspb.utils.debugScalarToTextFormat",function(lt){if(typeof lt=="string"){lt=String(lt);for(var Bt=['"'],Jt=0;Jtmn||(mn=tn,mn in Pt?tn=Pt[mn]:mn in rn?tn=Pt[mn]=rn[mn]:(qn=mn.charCodeAt(0),31qn?tn=mn:(256>qn?(tn="\\x",(16>qn||256qn&&(tn+="0")),tn+=qn.toString(16).toUpperCase()),tn=Pt[mn]=tn)),qn=tn),Bt[Dn]=qn}Bt.push('"'),lt=Bt.join("")}else lt=lt.toString();return lt},void 0),ct("jspb.utils.stringToByteArray",function(lt){for(var Bt=new Uint8Array(lt.length),Jt=0;JtXt.length&&Xt.push(this)},Nt.prototype.free=Nt.prototype.Ca,Nt.prototype.clone=function(){return gn(this.b,this.h,this.c-this.h)},Nt.prototype.clone=Nt.prototype.clone,Nt.prototype.clear=function(){this.b=null,this.a=this.c=this.h=0,this.v=!1},Nt.prototype.clear=Nt.prototype.clear,Nt.prototype.Y=function(){return this.b},Nt.prototype.getBuffer=Nt.prototype.Y,Nt.prototype.H=function(lt,Bt,Jt){this.b=dn(lt),this.h=Bt!==void 0?Bt:0,this.c=Jt!==void 0?this.h+Jt:this.b.length,this.a=this.h},Nt.prototype.setBlock=Nt.prototype.H,Nt.prototype.Db=function(){return this.c},Nt.prototype.getEnd=Nt.prototype.Db,Nt.prototype.setEnd=function(lt){this.c=lt},Nt.prototype.setEnd=Nt.prototype.setEnd,Nt.prototype.reset=function(){this.a=this.h},Nt.prototype.reset=Nt.prototype.reset,Nt.prototype.B=function(){return this.a},Nt.prototype.getCursor=Nt.prototype.B,Nt.prototype.Ma=function(lt){this.a=lt},Nt.prototype.setCursor=Nt.prototype.Ma,Nt.prototype.advance=function(lt){this.a+=lt,Ct(this.a<=this.c)},Nt.prototype.advance=Nt.prototype.advance,Nt.prototype.ya=function(){return this.a==this.c},Nt.prototype.atEnd=Nt.prototype.ya,Nt.prototype.Qb=function(){return this.a>this.c},Nt.prototype.pastEnd=Nt.prototype.Qb,Nt.prototype.getError=function(){return this.v||0>this.a||this.a>this.c},Nt.prototype.getError=Nt.prototype.getError,Nt.prototype.w=function(lt){for(var Bt=128,Jt=0,tn=0,mn=0;4>mn&&128<=Bt;mn++)Bt=this.b[this.a++],Jt|=(Bt&127)<<7*mn;if(128<=Bt&&(Bt=this.b[this.a++],Jt|=(Bt&127)<<28,tn|=(Bt&127)>>4),128<=Bt)for(mn=0;5>mn&&128<=Bt;mn++)Bt=this.b[this.a++],tn|=(Bt&127)<<7*mn+3;if(128>Bt)return lt(Jt>>>0,tn>>>0);Yt("Failed to read varint, encoding is invalid."),this.v=!0},Nt.prototype.readSplitVarint64=Nt.prototype.w,Nt.prototype.ea=function(lt){return this.w(function(Bt,Jt){return pn(Bt,Jt,lt)})},Nt.prototype.readSplitZigzagVarint64=Nt.prototype.ea,Nt.prototype.ta=function(lt){var Bt=this.b,Jt=this.a;this.a+=8;for(var tn=0,mn=0,Dn=Jt+7;Dn>=Jt;Dn--)tn=tn<<8|Bt[Dn],mn=mn<<8|Bt[Dn+4];return lt(tn,mn)},Nt.prototype.readSplitFixed64=Nt.prototype.ta,Nt.prototype.kb=function(){for(;this.b[this.a]&128;)this.a++;this.a++},Nt.prototype.skipVarint=Nt.prototype.kb,Nt.prototype.mb=function(lt){for(;128>>=7;this.a--},Nt.prototype.unskipVarint=Nt.prototype.mb,Nt.prototype.o=function(){var lt=this.b,Bt=lt[this.a],Jt=Bt&127;return 128>Bt?(this.a+=1,Ct(this.a<=this.c),Jt):(Bt=lt[this.a+1],Jt|=(Bt&127)<<7,128>Bt?(this.a+=2,Ct(this.a<=this.c),Jt):(Bt=lt[this.a+2],Jt|=(Bt&127)<<14,128>Bt?(this.a+=3,Ct(this.a<=this.c),Jt):(Bt=lt[this.a+3],Jt|=(Bt&127)<<21,128>Bt?(this.a+=4,Ct(this.a<=this.c),Jt):(Bt=lt[this.a+4],Jt|=(Bt&15)<<28,128>Bt?(this.a+=5,Ct(this.a<=this.c),Jt>>>0):(this.a+=5,128<=lt[this.a++]&&128<=lt[this.a++]&&128<=lt[this.a++]&&128<=lt[this.a++]&&128<=lt[this.a++]&&Ct(!1),Ct(this.a<=this.c),Jt)))))},Nt.prototype.readUnsignedVarint32=Nt.prototype.o,Nt.prototype.da=function(){return~~this.o()},Nt.prototype.readSignedVarint32=Nt.prototype.da,Nt.prototype.O=function(){return this.o().toString()},Nt.prototype.Ea=function(){return this.da().toString()},Nt.prototype.readSignedVarint32String=Nt.prototype.Ea,Nt.prototype.Ia=function(){var lt=this.o();return lt>>>1^-(lt&1)},Nt.prototype.readZigzagVarint32=Nt.prototype.Ia,Nt.prototype.Ga=function(){return this.w(zn)},Nt.prototype.readUnsignedVarint64=Nt.prototype.Ga,Nt.prototype.Ha=function(){return this.w(Gn)},Nt.prototype.readUnsignedVarint64String=Nt.prototype.Ha,Nt.prototype.sa=function(){return this.w(wt)},Nt.prototype.readSignedVarint64=Nt.prototype.sa,Nt.prototype.Fa=function(){return this.w(nr)},Nt.prototype.readSignedVarint64String=Nt.prototype.Fa,Nt.prototype.Ja=function(){return this.w(zt)},Nt.prototype.readZigzagVarint64=Nt.prototype.Ja,Nt.prototype.fb=function(){return this.ea(kn)},Nt.prototype.readZigzagVarintHash64=Nt.prototype.fb,Nt.prototype.Ka=function(){return this.ea(nr)},Nt.prototype.readZigzagVarint64String=Nt.prototype.Ka,Nt.prototype.Gc=function(){var lt=this.b[this.a];return this.a+=1,Ct(this.a<=this.c),lt},Nt.prototype.readUint8=Nt.prototype.Gc,Nt.prototype.Ec=function(){var lt=this.b[this.a],Bt=this.b[this.a+1];return this.a+=2,Ct(this.a<=this.c),lt<<0|Bt<<8},Nt.prototype.readUint16=Nt.prototype.Ec,Nt.prototype.m=function(){var lt=this.b[this.a],Bt=this.b[this.a+1],Jt=this.b[this.a+2],tn=this.b[this.a+3];return this.a+=4,Ct(this.a<=this.c),(lt<<0|Bt<<8|Jt<<16|tn<<24)>>>0},Nt.prototype.readUint32=Nt.prototype.m,Nt.prototype.ga=function(){var lt=this.m(),Bt=this.m();return zn(lt,Bt)},Nt.prototype.readUint64=Nt.prototype.ga,Nt.prototype.ha=function(){var lt=this.m(),Bt=this.m();return Gn(lt,Bt)},Nt.prototype.readUint64String=Nt.prototype.ha,Nt.prototype.Xb=function(){var lt=this.b[this.a];return this.a+=1,Ct(this.a<=this.c),lt<<24>>24},Nt.prototype.readInt8=Nt.prototype.Xb,Nt.prototype.Vb=function(){var lt=this.b[this.a],Bt=this.b[this.a+1];return this.a+=2,Ct(this.a<=this.c),(lt<<0|Bt<<8)<<16>>16},Nt.prototype.readInt16=Nt.prototype.Vb,Nt.prototype.P=function(){var lt=this.b[this.a],Bt=this.b[this.a+1],Jt=this.b[this.a+2],tn=this.b[this.a+3];return this.a+=4,Ct(this.a<=this.c),lt<<0|Bt<<8|Jt<<16|tn<<24},Nt.prototype.readInt32=Nt.prototype.P,Nt.prototype.ba=function(){var lt=this.m(),Bt=this.m();return wt(lt,Bt)},Nt.prototype.readInt64=Nt.prototype.ba,Nt.prototype.ca=function(){var lt=this.m(),Bt=this.m();return nr(lt,Bt)},Nt.prototype.readInt64String=Nt.prototype.ca,Nt.prototype.aa=function(){var lt=this.m();return yn(lt)},Nt.prototype.readFloat=Nt.prototype.aa,Nt.prototype.Z=function(){var lt=this.m(),Bt=this.m();return Vn(lt,Bt)},Nt.prototype.readDouble=Nt.prototype.Z,Nt.prototype.pa=function(){return!!this.b[this.a++]},Nt.prototype.readBool=Nt.prototype.pa,Nt.prototype.ra=function(){return this.da()},Nt.prototype.readEnum=Nt.prototype.ra,Nt.prototype.fa=function(lt){var Bt=this.b,Jt=this.a;lt=Jt+lt;for(var tn=[],mn="";JtDn)tn.push(Dn);else{if(192>Dn)continue;if(224>Dn){var qn=Bt[Jt++];tn.push((Dn&31)<<6|qn&63)}else if(240>Dn){qn=Bt[Jt++];var dr=Bt[Jt++];tn.push((Dn&15)<<12|(qn&63)<<6|dr&63)}else if(248>Dn){qn=Bt[Jt++],dr=Bt[Jt++];var Qr=Bt[Jt++];Dn=(Dn&7)<<18|(qn&63)<<12|(dr&63)<<6|Qr&63,Dn-=65536,tn.push((Dn>>10&1023)+55296,(Dn&1023)+56320)}}8192<=tn.length&&(mn+=String.fromCharCode.apply(null,tn),tn.length=0)}return mn+=$t(tn),this.a=Jt,mn},Nt.prototype.readString=Nt.prototype.fa,Nt.prototype.Dc=function(){var lt=this.o();return this.fa(lt)},Nt.prototype.readStringWithLength=Nt.prototype.Dc,Nt.prototype.qa=function(lt){if(0>lt||this.a+lt>this.b.length)return this.v=!0,Yt("Invalid byte length!"),new Uint8Array(0);var Bt=this.b.subarray(this.a,this.a+lt);return this.a+=lt,Ct(this.a<=this.c),Bt},Nt.prototype.readBytes=Nt.prototype.qa,Nt.prototype.ia=function(){return this.w(kn)},Nt.prototype.readVarintHash64=Nt.prototype.ia,Nt.prototype.$=function(){var lt=this.b,Bt=this.a,Jt=lt[Bt],tn=lt[Bt+1],mn=lt[Bt+2],Dn=lt[Bt+3],qn=lt[Bt+4],dr=lt[Bt+5],Qr=lt[Bt+6];return lt=lt[Bt+7],this.a+=8,String.fromCharCode(Jt,tn,mn,Dn,qn,dr,Qr,lt)},Nt.prototype.readFixedHash64=Nt.prototype.$;function nn(lt,Bt,Jt){this.a=gn(lt,Bt,Jt),this.O=this.a.B(),this.b=this.c=-1,this.h=!1,this.v=null}ct("jspb.BinaryReader",nn,void 0);var Ln=[];nn.clearInstanceCache=function(){Ln=[]},nn.getInstanceCacheLength=function(){return Ln.length};function Hn(lt,Bt,Jt){if(Ln.length){var tn=Ln.pop();return lt&&tn.a.H(lt,Bt,Jt),tn}return new nn(lt,Bt,Jt)}nn.alloc=Hn,nn.prototype.zb=Hn,nn.prototype.alloc=nn.prototype.zb,nn.prototype.Ca=function(){this.a.clear(),this.b=this.c=-1,this.h=!1,this.v=null,100>Ln.length&&Ln.push(this)},nn.prototype.free=nn.prototype.Ca,nn.prototype.Fb=function(){return this.O},nn.prototype.getFieldCursor=nn.prototype.Fb,nn.prototype.B=function(){return this.a.B()},nn.prototype.getCursor=nn.prototype.B,nn.prototype.Y=function(){return this.a.Y()},nn.prototype.getBuffer=nn.prototype.Y,nn.prototype.Hb=function(){return this.c},nn.prototype.getFieldNumber=nn.prototype.Hb,nn.prototype.Lb=function(){return this.b},nn.prototype.getWireType=nn.prototype.Lb,nn.prototype.Mb=function(){return this.b==2},nn.prototype.isDelimited=nn.prototype.Mb,nn.prototype.bb=function(){return this.b==4},nn.prototype.isEndGroup=nn.prototype.bb,nn.prototype.getError=function(){return this.h||this.a.getError()},nn.prototype.getError=nn.prototype.getError,nn.prototype.H=function(lt,Bt,Jt){this.a.H(lt,Bt,Jt),this.b=this.c=-1},nn.prototype.setBlock=nn.prototype.H,nn.prototype.reset=function(){this.a.reset(),this.b=this.c=-1},nn.prototype.reset=nn.prototype.reset,nn.prototype.advance=function(lt){this.a.advance(lt)},nn.prototype.advance=nn.prototype.advance,nn.prototype.oa=function(){if(this.a.ya())return!1;if(this.getError())return Yt("Decoder hit an error"),!1;this.O=this.a.B();var lt=this.a.o(),Bt=lt>>>3;return lt&=7,lt!=0&<!=5&<!=1&<!=2&<!=3&<!=4?(Yt("Invalid wire type: %s (at position %s)",lt,this.O),this.h=!0,!1):(this.c=Bt,this.b=lt,!0)},nn.prototype.nextField=nn.prototype.oa,nn.prototype.Oa=function(){this.a.mb(this.c<<3|this.b)},nn.prototype.unskipHeader=nn.prototype.Oa,nn.prototype.Lc=function(){var lt=this.c;for(this.Oa();this.oa()&&this.c==lt;)this.C();this.a.ya()||this.Oa()},nn.prototype.skipMatchingFields=nn.prototype.Lc,nn.prototype.lb=function(){this.b!=0?(Yt("Invalid wire type for skipVarintField"),this.C()):this.a.kb()},nn.prototype.skipVarintField=nn.prototype.lb,nn.prototype.gb=function(){if(this.b!=2)Yt("Invalid wire type for skipDelimitedField"),this.C();else{var lt=this.a.o();this.a.advance(lt)}},nn.prototype.skipDelimitedField=nn.prototype.gb,nn.prototype.hb=function(){this.b!=5?(Yt("Invalid wire type for skipFixed32Field"),this.C()):this.a.advance(4)},nn.prototype.skipFixed32Field=nn.prototype.hb,nn.prototype.ib=function(){this.b!=1?(Yt("Invalid wire type for skipFixed64Field"),this.C()):this.a.advance(8)},nn.prototype.skipFixed64Field=nn.prototype.ib,nn.prototype.jb=function(){var lt=this.c;do{if(!this.oa()){Yt("Unmatched start-group tag: stream EOF"),this.h=!0;break}if(this.b==4){this.c!=lt&&(Yt("Unmatched end-group tag"),this.h=!0);break}this.C()}while(1)},nn.prototype.skipGroup=nn.prototype.jb,nn.prototype.C=function(){switch(this.b){case 0:this.lb();break;case 1:this.ib();break;case 2:this.gb();break;case 5:this.hb();break;case 3:this.jb();break;default:Yt("Invalid wire encoding for field.")}},nn.prototype.skipField=nn.prototype.C,nn.prototype.Hc=function(lt,Bt){this.v===null&&(this.v={}),Ct(!this.v[lt]),this.v[lt]=Bt},nn.prototype.registerReadCallback=nn.prototype.Hc,nn.prototype.Ic=function(lt){return Ct(this.v!==null),lt=this.v[lt],Ct(lt),lt(this)},nn.prototype.runReadCallback=nn.prototype.Ic,nn.prototype.Yb=function(lt,Bt){Ct(this.b==2);var Jt=this.a.c,tn=this.a.o();tn=this.a.B()+tn,this.a.setEnd(tn),Bt(lt,this),this.a.Ma(tn),this.a.setEnd(Jt)},nn.prototype.readMessage=nn.prototype.Yb,nn.prototype.Ub=function(lt,Bt,Jt){Ct(this.b==3),Ct(this.c==lt),Jt(Bt,this),this.h||this.b==4||(Yt("Group submessage did not end with an END_GROUP tag"),this.h=!0)},nn.prototype.readGroup=nn.prototype.Ub,nn.prototype.Gb=function(){Ct(this.b==2);var lt=this.a.o(),Bt=this.a.B(),Jt=Bt+lt;return lt=gn(this.a.Y(),Bt,lt),this.a.Ma(Jt),lt},nn.prototype.getFieldDecoder=nn.prototype.Gb,nn.prototype.P=function(){return Ct(this.b==0),this.a.da()},nn.prototype.readInt32=nn.prototype.P,nn.prototype.Wb=function(){return Ct(this.b==0),this.a.Ea()},nn.prototype.readInt32String=nn.prototype.Wb,nn.prototype.ba=function(){return Ct(this.b==0),this.a.sa()},nn.prototype.readInt64=nn.prototype.ba,nn.prototype.ca=function(){return Ct(this.b==0),this.a.Fa()},nn.prototype.readInt64String=nn.prototype.ca,nn.prototype.m=function(){return Ct(this.b==0),this.a.o()},nn.prototype.readUint32=nn.prototype.m,nn.prototype.Fc=function(){return Ct(this.b==0),this.a.O()},nn.prototype.readUint32String=nn.prototype.Fc,nn.prototype.ga=function(){return Ct(this.b==0),this.a.Ga()},nn.prototype.readUint64=nn.prototype.ga,nn.prototype.ha=function(){return Ct(this.b==0),this.a.Ha()},nn.prototype.readUint64String=nn.prototype.ha,nn.prototype.zc=function(){return Ct(this.b==0),this.a.Ia()},nn.prototype.readSint32=nn.prototype.zc,nn.prototype.Ac=function(){return Ct(this.b==0),this.a.Ja()},nn.prototype.readSint64=nn.prototype.Ac,nn.prototype.Bc=function(){return Ct(this.b==0),this.a.Ka()},nn.prototype.readSint64String=nn.prototype.Bc,nn.prototype.Rb=function(){return Ct(this.b==5),this.a.m()},nn.prototype.readFixed32=nn.prototype.Rb,nn.prototype.Sb=function(){return Ct(this.b==1),this.a.ga()},nn.prototype.readFixed64=nn.prototype.Sb,nn.prototype.Tb=function(){return Ct(this.b==1),this.a.ha()},nn.prototype.readFixed64String=nn.prototype.Tb,nn.prototype.vc=function(){return Ct(this.b==5),this.a.P()},nn.prototype.readSfixed32=nn.prototype.vc,nn.prototype.wc=function(){return Ct(this.b==5),this.a.P().toString()},nn.prototype.readSfixed32String=nn.prototype.wc,nn.prototype.xc=function(){return Ct(this.b==1),this.a.ba()},nn.prototype.readSfixed64=nn.prototype.xc,nn.prototype.yc=function(){return Ct(this.b==1),this.a.ca()},nn.prototype.readSfixed64String=nn.prototype.yc,nn.prototype.aa=function(){return Ct(this.b==5),this.a.aa()},nn.prototype.readFloat=nn.prototype.aa,nn.prototype.Z=function(){return Ct(this.b==1),this.a.Z()},nn.prototype.readDouble=nn.prototype.Z,nn.prototype.pa=function(){return Ct(this.b==0),!!this.a.o()},nn.prototype.readBool=nn.prototype.pa,nn.prototype.ra=function(){return Ct(this.b==0),this.a.sa()},nn.prototype.readEnum=nn.prototype.ra,nn.prototype.fa=function(){Ct(this.b==2);var lt=this.a.o();return this.a.fa(lt)},nn.prototype.readString=nn.prototype.fa,nn.prototype.qa=function(){Ct(this.b==2);var lt=this.a.o();return this.a.qa(lt)},nn.prototype.readBytes=nn.prototype.qa,nn.prototype.ia=function(){return Ct(this.b==0),this.a.ia()},nn.prototype.readVarintHash64=nn.prototype.ia,nn.prototype.Cc=function(){return Ct(this.b==0),this.a.fb()},nn.prototype.readSintHash64=nn.prototype.Cc,nn.prototype.w=function(lt){return Ct(this.b==0),this.a.w(lt)},nn.prototype.readSplitVarint64=nn.prototype.w,nn.prototype.ea=function(lt){return Ct(this.b==0),this.a.w(function(Bt,Jt){return pn(Bt,Jt,lt)})},nn.prototype.readSplitZigzagVarint64=nn.prototype.ea,nn.prototype.$=function(){return Ct(this.b==1),this.a.$()},nn.prototype.readFixedHash64=nn.prototype.$,nn.prototype.ta=function(lt){return Ct(this.b==1),this.a.ta(lt)},nn.prototype.readSplitFixed64=nn.prototype.ta;function ur(lt,Bt){Ct(lt.b==2);var Jt=lt.a.o();Jt=lt.a.B()+Jt;for(var tn=[];lt.a.B()Bt.length?Jt.length:Bt.length;for(lt.b&&(tn[0]=lt.b,mn=1);mnlt),Ct(0<=Bt&&4294967296>Bt);0>>7|Bt<<25)>>>0,Bt>>>=7;this.a.push(lt)},er.prototype.writeSplitVarint64=er.prototype.l,er.prototype.A=function(lt,Bt){Ct(lt==Math.floor(lt)),Ct(Bt==Math.floor(Bt)),Ct(0<=lt&&4294967296>lt),Ct(0<=Bt&&4294967296>Bt),this.s(lt),this.s(Bt)},er.prototype.writeSplitFixed64=er.prototype.A,er.prototype.j=function(lt){for(Ct(lt==Math.floor(lt)),Ct(0<=lt&&4294967296>lt);127>>=7;this.a.push(lt)},er.prototype.writeUnsignedVarint32=er.prototype.j,er.prototype.M=function(lt){if(Ct(lt==Math.floor(lt)),Ct(-2147483648<=lt&&2147483648>lt),0<=lt)this.j(lt);else{for(var Bt=0;9>Bt;Bt++)this.a.push(lt&127|128),lt>>=7;this.a.push(1)}},er.prototype.writeSignedVarint32=er.prototype.M,er.prototype.va=function(lt){Ct(lt==Math.floor(lt)),Ct(0<=lt&&18446744073709552e3>lt),sn(lt),this.l(Sn,cn)},er.prototype.writeUnsignedVarint64=er.prototype.va,er.prototype.ua=function(lt){Ct(lt==Math.floor(lt)),Ct(-9223372036854776e3<=lt&&9223372036854776e3>lt),sn(lt),this.l(Sn,cn)},er.prototype.writeSignedVarint64=er.prototype.ua,er.prototype.wa=function(lt){Ct(lt==Math.floor(lt)),Ct(-2147483648<=lt&&2147483648>lt),this.j((lt<<1^lt>>31)>>>0)},er.prototype.writeZigzagVarint32=er.prototype.wa,er.prototype.xa=function(lt){Ct(lt==Math.floor(lt)),Ct(-9223372036854776e3<=lt&&9223372036854776e3>lt),bn(lt),this.l(Sn,cn)},er.prototype.writeZigzagVarint64=er.prototype.xa,er.prototype.Ta=function(lt){this.W(cr(lt))},er.prototype.writeZigzagVarint64String=er.prototype.Ta,er.prototype.W=function(lt){var Bt=this;xn(lt),jt(Sn,cn,function(Jt,tn){Bt.l(Jt>>>0,tn>>>0)})},er.prototype.writeZigzagVarintHash64=er.prototype.W,er.prototype.be=function(lt){Ct(lt==Math.floor(lt)),Ct(0<=lt&&256>lt),this.a.push(lt>>>0&255)},er.prototype.writeUint8=er.prototype.be,er.prototype.ae=function(lt){Ct(lt==Math.floor(lt)),Ct(0<=lt&&65536>lt),this.a.push(lt>>>0&255),this.a.push(lt>>>8&255)},er.prototype.writeUint16=er.prototype.ae,er.prototype.s=function(lt){Ct(lt==Math.floor(lt)),Ct(0<=lt&&4294967296>lt),this.a.push(lt>>>0&255),this.a.push(lt>>>8&255),this.a.push(lt>>>16&255),this.a.push(lt>>>24&255)},er.prototype.writeUint32=er.prototype.s,er.prototype.V=function(lt){Ct(lt==Math.floor(lt)),Ct(0<=lt&&18446744073709552e3>lt),fn(lt),this.s(Sn),this.s(cn)},er.prototype.writeUint64=er.prototype.V,er.prototype.Qc=function(lt){Ct(lt==Math.floor(lt)),Ct(-128<=lt&&128>lt),this.a.push(lt>>>0&255)},er.prototype.writeInt8=er.prototype.Qc,er.prototype.Pc=function(lt){Ct(lt==Math.floor(lt)),Ct(-32768<=lt&&32768>lt),this.a.push(lt>>>0&255),this.a.push(lt>>>8&255)},er.prototype.writeInt16=er.prototype.Pc,er.prototype.S=function(lt){Ct(lt==Math.floor(lt)),Ct(-2147483648<=lt&&2147483648>lt),this.a.push(lt>>>0&255),this.a.push(lt>>>8&255),this.a.push(lt>>>16&255),this.a.push(lt>>>24&255)},er.prototype.writeInt32=er.prototype.S,er.prototype.T=function(lt){Ct(lt==Math.floor(lt)),Ct(-9223372036854776e3<=lt&&9223372036854776e3>lt),sn(lt),this.A(Sn,cn)},er.prototype.writeInt64=er.prototype.T,er.prototype.ka=function(lt){Ct(lt==Math.floor(lt)),Ct(-9223372036854776e3<=+lt&&9223372036854776e3>+lt),xn(cr(lt)),this.A(Sn,cn)},er.prototype.writeInt64String=er.prototype.ka,er.prototype.L=function(lt){Ct(lt===1/0||lt===-1/0||isNaN(lt)||-34028234663852886e22<=lt&&34028234663852886e22>=lt),Cn(lt),this.s(Sn)},er.prototype.writeFloat=er.prototype.L,er.prototype.J=function(lt){Ct(lt===1/0||lt===-1/0||isNaN(lt)||-17976931348623157e292<=lt&&17976931348623157e292>=lt),Nn(lt),this.s(Sn),this.s(cn)},er.prototype.writeDouble=er.prototype.J,er.prototype.I=function(lt){Ct(typeof lt=="boolean"||typeof lt=="number"),this.a.push(lt?1:0)},er.prototype.writeBool=er.prototype.I,er.prototype.R=function(lt){Ct(lt==Math.floor(lt)),Ct(-2147483648<=lt&&2147483648>lt),this.M(lt)},er.prototype.writeEnum=er.prototype.R,er.prototype.ja=function(lt){this.a.push.apply(this.a,lt)},er.prototype.writeBytes=er.prototype.ja,er.prototype.N=function(lt){xn(lt),this.l(Sn,cn)},er.prototype.writeVarintHash64=er.prototype.N,er.prototype.K=function(lt){xn(lt),this.s(Sn),this.s(cn)},er.prototype.writeFixedHash64=er.prototype.K,er.prototype.U=function(lt){var Bt=this.a.length;Mt(lt);for(var Jt=0;Jttn)this.a.push(tn);else if(2048>tn)this.a.push(tn>>6|192),this.a.push(tn&63|128);else if(65536>tn)if(55296<=tn&&56319>=tn&&Jt+1=mn&&(tn=1024*(tn-55296)+mn-56320+65536,this.a.push(tn>>18|240),this.a.push(tn>>12&63|128),this.a.push(tn>>6&63|128),this.a.push(tn&63|128),Jt++)}else this.a.push(tn>>12|224),this.a.push(tn>>6&63|128),this.a.push(tn&63|128)}return this.a.length-Bt},er.prototype.writeString=er.prototype.U;function gr(lt,Bt){this.lo=lt,this.hi=Bt}ct("jspb.arith.UInt64",gr,void 0),gr.prototype.cmp=function(lt){return this.hi>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)},gr.prototype.rightShift=gr.prototype.La,gr.prototype.Da=function(){return new gr(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},gr.prototype.leftShift=gr.prototype.Da,gr.prototype.cb=function(){return!!(this.hi&2147483648)},gr.prototype.msb=gr.prototype.cb,gr.prototype.Ob=function(){return!!(this.lo&1)},gr.prototype.lsb=gr.prototype.Ob,gr.prototype.Ua=function(){return this.lo==0&&this.hi==0},gr.prototype.zero=gr.prototype.Ua,gr.prototype.add=function(lt){return new gr((this.lo+lt.lo&4294967295)>>>0>>>0,((this.hi+lt.hi&4294967295)>>>0)+(4294967296<=this.lo+lt.lo?1:0)>>>0)},gr.prototype.add=gr.prototype.add,gr.prototype.sub=function(lt){return new gr((this.lo-lt.lo&4294967295)>>>0>>>0,((this.hi-lt.hi&4294967295)>>>0)-(0>this.lo-lt.lo?1:0)>>>0)},gr.prototype.sub=gr.prototype.sub;function On(lt,Bt){var Jt=lt&65535;lt>>>=16;var tn=Bt&65535,mn=Bt>>>16;for(Bt=Jt*tn+65536*(Jt*mn&65535)+65536*(lt*tn&65535),Jt=lt*mn+(Jt*mn>>>16)+(lt*tn>>>16);4294967296<=Bt;)Bt-=4294967296,Jt+=1;return new gr(Bt>>>0,Jt>>>0)}gr.mul32x32=On,gr.prototype.eb=function(lt){var Bt=On(this.lo,lt);return lt=On(this.hi,lt),lt.hi=lt.lo,lt.lo=0,Bt.add(lt)},gr.prototype.mul=gr.prototype.eb,gr.prototype.Xa=function(lt){if(lt==0)return[];var Bt=new gr(0,0),Jt=new gr(this.lo,this.hi);lt=new gr(lt,0);for(var tn=new gr(1,0);!lt.cb();)lt=lt.Da(),tn=tn.Da();for(;!tn.Ua();)0>=lt.cmp(Jt)&&(Bt=Bt.add(tn),Jt=Jt.sub(lt)),lt=lt.La(),tn=tn.La();return[Bt,Jt]},gr.prototype.div=gr.prototype.Xa,gr.prototype.toString=function(){for(var lt="",Bt=this;!Bt.Ua();){Bt=Bt.Xa(10);var Jt=Bt[0];lt=Bt[1].lo+lt,Bt=Jt}return lt==""&&(lt="0"),lt},gr.prototype.toString=gr.prototype.toString;function kt(lt){for(var Bt=new gr(0,0),Jt=new gr(0,0),tn=0;tnlt[tn]||"9">>0>>>0,((this.hi+lt.hi&4294967295)>>>0)+(4294967296<=this.lo+lt.lo?1:0)>>>0)},xt.prototype.add=xt.prototype.add,xt.prototype.sub=function(lt){return new xt((this.lo-lt.lo&4294967295)>>>0>>>0,((this.hi-lt.hi&4294967295)>>>0)-(0>this.lo-lt.lo?1:0)>>>0)},xt.prototype.sub=xt.prototype.sub,xt.prototype.clone=function(){return new xt(this.lo,this.hi)},xt.prototype.clone=xt.prototype.clone,xt.prototype.toString=function(){var lt=(this.hi&2147483648)!=0,Bt=new gr(this.lo,this.hi);return lt&&(Bt=new gr(0,0).sub(Bt)),(lt?"-":"")+Bt.toString()},xt.prototype.toString=xt.prototype.toString;function Kt(lt){var Bt=0>>=7,lt.b++;Bt.push(Jt),lt.b++}Ot.prototype.pb=function(lt,Bt,Jt){En(this,lt.subarray(Bt,Jt))},Ot.prototype.writeSerializedMessage=Ot.prototype.pb,Ot.prototype.Pb=function(lt,Bt,Jt){lt!=null&&Bt!=null&&Jt!=null&&this.pb(lt,Bt,Jt)},Ot.prototype.maybeWriteSerializedMessage=Ot.prototype.Pb,Ot.prototype.reset=function(){this.c=[],this.a.end(),this.b=0,this.h=[]},Ot.prototype.reset=Ot.prototype.reset,Ot.prototype.ab=function(){Ct(this.h.length==0);for(var lt=new Uint8Array(this.b+this.a.length()),Bt=this.c,Jt=Bt.length,tn=0,mn=0;mnBt),Jn(this,lt,Bt))},Ot.prototype.writeInt32=Ot.prototype.S,Ot.prototype.ob=function(lt,Bt){Bt!=null&&(Bt=parseInt(Bt,10),Ct(-2147483648<=Bt&&2147483648>Bt),Jn(this,lt,Bt))},Ot.prototype.writeInt32String=Ot.prototype.ob,Ot.prototype.T=function(lt,Bt){Bt!=null&&(Ct(-9223372036854776e3<=Bt&&9223372036854776e3>Bt),Bt!=null&&(Wn(this,lt,0),this.a.ua(Bt)))},Ot.prototype.writeInt64=Ot.prototype.T,Ot.prototype.ka=function(lt,Bt){Bt!=null&&(Bt=Kt(Bt),Wn(this,lt,0),this.a.l(Bt.lo,Bt.hi))},Ot.prototype.writeInt64String=Ot.prototype.ka,Ot.prototype.s=function(lt,Bt){Bt!=null&&(Ct(0<=Bt&&4294967296>Bt),Zn(this,lt,Bt))},Ot.prototype.writeUint32=Ot.prototype.s,Ot.prototype.ub=function(lt,Bt){Bt!=null&&(Bt=parseInt(Bt,10),Ct(0<=Bt&&4294967296>Bt),Zn(this,lt,Bt))},Ot.prototype.writeUint32String=Ot.prototype.ub,Ot.prototype.V=function(lt,Bt){Bt!=null&&(Ct(0<=Bt&&18446744073709552e3>Bt),Bt!=null&&(Wn(this,lt,0),this.a.va(Bt)))},Ot.prototype.writeUint64=Ot.prototype.V,Ot.prototype.vb=function(lt,Bt){Bt!=null&&(Bt=kt(Bt),Wn(this,lt,0),this.a.l(Bt.lo,Bt.hi))},Ot.prototype.writeUint64String=Ot.prototype.vb,Ot.prototype.rb=function(lt,Bt){Bt!=null&&(Ct(-2147483648<=Bt&&2147483648>Bt),Bt!=null&&(Wn(this,lt,0),this.a.wa(Bt)))},Ot.prototype.writeSint32=Ot.prototype.rb,Ot.prototype.sb=function(lt,Bt){Bt!=null&&(Ct(-9223372036854776e3<=Bt&&9223372036854776e3>Bt),Bt!=null&&(Wn(this,lt,0),this.a.xa(Bt)))},Ot.prototype.writeSint64=Ot.prototype.sb,Ot.prototype.$d=function(lt,Bt){Bt!=null&&Bt!=null&&(Wn(this,lt,0),this.a.W(Bt))},Ot.prototype.writeSintHash64=Ot.prototype.$d,Ot.prototype.Zd=function(lt,Bt){Bt!=null&&Bt!=null&&(Wn(this,lt,0),this.a.Ta(Bt))},Ot.prototype.writeSint64String=Ot.prototype.Zd,Ot.prototype.Pa=function(lt,Bt){Bt!=null&&(Ct(0<=Bt&&4294967296>Bt),Wn(this,lt,5),this.a.s(Bt))},Ot.prototype.writeFixed32=Ot.prototype.Pa,Ot.prototype.Qa=function(lt,Bt){Bt!=null&&(Ct(0<=Bt&&18446744073709552e3>Bt),Wn(this,lt,1),this.a.V(Bt))},Ot.prototype.writeFixed64=Ot.prototype.Qa,Ot.prototype.nb=function(lt,Bt){Bt!=null&&(Bt=kt(Bt),Wn(this,lt,1),this.a.A(Bt.lo,Bt.hi))},Ot.prototype.writeFixed64String=Ot.prototype.nb,Ot.prototype.Ra=function(lt,Bt){Bt!=null&&(Ct(-2147483648<=Bt&&2147483648>Bt),Wn(this,lt,5),this.a.S(Bt))},Ot.prototype.writeSfixed32=Ot.prototype.Ra,Ot.prototype.Sa=function(lt,Bt){Bt!=null&&(Ct(-9223372036854776e3<=Bt&&9223372036854776e3>Bt),Wn(this,lt,1),this.a.T(Bt))},Ot.prototype.writeSfixed64=Ot.prototype.Sa,Ot.prototype.qb=function(lt,Bt){Bt!=null&&(Bt=Kt(Bt),Wn(this,lt,1),this.a.A(Bt.lo,Bt.hi))},Ot.prototype.writeSfixed64String=Ot.prototype.qb,Ot.prototype.L=function(lt,Bt){Bt!=null&&(Wn(this,lt,5),this.a.L(Bt))},Ot.prototype.writeFloat=Ot.prototype.L,Ot.prototype.J=function(lt,Bt){Bt!=null&&(Wn(this,lt,1),this.a.J(Bt))},Ot.prototype.writeDouble=Ot.prototype.J,Ot.prototype.I=function(lt,Bt){Bt!=null&&(Ct(typeof Bt=="boolean"||typeof Bt=="number"),Wn(this,lt,0),this.a.I(Bt))},Ot.prototype.writeBool=Ot.prototype.I,Ot.prototype.R=function(lt,Bt){Bt!=null&&(Ct(-2147483648<=Bt&&2147483648>Bt),Wn(this,lt,0),this.a.M(Bt))},Ot.prototype.writeEnum=Ot.prototype.R,Ot.prototype.U=function(lt,Bt){Bt!=null&&(lt=vn(this,lt),this.a.U(Bt),Mn(this,lt))},Ot.prototype.writeString=Ot.prototype.U,Ot.prototype.ja=function(lt,Bt){Bt!=null&&(Bt=dn(Bt),Wn(this,lt,2),this.a.j(Bt.length),En(this,Bt))},Ot.prototype.writeBytes=Ot.prototype.ja,Ot.prototype.Rc=function(lt,Bt,Jt){Bt!=null&&(lt=vn(this,lt),Jt(Bt,this),Mn(this,lt))},Ot.prototype.writeMessage=Ot.prototype.Rc,Ot.prototype.Sc=function(lt,Bt,Jt){Bt!=null&&(Wn(this,1,3),Wn(this,2,0),this.a.M(lt),lt=vn(this,3),Jt(Bt,this),Mn(this,lt),Wn(this,1,4))},Ot.prototype.writeMessageSet=Ot.prototype.Sc,Ot.prototype.Oc=function(lt,Bt,Jt){Bt!=null&&(Wn(this,lt,3),Jt(Bt,this),Wn(this,lt,4))},Ot.prototype.writeGroup=Ot.prototype.Oc,Ot.prototype.K=function(lt,Bt){Bt!=null&&(Ct(Bt.length==8),Wn(this,lt,1),this.a.K(Bt))},Ot.prototype.writeFixedHash64=Ot.prototype.K,Ot.prototype.N=function(lt,Bt){Bt!=null&&(Ct(Bt.length==8),Wn(this,lt,0),this.a.N(Bt))},Ot.prototype.writeVarintHash64=Ot.prototype.N,Ot.prototype.A=function(lt,Bt,Jt){Wn(this,lt,1),this.a.A(Bt,Jt)},Ot.prototype.writeSplitFixed64=Ot.prototype.A,Ot.prototype.l=function(lt,Bt,Jt){Wn(this,lt,0),this.a.l(Bt,Jt)},Ot.prototype.writeSplitVarint64=Ot.prototype.l,Ot.prototype.tb=function(lt,Bt,Jt){Wn(this,lt,0);var tn=this.a;jt(Bt,Jt,function(mn,Dn){tn.l(mn>>>0,Dn>>>0)})},Ot.prototype.writeSplitZigzagVarint64=Ot.prototype.tb,Ot.prototype.Ed=function(lt,Bt){if(Bt!=null)for(var Jt=0;Jt>>0,dr>>>0)});Mn(this,lt)}},Ot.prototype.writePackedSplitZigzagVarint64=Ot.prototype.od,Ot.prototype.dd=function(lt,Bt){if(Bt!=null&&Bt.length){lt=vn(this,lt);for(var Jt=0;Jt0&&et.writeString(1,tt)},proto.google.protobuf.StringValue.prototype.getValue=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function($){return s.Message.setProto3StringField(this,1,$)},s.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function($){return proto.google.protobuf.BytesValue.toObject($,this)},proto.google.protobuf.BytesValue.toObject=function($,et){var tt={value:et.getValue_asB64()};return $&&(tt.$jspbMessageInstance=et),tt}),proto.google.protobuf.BytesValue.deserializeBinary=function($){var et=new s.BinaryReader($),tt=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(tt,et)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function($,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readBytes();$.setValue(nt);break;default:et.skipField();break}}return $},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var $=new s.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,$),$.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function($,et){var tt=void 0;tt=$.getValue_asU8(),tt.length>0&&et.writeBytes(1,tt)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return s.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return s.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function($){return s.Message.setProto3BytesField(this,1,$)},_.object.extend(o,proto.google.protobuf)})(wrappers_pb);(function(o){var s=googleProtobuf,_=s,j=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||typeof j<"u"&&j||typeof self<"u"&&self||function(){return this}.call(null)||Function("return this")(),$=wrappers_pb;_.object.extend(proto,$),_.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetSessionsRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetSessionsResponse",null,j),_.exportSymbol("proto.v1.signaling.api.Peer",null,j),_.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,j),_.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,j),_.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.RtcSession",null,j),_.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,j),_.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,j),_.exportSymbol("proto.v1.signaling.api.SessionType",null,j),_.exportSymbol("proto.v1.signaling.api.Signal",null,j),proto.v1.signaling.api.Peer=function(et){s.Message.initialize(this,et,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.Peer,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.Signal,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.RtcSession=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RtcSession,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RtcSession.displayName="proto.v1.signaling.api.RtcSession"),proto.v1.signaling.api.GetSessionsRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetSessionsRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsRequest.displayName="proto.v1.signaling.api.GetSessionsRequest"),proto.v1.signaling.api.GetSessionsResponse=function(et){s.Message.initialize(this,et,0,-1,proto.v1.signaling.api.GetSessionsResponse.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.GetSessionsResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsResponse.displayName="proto.v1.signaling.api.GetSessionsResponse"),proto.v1.signaling.api.GetHealthRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetHealthRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetHealthResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.CreatePeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.CreatePeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.DeletePeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.DeletePeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RefreshPeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RefreshPeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetPeersRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(et){s.Message.initialize(this,et,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.GetPeersResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetIceServersRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetIceServersResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.SendSignalRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.SendSignalResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(et){s.Message.initialize(this,et,0,-1,null,null)},_.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(et){return proto.v1.signaling.api.Peer.toObject(et,this)},proto.v1.signaling.api.Peer.toObject=function(et,tt){var nt,rt={peerId:s.Message.getFieldWithDefault(tt,1,""),organizationId:s.Message.getFieldWithDefault(tt,2,""),userId:(nt=tt.getUserId())&&$.StringValue.toObject(et,nt),deviceId:(nt=tt.getDeviceId())&&$.StringValue.toObject(et,nt),sessionIdsList:(nt=s.Message.getRepeatedField(tt,5))==null?void 0:nt,peerCreatedTimestamp:(nt=tt.getPeerCreatedTimestamp())&&$.Int64Value.toObject(et,nt)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.Peer.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=tt.readString();et.setPeerId(rt);break;case 2:var rt=tt.readString();et.setOrganizationId(rt);break;case 3:var rt=new $.StringValue;tt.readMessage(rt,$.StringValue.deserializeBinaryFromReader),et.setUserId(rt);break;case 4:var rt=new $.StringValue;tt.readMessage(rt,$.StringValue.deserializeBinaryFromReader),et.setDeviceId(rt);break;case 5:var rt=tt.readString();et.addSessionIds(rt);break;case 6:var rt=new $.Int64Value;tt.readMessage(rt,$.Int64Value.deserializeBinaryFromReader),et.setPeerCreatedTimestamp(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getPeerId(),nt.length>0&&tt.writeString(1,nt),nt=et.getOrganizationId(),nt.length>0&&tt.writeString(2,nt),nt=et.getUserId(),nt!=null&&tt.writeMessage(3,nt,$.StringValue.serializeBinaryToWriter),nt=et.getDeviceId(),nt!=null&&tt.writeMessage(4,nt,$.StringValue.serializeBinaryToWriter),nt=et.getSessionIdsList(),nt.length>0&&tt.writeRepeatedString(5,nt),nt=et.getPeerCreatedTimestamp(),nt!=null&&tt.writeMessage(6,nt,$.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(et){return s.Message.setProto3StringField(this,1,et)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return s.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(et){return s.Message.setProto3StringField(this,2,et)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return s.Message.getWrapperField(this,$.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(et){return s.Message.setWrapperField(this,3,et)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return s.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return s.Message.getWrapperField(this,$.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(et){return s.Message.setWrapperField(this,4,et)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return s.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return s.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(et){return s.Message.setField(this,5,et||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(et,tt){return s.Message.addToRepeatedField(this,5,et,tt)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(et){return s.Message.setWrapperField(this,6,et)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return s.Message.getField(this,6)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(et){return proto.v1.signaling.api.Signal.toObject(et,this)},proto.v1.signaling.api.Signal.toObject=function(et,tt){var nt,rt={sessionId:(nt=tt.getSessionId())&&$.StringValue.toObject(et,nt),sessionCreatedTimestamp:(nt=tt.getSessionCreatedTimestamp())&&$.Int64Value.toObject(et,nt),senderId:s.Message.getFieldWithDefault(tt,3,""),receiverId:s.Message.getFieldWithDefault(tt,4,""),payload:s.Message.getFieldWithDefault(tt,5,""),iceServers:s.Message.getFieldWithDefault(tt,6,""),iceTransportPolicy:s.Message.getFieldWithDefault(tt,7,""),sessionType:s.Message.getFieldWithDefault(tt,8,0)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.Signal.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new $.StringValue;tt.readMessage(rt,$.StringValue.deserializeBinaryFromReader),et.setSessionId(rt);break;case 2:var rt=new $.Int64Value;tt.readMessage(rt,$.Int64Value.deserializeBinaryFromReader),et.setSessionCreatedTimestamp(rt);break;case 3:var rt=tt.readString();et.setSenderId(rt);break;case 4:var rt=tt.readString();et.setReceiverId(rt);break;case 5:var rt=tt.readString();et.setPayload(rt);break;case 6:var rt=tt.readString();et.setIceServers(rt);break;case 7:var rt=tt.readString();et.setIceTransportPolicy(rt);break;case 8:var rt=tt.readEnum();et.setSessionType(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getSessionId(),nt!=null&&tt.writeMessage(1,nt,$.StringValue.serializeBinaryToWriter),nt=et.getSessionCreatedTimestamp(),nt!=null&&tt.writeMessage(2,nt,$.Int64Value.serializeBinaryToWriter),nt=et.getSenderId(),nt.length>0&&tt.writeString(3,nt),nt=et.getReceiverId(),nt.length>0&&tt.writeString(4,nt),nt=et.getPayload(),nt.length>0&&tt.writeString(5,nt),nt=et.getIceServers(),nt.length>0&&tt.writeString(6,nt),nt=et.getIceTransportPolicy(),nt.length>0&&tt.writeString(7,nt),nt=et.getSessionType(),nt!==0&&tt.writeEnum(8,nt)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return s.Message.getWrapperField(this,$.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(et){return s.Message.setWrapperField(this,1,et)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(et){return s.Message.setWrapperField(this,2,et)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return s.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return s.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(et){return s.Message.setProto3StringField(this,3,et)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return s.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(et){return s.Message.setProto3StringField(this,4,et)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return s.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(et){return s.Message.setProto3StringField(this,5,et)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return s.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(et){return s.Message.setProto3StringField(this,6,et)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return s.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(et){return s.Message.setProto3StringField(this,7,et)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return s.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(et){return s.Message.setProto3EnumField(this,8,et)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RtcSession.prototype.toObject=function(et){return proto.v1.signaling.api.RtcSession.toObject(et,this)},proto.v1.signaling.api.RtcSession.toObject=function(et,tt){var nt={sessionId:s.Message.getFieldWithDefault(tt,1,""),offerPeerId:s.Message.getFieldWithDefault(tt,2,""),answerPeerId:s.Message.getFieldWithDefault(tt,3,""),organizationId:s.Message.getFieldWithDefault(tt,4,""),sessionType:s.Message.getFieldWithDefault(tt,5,"")};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.RtcSession.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.RtcSession;return proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=tt.readString();et.setSessionId(rt);break;case 2:var rt=tt.readString();et.setOfferPeerId(rt);break;case 3:var rt=tt.readString();et.setAnswerPeerId(rt);break;case 4:var rt=tt.readString();et.setOrganizationId(rt);break;case 5:var rt=tt.readString();et.setSessionType(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.RtcSession.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.RtcSession.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.RtcSession.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getSessionId(),nt.length>0&&tt.writeString(1,nt),nt=et.getOfferPeerId(),nt.length>0&&tt.writeString(2,nt),nt=et.getAnswerPeerId(),nt.length>0&&tt.writeString(3,nt),nt=et.getOrganizationId(),nt.length>0&&tt.writeString(4,nt),nt=et.getSessionType(),nt.length>0&&tt.writeString(5,nt)},proto.v1.signaling.api.RtcSession.prototype.getSessionId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionId=function(et){return s.Message.setProto3StringField(this,1,et)},proto.v1.signaling.api.RtcSession.prototype.getOfferPeerId=function(){return s.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.RtcSession.prototype.setOfferPeerId=function(et){return s.Message.setProto3StringField(this,2,et)},proto.v1.signaling.api.RtcSession.prototype.getAnswerPeerId=function(){return s.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.RtcSession.prototype.setAnswerPeerId=function(et){return s.Message.setProto3StringField(this,3,et)},proto.v1.signaling.api.RtcSession.prototype.getOrganizationId=function(){return s.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.RtcSession.prototype.setOrganizationId=function(et){return s.Message.setProto3StringField(this,4,et)},proto.v1.signaling.api.RtcSession.prototype.getSessionType=function(){return s.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionType=function(et){return s.Message.setProto3StringField(this,5,et)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsRequest.prototype.toObject=function(et){return proto.v1.signaling.api.GetSessionsRequest.toObject(et,this)},proto.v1.signaling.api.GetSessionsRequest.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetSessionsRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetSessionsRequest;return proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.GetSessionsRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter=function(et,tt){},proto.v1.signaling.api.GetSessionsResponse.repeatedFields_=[1],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsResponse.prototype.toObject=function(et){return proto.v1.signaling.api.GetSessionsResponse.toObject(et,this)},proto.v1.signaling.api.GetSessionsResponse.toObject=function(et,tt){var nt={sessionsList:s.Message.toObjectList(tt.getSessionsList(),proto.v1.signaling.api.RtcSession.toObject,et)};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetSessionsResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetSessionsResponse;return proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new proto.v1.signaling.api.RtcSession;tt.readMessage(rt,proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader),et.addSessions(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.GetSessionsResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getSessionsList(),nt.length>0&&tt.writeRepeatedMessage(1,nt,proto.v1.signaling.api.RtcSession.serializeBinaryToWriter)},proto.v1.signaling.api.GetSessionsResponse.prototype.getSessionsList=function(){return s.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.RtcSession,1)},proto.v1.signaling.api.GetSessionsResponse.prototype.setSessionsList=function(et){return s.Message.setRepeatedWrapperField(this,1,et)},proto.v1.signaling.api.GetSessionsResponse.prototype.addSessions=function(et,tt){return s.Message.addToRepeatedWrapperField(this,1,et,proto.v1.signaling.api.RtcSession,tt)},proto.v1.signaling.api.GetSessionsResponse.prototype.clearSessionsList=function(){return this.setSessionsList([])},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(et){return proto.v1.signaling.api.GetHealthRequest.toObject(et,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(et,tt){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(et){return proto.v1.signaling.api.GetHealthResponse.toObject(et,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(et,tt){var nt={version:s.Message.getFieldWithDefault(tt,1,"")};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=tt.readString();et.setVersion(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getVersion(),nt.length>0&&tt.writeString(1,nt)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(et){return s.Message.setProto3StringField(this,1,et)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(et){return proto.v1.signaling.api.CreatePeerRequest.toObject(et,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(et,tt){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(et){return proto.v1.signaling.api.CreatePeerResponse.toObject(et,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(et,tt){var nt,rt={peer:(nt=tt.getPeer())&&proto.v1.signaling.api.Peer.toObject(et,nt)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new proto.v1.signaling.api.Peer;tt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),et.setPeer(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getPeer(),nt!=null&&tt.writeMessage(1,nt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(et){return s.Message.setWrapperField(this,1,et)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(et){return proto.v1.signaling.api.DeletePeerRequest.toObject(et,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(et,tt){var nt={peerId:s.Message.getFieldWithDefault(tt,1,"")};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=tt.readString();et.setPeerId(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getPeerId(),nt.length>0&&tt.writeString(1,nt)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(et){return s.Message.setProto3StringField(this,1,et)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(et){return proto.v1.signaling.api.DeletePeerResponse.toObject(et,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(et,tt){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(et){return proto.v1.signaling.api.RefreshPeerRequest.toObject(et,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(et,tt){var nt,rt={peer:(nt=tt.getPeer())&&proto.v1.signaling.api.Peer.toObject(et,nt)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new proto.v1.signaling.api.Peer;tt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),et.setPeer(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getPeer(),nt!=null&&tt.writeMessage(1,nt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(et){return s.Message.setWrapperField(this,1,et)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(et){return proto.v1.signaling.api.RefreshPeerResponse.toObject(et,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(et,tt){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(et){return proto.v1.signaling.api.GetPeersRequest.toObject(et,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(et,tt){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(et){return proto.v1.signaling.api.GetPeersResponse.toObject(et,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(et,tt){var nt={peersList:s.Message.toObjectList(tt.getPeersList(),proto.v1.signaling.api.Peer.toObject,et)};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new proto.v1.signaling.api.Peer;tt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),et.addPeers(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getPeersList(),nt.length>0&&tt.writeRepeatedMessage(1,nt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return s.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(et){return s.Message.setRepeatedWrapperField(this,1,et)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(et,tt){return s.Message.addToRepeatedWrapperField(this,1,et,proto.v1.signaling.api.Peer,tt)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(et){return proto.v1.signaling.api.GetIceServersRequest.toObject(et,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(et,tt){var nt={};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){default:tt.skipField();break}}return et},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(et,tt){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(et){return proto.v1.signaling.api.GetIceServersResponse.toObject(et,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(et,tt){var nt={iceServers:s.Message.getFieldWithDefault(tt,1,"")};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=tt.readString();et.setIceServers(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getIceServers(),nt.length>0&&tt.writeString(1,nt)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(et){return s.Message.setProto3StringField(this,1,et)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(et){return proto.v1.signaling.api.SendSignalRequest.toObject(et,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(et,tt){var nt,rt={signal:(nt=tt.getSignal())&&proto.v1.signaling.api.Signal.toObject(et,nt)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new proto.v1.signaling.api.Signal;tt.readMessage(rt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),et.setSignal(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getSignal(),nt!=null&&tt.writeMessage(1,nt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(et){return s.Message.setWrapperField(this,1,et)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(et){return proto.v1.signaling.api.SendSignalResponse.toObject(et,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(et,tt){var nt,rt={sessionId:(nt=tt.getSessionId())&&$.StringValue.toObject(et,nt),sessionCreatedTimestamp:(nt=tt.getSessionCreatedTimestamp())&&$.Int64Value.toObject(et,nt)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new $.StringValue;tt.readMessage(rt,$.StringValue.deserializeBinaryFromReader),et.setSessionId(rt);break;case 2:var rt=new $.Int64Value;tt.readMessage(rt,$.Int64Value.deserializeBinaryFromReader),et.setSessionCreatedTimestamp(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getSessionId(),nt!=null&&tt.writeMessage(1,nt,$.StringValue.serializeBinaryToWriter),nt=et.getSessionCreatedTimestamp(),nt!=null&&tt.writeMessage(2,nt,$.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return s.Message.getWrapperField(this,$.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(et){return s.Message.setWrapperField(this,1,et)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(et){return s.Message.setWrapperField(this,2,et)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return s.Message.getField(this,2)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(et){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(et,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(et,tt){var nt={peerId:s.Message.getFieldWithDefault(tt,1,"")};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=tt.readString();et.setPeerId(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getPeerId(),nt.length>0&&tt.writeString(1,nt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(et){return s.Message.setProto3StringField(this,1,et)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(et){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(et,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(et,tt){var nt,rt={signal:(nt=tt.getSignal())&&proto.v1.signaling.api.Signal.toObject(et,nt)};return et&&(rt.$jspbMessageInstance=tt),rt}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(et){var tt=new s.BinaryReader(et),nt=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(nt,tt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();){var nt=tt.getFieldNumber();switch(nt){case 1:var rt=new proto.v1.signaling.api.Signal;tt.readMessage(rt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),et.setSignal(rt);break;default:tt.skipField();break}}return et},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var et=new s.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(et,tt){var nt=void 0;nt=et.getSignal(),nt!=null&&tt.writeMessage(1,nt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(et){return s.Message.setWrapperField(this,1,et)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},_.object.extend(o,proto.v1.signaling.api)})(signaling_pb);const encodedJs$2="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9dWktc2RrLXJlYWx0aW1lLXBsYXllci1jb3JlLXdvcmtlci51bWQtNjhhNmUxNmEuanMubWFwCg==";typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$2)],{type:"text/javascript;charset=utf-8"});const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIE8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsImRlZmF1bHQiKT90LmRlZmF1bHQ6dH12YXIgaD1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSx0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9e2NtcDplfSk7dmFyIHM9dHlwZW9mIGUuY3ljbGVzPT0iYm9vbGVhbiI/ZS5jeWNsZXM6ITEsYT1lLmNtcCYmZnVuY3Rpb24odSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbihuLGkpe3ZhciBsPXtrZXk6bix2YWx1ZTpyW25dfSxmPXtrZXk6aSx2YWx1ZTpyW2ldfTtyZXR1cm4gdShsLGYpfX19KGUuY21wKSxjPVtdO3JldHVybiBmdW5jdGlvbiB1KHIpe2lmKHImJnIudG9KU09OJiZ0eXBlb2Ygci50b0pTT049PSJmdW5jdGlvbiImJihyPXIudG9KU09OKCkpLHIhPT12b2lkIDApe2lmKHR5cGVvZiByPT0ibnVtYmVyIilyZXR1cm4gaXNGaW5pdGUocik/IiIrcjoibnVsbCI7aWYodHlwZW9mIHIhPSJvYmplY3QiKXJldHVybiBKU09OLnN0cmluZ2lmeShyKTt2YXIgbixpO2lmKEFycmF5LmlzQXJyYXkocikpe2ZvcihpPSJbIixuPTA7bjxyLmxlbmd0aDtuKyspbiYmKGkrPSIsIiksaSs9dShyW25dKXx8Im51bGwiO3JldHVybiBpKyJdIn1pZihyPT09bnVsbClyZXR1cm4ibnVsbCI7aWYoYy5pbmRleE9mKHIpIT09LTEpe2lmKHMpcmV0dXJuIEpTT04uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9dmFyIGw9Yy5wdXNoKHIpLTEsZj1PYmplY3Qua2V5cyhyKS5zb3J0KGEmJmEocikpO2ZvcihpPSIiLG49MDtuPGYubGVuZ3RoO24rKyl7dmFyIG09ZltuXSxwPXUoclttXSk7cCYmKGkmJihpKz0iLCIpLGkrPUpTT04uc3RyaW5naWZ5KG0pKyI6IitwKX1yZXR1cm4gYy5zcGxpY2UobCwxKSwieyIraSsifSJ9fSh0KX0sdj1PKGgpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIHYodCx7Y3ljbGVzOiEwfSl9ZnVuY3Rpb24gUyh0KXtpZighdC5zdGFjaylyZXR1cm57bWVzc2FnZTpvKHQpfTtjb25zdHtuYW1lOmUsbWVzc2FnZTpzLHN0YWNrOmEsLi4uY309dDtyZXR1cm57bmFtZTplLG1lc3NhZ2U6cyE9PXZvaWQgMD9zOm8odCksc3RhY2s6YSxtZXRhOmMmJk9iamVjdC5rZXlzKGMpLmxlbmd0aD09PTA/dm9pZCAwOmN9fWZ1bmN0aW9uIHkodCl7Y29uc3R7bWVzc2FnZTplLHN0YWNrOnMsbWV0YTphfT1TKHQpO3JldHVybmAke3N8fGV8fCIifSR7YSYmT2JqZWN0LmtleXMoYSkubGVuZ3RoPjA/YCAtLSAke28oYSl9YDoiIn1gfWNvbnN0IGc9c2VsZixiPTFlMzthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixhc3luYyB0PT57dmFyIGU7dHJ5e2NvbnN0IHM9dC5kYXRhO3RyeXtjb25zdCBjPWF3YWl0KGF3YWl0IGZldGNoKHMse21vZGU6ImNvcnMifSkpLnRleHQoKTtnLnBvc3RNZXNzYWdlKHtqc29uOkpTT04ucGFyc2UoYykscHJldmlldzpjLnN1YnN0cmluZygwLGIpLGxlbmd0aDpjLmxlbmd0aCx1cmw6c30pfWNhdGNoKGEpe3Rocm93IG5ldyBFcnJvcihgTG9hZCBmYWlsZWQgJHt5KGEpfWApfX1jYXRjaChzKXtnLnBvc3RNZXNzYWdlKHtlcnJvcjp5KHMpLHVybDooZT10PT1udWxsP3ZvaWQgMDp0LmRhdGEpPT1udWxsP3ZvaWQgMDplLnVybH0pfX0pfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YS1sb2FkZXIud29ya2VyLWE2ZmQ5NzRkLmpzLm1hcAo=",blob$1=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(){let o;try{if(o=blob$1&&(window.URL||window.webkitURL).createObjectURL(blob$1),!o)throw"";return new Worker(o)}catch{return new Worker("data:application/javascript;base64,"+encodedJs$1)}finally{o&&(window.URL||window.webkitURL).revokeObjectURL(o)}}const millisecond$1=1,second$1=1e3,minute$1=60*second$1,hour$1=60*minute$1,day$1=24*hour$1,week$1=7*day$1,month$1=30*day$1,year$1=365*day$1,duration$1={millisecond:millisecond$1,second:second$1,minute:minute$1,hour:hour$1,day:day$1,week:week$1,month:month$1,year:year$1};function delay(o){return new Promise(s=>setTimeout(s,o))}var fastJsonStableStringify=function(o,s){s||(s={}),typeof s=="function"&&(s={cmp:s});var _=typeof s.cycles=="boolean"?s.cycles:!1,j=s.cmp&&function(et){return function(tt){return function(nt,rt){var it={key:nt,value:tt[nt]},st={key:rt,value:tt[rt]};return et(it,st)}}}(s.cmp),$=[];return function et(tt){if(tt&&tt.toJSON&&typeof tt.toJSON=="function"&&(tt=tt.toJSON()),tt!==void 0){if(typeof tt=="number")return isFinite(tt)?""+tt:"null";if(typeof tt!="object")return JSON.stringify(tt);var nt,rt;if(Array.isArray(tt)){for(rt="[",nt=0;nts(o),this))}onabort(){}addEventListener(o,s){o==="abort"&&this._listeners.push(s)}removeEventListener(o,s){o==="abort"&&(this._listeners=this._listeners.filter(_=>_!==s))}},warned=new Set,deprecatedOption=(o,s)=>{const _=`LRU_CACHE_OPTION_${o}`;shouldWarn(_)&&warn(_,`${o} option`,`options.${s}`,LRUCache)},deprecatedMethod=(o,s)=>{const _=`LRU_CACHE_METHOD_${o}`;if(shouldWarn(_)){const{prototype:j}=LRUCache,{get:$}=Object.getOwnPropertyDescriptor(j,o);warn(_,`${o} method`,`cache.${s}()`,$)}},deprecatedProperty=(o,s)=>{const _=`LRU_CACHE_PROPERTY_${o}`;if(shouldWarn(_)){const{prototype:j}=LRUCache,{get:$}=Object.getOwnPropertyDescriptor(j,o);warn(_,`${o} property`,`cache.${s}`,$)}},emitWarning=(...o)=>{typeof process$1=="object"&&process$1&&typeof process$1.emitWarning=="function"?process$1.emitWarning(...o):console.error(...o)},shouldWarn=o=>!warned.has(o),warn=(o,s,_,j)=>{warned.add(o);const $=`The ${s} is deprecated. Please use ${_} instead.`;emitWarning($,"DeprecationWarning",o,j)},isPosInt=o=>o&&o===Math.floor(o)&&o>0&&isFinite(o),getUintArray=o=>isPosInt(o)?o<=Math.pow(2,8)?Uint8Array:o<=Math.pow(2,16)?Uint16Array:o<=Math.pow(2,32)?Uint32Array:o<=Number.MAX_SAFE_INTEGER?ZeroArray:null:null;class ZeroArray extends Array{constructor(s){super(s),this.fill(0)}}class Stack{constructor(s){if(s===0)return[];const _=getUintArray(s);this.heap=new _(s),this.length=0}push(s){this.heap[this.length++]=s}pop(){return this.heap[--this.length]}}class LRUCache{constructor(s={}){const{max:_=0,ttl:j,ttlResolution:$=1,ttlAutopurge:et,updateAgeOnGet:tt,updateAgeOnHas:nt,allowStale:rt,dispose:it,disposeAfter:st,noDisposeOnSet:Ut,noUpdateTTL:ct,maxSize:Ft=0,maxEntrySize:ut=0,sizeCalculation:Qt,fetchMethod:pt,fetchContext:ft,noDeleteOnFetchRejection:mt,noDeleteOnStaleGet:ht,allowStaleOnFetchRejection:Vt,allowStaleOnFetchAbort:Rt,ignoreFetchAbort:Dt}=s,{length:Ct,maxAge:Mt,stale:yt}=s instanceof LRUCache?{}:s;if(_!==0&&!isPosInt(_))throw new TypeError("max option must be a nonnegative integer");const Yt=_?getUintArray(_):Array;if(!Yt)throw new Error("invalid max value: "+_);if(this.max=_,this.maxSize=Ft,this.maxEntrySize=ut||this.maxSize,this.sizeCalculation=Qt||Ct,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=pt||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=ft,!this.fetchMethod&&ft!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(_).fill(null),this.valList=new Array(_).fill(null),this.next=new Yt(_),this.prev=new Yt(_),this.head=0,this.tail=0,this.free=new Stack(_),this.initialFill=1,this.size=0,typeof it=="function"&&(this.dispose=it),typeof st=="function"?(this.disposeAfter=st,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!Ut,this.noUpdateTTL=!!ct,this.noDeleteOnFetchRejection=!!mt,this.allowStaleOnFetchRejection=!!Vt,this.allowStaleOnFetchAbort=!!Rt,this.ignoreFetchAbort=!!Dt,this.maxEntrySize!==0){if(this.maxSize!==0&&!isPosInt(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!isPosInt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!rt||!!yt,this.noDeleteOnStaleGet=!!ht,this.updateAgeOnGet=!!tt,this.updateAgeOnHas=!!nt,this.ttlResolution=isPosInt($)||$===0?$:1,this.ttlAutopurge=!!et,this.ttl=j||Mt||0,this.ttl){if(!isPosInt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const Zt="LRU_CACHE_UNBOUNDED";shouldWarn(Zt)&&(warned.add(Zt),emitWarning("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Zt,LRUCache))}yt&&deprecatedOption("stale","allowStale"),Mt&&deprecatedOption("maxAge","ttl"),Ct&&deprecatedOption("length","sizeCalculation")}getRemainingTTL(s){return this.has(s,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new ZeroArray(this.max),this.starts=new ZeroArray(this.max),this.setItemTTL=(j,$,et=perf.now())=>{if(this.starts[j]=$!==0?et:0,this.ttls[j]=$,$!==0&&this.ttlAutopurge){const tt=setTimeout(()=>{this.isStale(j)&&this.delete(this.keyList[j])},$+1);tt.unref&&tt.unref()}},this.updateItemAge=j=>{this.starts[j]=this.ttls[j]!==0?perf.now():0},this.statusTTL=(j,$)=>{j&&(j.ttl=this.ttls[$],j.start=this.starts[$],j.now=s||_(),j.remainingTTL=j.now+j.ttl-j.start)};let s=0;const _=()=>{const j=perf.now();if(this.ttlResolution>0){s=j;const $=setTimeout(()=>s=0,this.ttlResolution);$.unref&&$.unref()}return j};this.getRemainingTTL=j=>{const $=this.keyMap.get(j);return $===void 0?0:this.ttls[$]===0||this.starts[$]===0?1/0:this.starts[$]+this.ttls[$]-(s||_())},this.isStale=j=>this.ttls[j]!==0&&this.starts[j]!==0&&(s||_())-this.starts[j]>this.ttls[j]}updateItemAge(s){}statusTTL(s,_){}setItemTTL(s,_,j){}isStale(s){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new ZeroArray(this.max),this.removeItemSize=s=>{this.calculatedSize-=this.sizes[s],this.sizes[s]=0},this.requireSize=(s,_,j,$)=>{if(this.isBackgroundFetch(_))return 0;if(!isPosInt(j))if($){if(typeof $!="function")throw new TypeError("sizeCalculation must be a function");if(j=$(_,s),!isPosInt(j))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return j},this.addItemSize=(s,_,j)=>{if(this.sizes[s]=_,this.maxSize){const $=this.maxSize-this.sizes[s];for(;this.calculatedSize>$;)this.evict(!0)}this.calculatedSize+=this.sizes[s],j&&(j.entrySize=_,j.totalCalculatedSize=this.calculatedSize)}}removeItemSize(s){}addItemSize(s,_){}requireSize(s,_,j,$){if(j||$)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:s=this.allowStale}={}){if(this.size)for(let _=this.tail;!(!this.isValidIndex(_)||((s||!this.isStale(_))&&(yield _),_===this.head));)_=this.prev[_]}*rindexes({allowStale:s=this.allowStale}={}){if(this.size)for(let _=this.head;!(!this.isValidIndex(_)||((s||!this.isStale(_))&&(yield _),_===this.tail));)_=this.next[_]}isValidIndex(s){return s!==void 0&&this.keyMap.get(this.keyList[s])===s}*entries(){for(const s of this.indexes())this.valList[s]!==void 0&&this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield[this.keyList[s],this.valList[s]])}*rentries(){for(const s of this.rindexes())this.valList[s]!==void 0&&this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield[this.keyList[s],this.valList[s]])}*keys(){for(const s of this.indexes())this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.keyList[s])}*rkeys(){for(const s of this.rindexes())this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.keyList[s])}*values(){for(const s of this.indexes())this.valList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.valList[s])}*rvalues(){for(const s of this.rindexes())this.valList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.valList[s])}[Symbol.iterator](){return this.entries()}find(s,_){for(const j of this.indexes()){const $=this.valList[j],et=this.isBackgroundFetch($)?$.__staleWhileFetching:$;if(et!==void 0&&s(et,this.keyList[j],this))return this.get(this.keyList[j],_)}}forEach(s,_=this){for(const j of this.indexes()){const $=this.valList[j],et=this.isBackgroundFetch($)?$.__staleWhileFetching:$;et!==void 0&&s.call(_,et,this.keyList[j],this)}}rforEach(s,_=this){for(const j of this.rindexes()){const $=this.valList[j],et=this.isBackgroundFetch($)?$.__staleWhileFetching:$;et!==void 0&&s.call(_,et,this.keyList[j],this)}}get prune(){return deprecatedMethod("prune","purgeStale"),this.purgeStale}purgeStale(){let s=!1;for(const _ of this.rindexes({allowStale:!0}))this.isStale(_)&&(this.delete(this.keyList[_]),s=!0);return s}dump(){const s=[];for(const _ of this.indexes({allowStale:!0})){const j=this.keyList[_],$=this.valList[_],et=this.isBackgroundFetch($)?$.__staleWhileFetching:$;if(et===void 0)continue;const tt={value:et};if(this.ttls){tt.ttl=this.ttls[_];const nt=perf.now()-this.starts[_];tt.start=Math.floor(Date.now()-nt)}this.sizes&&(tt.size=this.sizes[_]),s.unshift([j,tt])}return s}load(s){this.clear();for(const[_,j]of s){if(j.start){const $=Date.now()-j.start;j.start=perf.now()-$}this.set(_,j.value,j)}}dispose(s,_,j){}set(s,_,{ttl:j=this.ttl,start:$,noDisposeOnSet:et=this.noDisposeOnSet,size:tt=0,sizeCalculation:nt=this.sizeCalculation,noUpdateTTL:rt=this.noUpdateTTL,status:it}={}){if(tt=this.requireSize(s,_,tt,nt),this.maxEntrySize&&tt>this.maxEntrySize)return it&&(it.set="miss",it.maxEntrySizeExceeded=!0),this.delete(s),this;let st=this.size===0?void 0:this.keyMap.get(s);if(st===void 0)st=this.newIndex(),this.keyList[st]=s,this.valList[st]=_,this.keyMap.set(s,st),this.next[this.tail]=st,this.prev[st]=this.tail,this.tail=st,this.size++,this.addItemSize(st,tt,it),it&&(it.set="add"),rt=!1;else{this.moveToTail(st);const Ut=this.valList[st];if(_!==Ut){if(this.isBackgroundFetch(Ut)?Ut.__abortController.abort(new Error("replaced")):et||(this.dispose(Ut,s,"set"),this.disposeAfter&&this.disposed.push([Ut,s,"set"])),this.removeItemSize(st),this.valList[st]=_,this.addItemSize(st,tt,it),it){it.set="replace";const ct=Ut&&this.isBackgroundFetch(Ut)?Ut.__staleWhileFetching:Ut;ct!==void 0&&(it.oldValue=ct)}}else it&&(it.set="update")}if(j!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),rt||this.setItemTTL(st,j,$),this.statusTTL(it,st),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const s=this.valList[this.head];return this.evict(!0),s}}evict(s){const _=this.head,j=this.keyList[_],$=this.valList[_];return this.isBackgroundFetch($)?$.__abortController.abort(new Error("evicted")):(this.dispose($,j,"evict"),this.disposeAfter&&this.disposed.push([$,j,"evict"])),this.removeItemSize(_),s&&(this.keyList[_]=null,this.valList[_]=null,this.free.push(_)),this.head=this.next[_],this.keyMap.delete(j),this.size--,_}has(s,{updateAgeOnHas:_=this.updateAgeOnHas,status:j}={}){const $=this.keyMap.get(s);if($!==void 0)if(this.isStale($))j&&(j.has="stale",this.statusTTL(j,$));else return _&&this.updateItemAge($),j&&(j.has="hit"),this.statusTTL(j,$),!0;else j&&(j.has="miss");return!1}peek(s,{allowStale:_=this.allowStale}={}){const j=this.keyMap.get(s);if(j!==void 0&&(_||!this.isStale(j))){const $=this.valList[j];return this.isBackgroundFetch($)?$.__staleWhileFetching:$}}backgroundFetch(s,_,j,$){const et=_===void 0?void 0:this.valList[_];if(this.isBackgroundFetch(et))return et;const tt=new AC;j.signal&&j.signal.addEventListener("abort",()=>tt.abort(j.signal.reason));const nt={signal:tt.signal,options:j,context:$},rt=(Ft,ut=!1)=>{const{aborted:Qt}=tt.signal,pt=j.ignoreFetchAbort&&Ft!==void 0;return j.status&&(Qt&&!ut?(j.status.fetchAborted=!0,j.status.fetchError=tt.signal.reason,pt&&(j.status.fetchAbortIgnored=!0)):j.status.fetchResolved=!0),Qt&&!pt&&!ut?st(tt.signal.reason):(this.valList[_]===ct&&(Ft===void 0?ct.__staleWhileFetching?this.valList[_]=ct.__staleWhileFetching:this.delete(s):(j.status&&(j.status.fetchUpdated=!0),this.set(s,Ft,nt.options))),Ft)},it=Ft=>(j.status&&(j.status.fetchRejected=!0,j.status.fetchError=Ft),st(Ft)),st=Ft=>{const{aborted:ut}=tt.signal,Qt=ut&&j.allowStaleOnFetchAbort,pt=Qt||j.allowStaleOnFetchRejection,ft=pt||j.noDeleteOnFetchRejection;if(this.valList[_]===ct&&(!ft||ct.__staleWhileFetching===void 0?this.delete(s):Qt||(this.valList[_]=ct.__staleWhileFetching)),pt)return j.status&&ct.__staleWhileFetching!==void 0&&(j.status.returnedStale=!0),ct.__staleWhileFetching;if(ct.__returned===ct)throw Ft},Ut=(Ft,ut)=>{this.fetchMethod(s,et,nt).then(Qt=>Ft(Qt),ut),tt.signal.addEventListener("abort",()=>{(!j.ignoreFetchAbort||j.allowStaleOnFetchAbort)&&(Ft(),j.allowStaleOnFetchAbort&&(Ft=Qt=>rt(Qt,!0)))})};j.status&&(j.status.fetchDispatched=!0);const ct=new Promise(Ut).then(rt,it);return ct.__abortController=tt,ct.__staleWhileFetching=et,ct.__returned=null,_===void 0?(this.set(s,ct,{...nt.options,status:void 0}),_=this.keyMap.get(s)):this.valList[_]=ct,ct}isBackgroundFetch(s){return s&&typeof s=="object"&&typeof s.then=="function"&&Object.prototype.hasOwnProperty.call(s,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(s,"__returned")&&(s.__returned===s||s.__returned===null)}async fetch(s,{allowStale:_=this.allowStale,updateAgeOnGet:j=this.updateAgeOnGet,noDeleteOnStaleGet:$=this.noDeleteOnStaleGet,ttl:et=this.ttl,noDisposeOnSet:tt=this.noDisposeOnSet,size:nt=0,sizeCalculation:rt=this.sizeCalculation,noUpdateTTL:it=this.noUpdateTTL,noDeleteOnFetchRejection:st=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Ut=this.allowStaleOnFetchRejection,ignoreFetchAbort:ct=this.ignoreFetchAbort,allowStaleOnFetchAbort:Ft=this.allowStaleOnFetchAbort,fetchContext:ut=this.fetchContext,forceRefresh:Qt=!1,status:pt,signal:ft}={}){if(!this.fetchMethod)return pt&&(pt.fetch="get"),this.get(s,{allowStale:_,updateAgeOnGet:j,noDeleteOnStaleGet:$,status:pt});const mt={allowStale:_,updateAgeOnGet:j,noDeleteOnStaleGet:$,ttl:et,noDisposeOnSet:tt,size:nt,sizeCalculation:rt,noUpdateTTL:it,noDeleteOnFetchRejection:st,allowStaleOnFetchRejection:Ut,allowStaleOnFetchAbort:Ft,ignoreFetchAbort:ct,status:pt,signal:ft};let ht=this.keyMap.get(s);if(ht===void 0){pt&&(pt.fetch="miss");const Vt=this.backgroundFetch(s,ht,mt,ut);return Vt.__returned=Vt}else{const Vt=this.valList[ht];if(this.isBackgroundFetch(Vt)){const yt=_&&Vt.__staleWhileFetching!==void 0;return pt&&(pt.fetch="inflight",yt&&(pt.returnedStale=!0)),yt?Vt.__staleWhileFetching:Vt.__returned=Vt}const Rt=this.isStale(ht);if(!Qt&&!Rt)return pt&&(pt.fetch="hit"),this.moveToTail(ht),j&&this.updateItemAge(ht),this.statusTTL(pt,ht),Vt;const Dt=this.backgroundFetch(s,ht,mt,ut),Ct=Dt.__staleWhileFetching!==void 0,Mt=Ct&&_;return pt&&(pt.fetch=Ct&&Rt?"stale":"refresh",Mt&&Rt&&(pt.returnedStale=!0)),Mt?Dt.__staleWhileFetching:Dt.__returned=Dt}}get(s,{allowStale:_=this.allowStale,updateAgeOnGet:j=this.updateAgeOnGet,noDeleteOnStaleGet:$=this.noDeleteOnStaleGet,status:et}={}){const tt=this.keyMap.get(s);if(tt!==void 0){const nt=this.valList[tt],rt=this.isBackgroundFetch(nt);return this.statusTTL(et,tt),this.isStale(tt)?(et&&(et.get="stale"),rt?(et&&(et.returnedStale=_&&nt.__staleWhileFetching!==void 0),_?nt.__staleWhileFetching:void 0):($||this.delete(s),et&&(et.returnedStale=_),_?nt:void 0)):(et&&(et.get="hit"),rt?nt.__staleWhileFetching:(this.moveToTail(tt),j&&this.updateItemAge(tt),nt))}else et&&(et.get="miss")}connect(s,_){this.prev[_]=s,this.next[s]=_}moveToTail(s){s!==this.tail&&(s===this.head?this.head=this.next[s]:this.connect(this.prev[s],this.next[s]),this.connect(this.tail,s),this.tail=s)}get del(){return deprecatedMethod("del","delete"),this.delete}delete(s){let _=!1;if(this.size!==0){const j=this.keyMap.get(s);if(j!==void 0)if(_=!0,this.size===1)this.clear();else{this.removeItemSize(j);const $=this.valList[j];this.isBackgroundFetch($)?$.__abortController.abort(new Error("deleted")):(this.dispose($,s,"delete"),this.disposeAfter&&this.disposed.push([$,s,"delete"])),this.keyMap.delete(s),this.keyList[j]=null,this.valList[j]=null,j===this.tail?this.tail=this.prev[j]:j===this.head?this.head=this.next[j]:(this.next[this.prev[j]]=this.next[j],this.prev[this.next[j]]=this.prev[j]),this.size--,this.free.push(j)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return _}clear(){for(const s of this.rindexes({allowStale:!0})){const _=this.valList[s];if(this.isBackgroundFetch(_))_.__abortController.abort(new Error("deleted"));else{const j=this.keyList[s];this.dispose(_,j,"delete"),this.disposeAfter&&this.disposed.push([_,j,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return deprecatedMethod("reset","clear"),this.clear}get length(){return deprecatedProperty("length","size"),this.size}static get AbortController(){return AC}static get AbortSignal(){return AS}}const BaseLruCache=LRUCache;class LruCache{constructor(s){_e(this,"cache"),_e(this,"stringify"),this.cache=new BaseLruCache({...s.dispose||s.disposeAfter?{ttlAutopurge:!0}:{},...s,dispose:(..._)=>{var j;(j=s.dispose)==null||j.call(s,..._)},disposeAfter:(..._)=>{var j;(j=s.disposeAfter)==null||j.call(s,..._)}}),this.stringify=s.fastStringify?JSON.stringify:stringify}set(s,_,j){const $=this.stringify(s);if(!this.cache.set($,_,{ttl:j})){const et=this.cache.sizeCalculation?this.cache.sizeCalculation(_,$):"unknown";throw Error(`Value too large (${et} > ${this.cache.max})`)}}get(s){const _=this.stringify(s);return this.cache.get(_)}delete(s){this.cache.delete(this.stringify(s))}peek(s){return this.cache.peek(this.stringify(s))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(s){this.cache.forEach(s)}purgeStale(){return this.cache.purgeStale()}}class PromiseLruCache extends LruCache{constructor(s){if(super(s),_e(this,"expireRejectedPromiseValues"),_e(this,"rejectedPromiseValueTtl"),this.expireRejectedPromiseValues=s.expireRejectedPromiseValues!==void 0?s.expireRejectedPromiseValues:!0,this.rejectedPromiseValueTtl=s.rejectedPromiseValueTtl!==void 0?s.rejectedPromiseValueTtl:duration$1.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(s,_,j){super.set(s,_,j),this.expireRejectedPromiseValues&&_.catch(async()=>{await delay(this.rejectedPromiseValueTtl),this.peek(s)===_&&this.delete(s)})}}const range=(o,s)=>s<=o?[]:new Array(s-o).fill(0).map((_,j)=>j+o),workerCount=4,St=class Co{constructor(){_e(this,"workers"),_e(this,"cache",new PromiseLruCache({name:"DataLoader-cache",max:5e3})),_e(this,"nextWorkerIndex",-1),_e(this,"resolveMap",{}),_e(this,"rejectMap",{})}static get(){return Co.references++,Co.instance||(Co.instance=new Co),Co.instance}static release(s){var _;if(Co.instance!==s){console.error("Releasing an unallocated/unowned loader!");return}Co.references--,!(Co.references>0)&&((_=Co.instance.workers)==null||_.forEach(j=>j.terminate()),Co.instance.workers=void 0,Co.instance.cache.clear(),Co.instance=null,Co.references=0)}load(s){const _=this.cache.get(s);if(_)return _;const j=this.nextWorker(),$=new Promise((et,tt)=>{this.resolveMap[s]=et,this.rejectMap[s]=tt});return this.cache.set(s,$),j.postMessage(s),$}nextWorker(){return this.workers||(this.workers=range(0,workerCount).map(s=>{const _=new WorkerWrapper$1;return _.onmessage=({data:j})=>{const{url:$}=j;if(!$)return;const et=this.rejectMap[$],tt=this.resolveMap[$];if(delete this.rejectMap[$],delete this.resolveMap[$],!(!et||!tt)){if(j.error){const nt=new Error(`Worker failure: ${j.error}`);nt.cause=j.error,et(nt);return}tt({json:j.json,preview:j.preview,length:j.length})}},_})),this.nextWorkerIndex=(this.nextWorkerIndex+1)%workerCount,this.workers[this.nextWorkerIndex]}};_e(St,"references",0),_e(St,"instance",null);new URLSearchParams(window.location.search).get("debug");const encodedJs$3="dmFyIFI9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBHPShNLGIseCk9PmIgaW4gTT9SKE0sYix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6eH0pOk1bYl09eDt2YXIgST0oTSxiLHgpPT4oRyhNLHR5cGVvZiBiIT0ic3ltYm9sIj9iKyIiOmIseCkseCk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IFM9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07ZnVuY3Rpb24gcShvKXt9Y2xhc3MgX3tjb25zdHJ1Y3Rvcih7Y2FwYWNpdHk6dCx0aW1lb3V0Om59PXt9KXtJKHRoaXMsImVudHJpZXMiLG5ldyBNYXApO0kodGhpcywibWV0YWRhdGEiLG5ldyBNYXApO0kodGhpcywiY2FwYWNpdHkiKTtJKHRoaXMsInRpbWVvdXQiKTt0aGlzLmNhcGFjaXR5PXR8fDFlNCx0aGlzLnRpbWVvdXQ9bnx8Uy5taW51dGV9Z2V0KHQsbil7Y29uc3QgZT10aGlzLmtleVRvQ2FjaGVLZXkodCksYz10aGlzLmVudHJpZXMuZ2V0KGUpLGk9dGhpcy5tZXRhZGF0YS5nZXQoZSk7cmV0dXJuKGM9PT12b2lkIDB8fGkmJihpPT1udWxsP3ZvaWQgMDppLmV4cGlyYXRpb24uZ2V0VGltZSgpKTxEYXRlLm5vdygpKSYmIShpIT1udWxsJiZpLmdlbmVyYXRpbmcpJiZuJiZ0aGlzLmdlbmVyYXRlKHQsbigpKSxjPT09dm9pZCAwJiZpJiZpLmxhc3RWYWx1ZSE9PXZvaWQgMD9pLmxhc3RWYWx1ZTpjfXNldCh0LG4pe2NvbnN0IGU9dGhpcy5rZXlUb0NhY2hlS2V5KHQpO3RoaXMubWV0YWRhdGEuc2V0KGUse2dlbmVyYXRpbmc6ITEsZXhwaXJhdGlvbjpuZXcgRGF0ZShEYXRlLm5vdygpK3RoaXMudGltZW91dCksbGFzdFZhbHVlOm59KSx0aGlzLmVudHJpZXMuc2V0KGUsbiksdGhpcy5tZXRhZGF0YS5zaXplPnRoaXMuY2FwYWNpdHkmJnRoaXMuZGVsZXRlT2xkZXN0RW50cnkoKX1jbGVhcigpe3RoaXMuZW50cmllcy5jbGVhcigpLFsuLi50aGlzLm1ldGFkYXRhLnZhbHVlcygpXS5mb3JFYWNoKHQ9PnQuZ2VuZXJhdGluZz0hMSl9Y2xlYXJLZXkodCl7dGhpcy5tZXRhZGF0YS5kZWxldGUodCksdGhpcy5lbnRyaWVzLmRlbGV0ZSh0KX1rZXlUb0NhY2hlS2V5KHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1kZWxldGVPbGRlc3RFbnRyeSgpe2lmKHRoaXMubWV0YWRhdGEuc2l6ZTwxKXJldHVybjtjb25zdFt0XT1bLi4udGhpcy5tZXRhZGF0YS5lbnRyaWVzKCldLnJlZHVjZSgoW24sZV0sW2MsaV0pPT5pLmV4cGlyYXRpb24uZ2V0VGltZSgpPGUuZXhwaXJhdGlvbi5nZXRUaW1lKCk/W2MsaV06W24sZV0pO3RoaXMuY2xlYXJLZXkodCl9Z2VuZXJhdGUodCxuKXtjb25zdCBlPXRoaXMua2V5VG9DYWNoZUtleSh0KSxjPXRoaXMubWV0YWRhdGEuZ2V0KGUpfHx7fTt0aGlzLm1ldGFkYXRhLnNldChlLHsuLi5jLGdlbmVyYXRpbmc6ITAsZXhwaXJhdGlvbjpuZXcgRGF0ZShEYXRlLm5vdygpK3RoaXMudGltZW91dCl9KSxzZXRUaW1lb3V0KCgpPT57bi50aGVuKGk9Pntjb25zdCByPXRoaXMubWV0YWRhdGEuZ2V0KGUpOyEociE9bnVsbCYmci5nZW5lcmF0aW5nKXx8dGhpcy5zZXQodCxpKX0pfSwwKX19LyoqCiAqIExaRiBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIG1vZHVsZS4gUG9ydGVkIGZyb20gdGhlIEMKICogaW1wbGVtZW50YXRpb24gb2YgbGlibHpmLCBzcGVjZmljYWxseSBsemZfYy5jIGFuZCBsemZfZC5jCiAqIEBsaWNlbnNlIEJTRC0yLUNsYXVzZQogKi9mdW5jdGlvbiBLKG8pe3ZhciB0PW5ldyBVaW50OEFycmF5KG8pLG49W10sZT0wLGM9MDtkb3t2YXIgaT10W2UrK107aWYoaTwzMil7aWYoaSsrLGUraT50Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQiKTtmb3IoO2ktLTspbltjKytdPXRbZSsrXX1lbHNle3ZhciByPWk+PjUsZj1jLSgoaSYzMSk8PDgpLTE7aWYoZT49dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGlucHV0Iik7aWYocj09NyYmKHIrPXRbZSsrXSxlPj10Lmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGlucHV0Iik7aWYoZi09dFtlKytdLGY8MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQiKTtyKz0yO2RvIG5bYysrXT1uW2YrK107d2hpbGUoLS1yKX19d2hpbGUoZTx0Lmxlbmd0aCk7aWYodHlwZW9mIEJ1ZmZlciE9InVuZGVmaW5lZCIpcmV0dXJuIG5ldyBCdWZmZXIobik7dmFyIHU9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3JldHVybiB1LnNldChuKSx1fWZ1bmN0aW9uIE8obyl7dmFyIHQ9MTYsbj0xPDx0LGU9ODE5MixjPTI1Nis4LGk9MzI7ZnVuY3Rpb24gcih2LFQpe3JldHVybiB2W1RdPDw4fHZbVCsxXX1mdW5jdGlvbiBmKHYsVCxQKXtyZXR1cm4gdjw8OHxUW1ArMl19ZnVuY3Rpb24gdSh2KXtyZXR1cm4gdio1MDY4MzI4Mjk+PjMyLXQtOCZuLTF9Zm9yKHZhciBzPW5ldyBVaW50OEFycmF5KG8pLGE9W10sZD1uZXcgVWludDMyQXJyYXkobikseT1zLmxlbmd0aCxoPTAsZz1yKHMsaCkscD0xLGw9MDtoPHktMjspe2c9ZihnLG8saCk7dmFyIHo9dShnKSxtPWRbel07ZFt6XT1oO3ZhciBFO2lmKG08aCYmKEU9aC1tLTEpPGUmJm0+MCYmc1ttKzJdPT1zW2grMl0mJnNbbSsxXT09c1toKzFdJiZzW21dPT1zW2hdKXt2YXIgdz0yLEY9eS1oLXc7Rj1GPmM/YzpGLGFbcC1sLTFdPWwtMSYyNTUsbD09MCYmKHAtPTEpO2RvIHcrKzt3aGlsZSh3PEYmJnNbbSt3XT09c1toK3ddKTtpZih3LT0yLGgrKyx3PDc/YVtwKytdPShFPj44KSsodzw8NSkmMjU1OihhW3ArK109KEU+PjgpKzIyNCYyNTUsYVtwKytdPXctNyYyNTUpLGFbcCsrXT1FJjI1NSxsPTAscCsrLGgrPXcrMSxoPj15LTIpYnJlYWs7LS1oLC0taCxnPXIocyxoKSxnPWYoZyxzLGgpLGRbdShnKV09aCsrLGc9ZihnLHMsaCksZFt1KGcpXT1oKyt9ZWxzZSBsKyssYVtwKytdPXNbaCsrXSxsPT1pJiYoYVtwLWwtMV09bC0xJjI1NSxsPTAscCsrKX1mb3IoO2g8eTspbCsrLGFbcCsrXT1zW2grK10sbD09aSYmKGFbcC1sLTFdPWwtMSYyNTUsbD0wLHArKyk7aWYobCE9MCYmKGFbcC1sLTFdPWwtMSYyNTUpLHR5cGVvZiBCdWZmZXIhPSJ1bmRlZmluZWQiKXJldHVybiBuZXcgQnVmZmVyKGEpO3ZhciBVPW5ldyBVaW50OEFycmF5KGEubGVuZ3RoKTtyZXR1cm4gVS5zZXQoYSksVX12YXIgQj17ZGVjb21wcmVzczpLLGNvbXByZXNzOk99O2NvbnN0IEM9KG8sdCk9PnQ8PW8/W106bmV3IEFycmF5KHQtbykuZmlsbCgwKS5tYXAoKG4sZSk9PmUrbyksQT0hMDtmdW5jdGlvbiBIKG8pe2NvbnN0IHQ9YXRvYihvKSxuPXQubGVuZ3RoLGU9bmV3IFVpbnQ4QXJyYXkobik7Zm9yKGxldCBjPTA7YzxuO2MrPTEpZVtjXT10LmNoYXJDb2RlQXQoYyk7cmV0dXJuIGUuYnVmZmVyfWZ1bmN0aW9uIEwobyl7Y29uc3QgdD1uZXcgVWludDhBcnJheShvKTtsZXQgbj0iIixlPTA7Zm9yKDtlPHQubGVuZ3RoJiZuLnNlYXJjaCgvW1xyXG5dREFUQVxzKFxTKilccy9pKT09PS0xO2UrPTEpbis9U3RyaW5nLmZyb21DaGFyQ29kZSh0W2VdKTtyZXR1cm57Ym9keTpvLnNsaWNlKGUpLGhlYWRlcjpuLnJlcGxhY2UoLyMuKi9naSwiIil9fWZ1bmN0aW9uIFYobyl7Y29uc3Qgbj1uZXcgVWludDMyQXJyYXkobywwLDIpWzBdO3JldHVybiBuPT09MD9uZXcgQXJyYXlCdWZmZXIoMCk6Qi5kZWNvbXByZXNzKG5ldyBVaW50OEFycmF5KG8sOCxuKSkuYnVmZmVyfWZ1bmN0aW9uIGsobyl7Y29uc3R7aGVhZGVyOnQsYm9keTpufT1MKG8pLGU9L1ZFUlNJT04gKC4qKS9pLmV4ZWModCk7aWYoZT09PW51bGwpdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHZlcnNpb24uIEhlYWRlciAke3R9YCk7Y29uc3QgYz1lWzFdLGk9L0ZJRUxEUyAoLiopL2kuZXhlYyh0KTtpZighaSl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgZmllbGRzIik7Y29uc3Qgcj1pWzFdLnNwbGl0KCIgIiksZj0vU0laRSAoLiopL2kuZXhlYyh0KTtpZighZil0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgc2l6ZSIpO2NvbnN0IHU9ZlsxXS5zcGxpdCgiICIpLm1hcCh2PT5wYXJzZUludCh2LDEwKSkscz0vVFlQRSAoLiopL2kuZXhlYyh0KTtpZighcyl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgdHlwZSIpO2NvbnN0IGE9c1sxXS5zcGxpdCgiICIpLGQ9L0NPVU5UICguKikvaS5leGVjKHQpO2xldCB5O2QmJih5PWRbMV0uc3BsaXQoIiAiKS5tYXAodj0+cGFyc2VJbnQodiwxMCkpKTtjb25zdCBoPXl8fHIubWFwKHY9PjEpLGc9L1dJRFRIICguKikvaS5leGVjKHQpO2lmKCFnKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyB3aWR0aCIpO2NvbnN0IHA9cGFyc2VJbnQoZ1sxXSwxMCksbD0vSEVJR0hUICguKikvaS5leGVjKHQpO2lmKCFsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBoZWlnaHQiKTtjb25zdCB6PXBhcnNlSW50KGxbMV0sMTApLG09L1BPSU5UUyAoLiopL2kuZXhlYyh0KTtsZXQgRTttJiYoRT1wYXJzZUludChtWzFdLDEwKSk7Y29uc3Qgdz1FfHxwKnosRj0vREFUQSAoLiopL2kuZXhlYyh0KTtpZighRil0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgZGF0YSIpO2NvbnN0IFU9RlsxXTtyZXR1cm57Ym9keTpuLGhlYWRlcjp7Y291bnQ6aCxkYXRhOlUsZmllbGRzOnIsaGVpZ2h0OnoscG9pbnRzOncsc2l6ZTp1LHR5cGU6YSx2ZXJzaW9uOmMsd2lkdGg6cH19fWZ1bmN0aW9uIE4obyl7Y29uc3QgdD17fTtyZXR1cm4gby5maWVsZHMucmVkdWNlKCh7b2Zmc2V0czpuLHNpemU6ZX0sYyxpKT0+e2xldCByPWU7cmV0dXJuIGM9PT0ieCImJihuLng9ciksYz09PSJ5IiYmKG4ueT1yKSxjPT09InoiJiYobi56PXIpLGM9PT0icmdiIiYmKG4ucmdiPXIpLGM9PT0icmdiYSImJihuLnJnYmE9ciksYz09PSJpbnRlbnNpdHkiJiYobi5pbnRlbnNpdHk9ciksby5kYXRhPT09ImFzY2lpIj9yKz0xOm8uZGF0YT09PSJiaW5hcnkiP3IrPW8uc2l6ZVtpXSpvLmNvdW50W2ldOm8uZGF0YT09PSJiaW5hcnlfY29tcHJlc3NlZCImJihyKz1vLnNpemVbaV0qby5jb3VudFtpXSpvLnBvaW50cykse29mZnNldHM6bixzaXplOnJ9fSx7b2Zmc2V0czp0LHNpemU6MH0pfWZ1bmN0aW9uIEQobyl7Y29uc3R7aGVhZGVyOnQsYm9keTpufT1rKG8pLHtvZmZzZXRzOmUsc2l6ZTpjfT1OKHQpO2xldCBpO2UueCE9PXZvaWQgMCYmZS55IT09dm9pZCAwJiZlLnohPT12b2lkIDAmJihpPW5ldyBGbG9hdDMyQXJyYXkodC5wb2ludHMqMykpO2xldCByOyhlLnJnYiE9PXZvaWQgMHx8ZS5yZ2JhIT09dm9pZCAwKSYmKHI9bmV3IEZsb2F0MzJBcnJheSh0LnBvaW50cyo0KSk7bGV0IGY7aWYoZS5pbnRlbnNpdHkhPT12b2lkIDAmJihmPW5ldyBGbG9hdDMyQXJyYXkodC5wb2ludHMpKSx0LmRhdGE9PT0iYXNjaWkiKVN0cmluZy5mcm9tQ2hhckNvZGUoLi4ubmV3IFVpbnQ4QXJyYXkobikpLnNwbGl0KGAKYCkuZm9yRWFjaCgoYSxkKT0+e2NvbnN0IHk9YS5zcGxpdCgiICIpO2lmKGkhPT12b2lkIDAmJihpW2QqMyswXT1wYXJzZUZsb2F0KHlbZS54fHwwXSksaVtkKjMrMV09cGFyc2VGbG9hdCh5W2UueXx8MF0pLGlbZCozKzJdPXBhcnNlRmxvYXQoeVtlLnp8fDBdKSksciE9PXZvaWQgMCl7Y29uc3QgaD1uZXcgSW50MzJBcnJheShbcGFyc2VJbnQoeVtlLnJnYnx8ZS5yZ2JhfHwwXSwxMCldKSxnPW5ldyBEYXRhVmlldyhoLmJ1ZmZlciwwKTtyW2QqMyswXT1nLmdldFVpbnQ4KDIpLzI1NSxyW2QqMysxXT1nLmdldFVpbnQ4KDEpLzI1NSxyW2QqMysyXT1nLmdldFVpbnQ4KDApLzI1NX1mIT09dm9pZCAwJiYoZltkXT1wYXJzZUZsb2F0KHlbZS5pbnRlbnNpdHl8fDBdKSl9KTtlbHNlIGlmKHQuZGF0YT09PSJiaW5hcnkiKXtjb25zdCB1PW5ldyBEYXRhVmlldyhuKTtDKDAsdC5wb2ludHMpLmZvckVhY2gocz0+e2NvbnN0IGE9YypzO2lmKGkhPT12b2lkIDAmJihpW3MqMyswXT11LmdldEZsb2F0MzIoYSsoZS54fHwwKSxBKSxpW3MqMysxXT11LmdldEZsb2F0MzIoYSsoZS55fHwwKSxBKSxpW3MqMysyXT11LmdldEZsb2F0MzIoYSsoZS56fHwwKSxBKSksciE9PXZvaWQgMCl7Y29uc3QgZD1hKyhlLnJnYnx8ZS5yZ2JhfHwwKTtkKzI8PXUuYnl0ZUxlbmd0aCYmKHJbcyo0KzBdPXUuZ2V0VWludDgoZCsyKS8yNTUscltzKjQrMV09dS5nZXRVaW50OChkKzEpLzI1NSxyW3MqNCsyXT11LmdldFVpbnQ4KGQrMCkvMjU1LHJbcyo0KzNdPTEpfWYhPT12b2lkIDAmJihmW3NdPXUuZ2V0RmxvYXQzMihhKyhlLmludGVuc2l0eXx8MCksQSkpfSl9ZWxzZSBpZih0LmRhdGE9PT0iYmluYXJ5X2NvbXByZXNzZWQiKXtjb25zdCB1PVYobikscz1uZXcgRGF0YVZpZXcodSk7QygwLHQucG9pbnRzKS5mb3JFYWNoKGE9PntpZihpIT09dm9pZCAwJiYoaVthKjMrMF09cy5nZXRGbG9hdDMyKChlLnh8fDApK2EqNCxBKSxpW2EqMysxXT1zLmdldEZsb2F0MzIoKGUueXx8MCkrYSo0LEEpLGlbYSozKzJdPXMuZ2V0RmxvYXQzMigoZS56fHwwKSthKjQsQSkpLHIhPT12b2lkIDApe2NvbnN0IGQ9KGUucmdifHxlLnJnYmF8fDApK2EqNDtkKzI8PXMuYnl0ZUxlbmd0aCYmKHJbYSo0KzBdPXMuZ2V0VWludDgoZCsyKS8yNTUsclthKjQrMV09cy5nZXRVaW50OChkKzEpLzI1NSxyW2EqNCsyXT1zLmdldFVpbnQ4KGQrMCkvMjU1LHJbYSo0KzNdPTEpfWYhPT12b2lkIDAmJihmW2FdPXMuZ2V0RmxvYXQzMigoZS5pbnRlbnNpdHl8fDApK2EqNCxBKSl9KX1yZXR1cm57Y29sb3JzOnIsaGVhZGVyOnQsaW50ZW5zaXR5OmYscG9zaXRpb25zOml9fWZ1bmN0aW9uIFgobyl7cmV0dXJuIEQoSChvKSl9Y29uc3QgWj1uZXcgXyh7Y2FwYWNpdHk6MWUzLHRpbWVvdXQ6MSpTLm1pbnV0ZX0pO29ubWVzc2FnZT1hc3luYyBvPT57Y29uc3R7dXJsOnQsaWQ6bixwb2ludENsb3VkOmV9PW8uZGF0YTtpZih0KXtjb25zdCBjPVouZ2V0KHQsYXN5bmMoKT0+RChhd2FpdCBmZXRjaCh0LHttb2RlOiJjb3JzIn0pLnRoZW4ocj0+ci5hcnJheUJ1ZmZlcigpKSkpO2MmJnBvc3RNZXNzYWdlKHt1cmw6dCxwY2Q6Y30pfWlmKG4mJmUpe2NvbnN0IGM9WChlKTtwb3N0TWVzc2FnZSh7aWQ6bixwY2Q6Y30pfX19KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1QY2RMb2FkZXJXb3JrZXItNmZlMGRhMjkuanMubWFwCg==";typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$3)],{type:"text/javascript;charset=utf-8"});distExports.RtcClient;distExports.RtcClientV1;distExports.RtcSignalingClient;distExports.createRtcStreamMessage;var lodashExports={},lodash={get exports(){return lodashExports},set exports(o){lodashExports=o}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(o,s){(function(){var _,j="4.17.21",$=200,et="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",tt="Expected a function",nt="Invalid `variable` option passed into `_.template`",rt="__lodash_hash_undefined__",it=500,st="__lodash_placeholder__",Ut=1,ct=2,Ft=4,ut=1,Qt=2,pt=1,ft=2,mt=4,ht=8,Vt=16,Rt=32,Dt=64,Ct=128,Mt=256,yt=512,Yt=30,Zt="...",vt=800,bt=16,Wt=1,It=2,Tt=3,_t=1/0,$t=9007199254740991,rn=17976931348623157e292,Pt=0/0,qt=4294967295,ln=qt-1,an=qt>>>1,Gt=[["ary",Ct],["bind",pt],["bindKey",ft],["curry",ht],["curryRight",Vt],["flip",yt],["partial",Rt],["partialRight",Dt],["rearg",Mt]],Ht="[object Arguments]",Un="[object Array]",Sn="[object AsyncFunction]",cn="[object Boolean]",fn="[object Date]",sn="[object DOMException]",bn="[object Error]",Cn="[object Function]",Nn="[object GeneratorFunction]",xn="[object Map]",zn="[object Number]",wt="[object Null]",jt="[object Object]",zt="[object Promise]",pn="[object Proxy]",yn="[object RegExp]",Vn="[object Set]",kn="[object String]",Gn="[object Symbol]",nr="[object Undefined]",tr="[object WeakMap]",cr="[object WeakSet]",Ur="[object ArrayBuffer]",Jr="[object DataView]",Sr="[object Float32Array]",dn="[object Float64Array]",Nt="[object Int8Array]",Xt="[object Int16Array]",gn="[object Int32Array]",nn="[object Uint8Array]",Ln="[object Uint8ClampedArray]",Hn="[object Uint16Array]",ur="[object Uint32Array]",Dr=/\b__p \+= '';/g,Cr=/\b(__p \+=) '' \+/g,ir=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Nr=/&(?:amp|lt|gt|quot|#39);/g,Uo=/[&<>"']/g,uo=RegExp(Nr.source),Vo=RegExp(Uo.source),sr=/<%-([\s\S]+?)%>/g,zr=/<%([\s\S]+?)%>/g,Gr=/<%=([\s\S]+?)%>/g,lo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ro=/^\w*$/,ts=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jo=/[\\^$.*+?()[\]{}|]/g,So=RegExp(jo.source),kr=/^\s+/,na=/\s/,ga=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ho=/\{\n\/\* \[wrapped with (.+)\] \*/,oo=/,? & /,ns=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Zo=/[()=,{}\[\]\/\s]/,Lo=/\\(\\)?/g,co=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Fo=/\w*$/,er=/^[-+]0x[0-9a-f]+$/i,gr=/^0b[01]+$/i,On=/^\[object .+?Constructor\]$/,kt=/^0o[0-7]+$/i,xt=/^(?:0|[1-9]\d*)$/,Kt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ot=/($^)/,En=/['\n\r\u2028\u2029\\]/g,vn="\\ud800-\\udfff",Mn="\\u0300-\\u036f",Wn="\\ufe20-\\ufe2f",Zn="\\u20d0-\\u20ff",Jn=Mn+Wn+Zn,lt="\\u2700-\\u27bf",Bt="a-z\\xdf-\\xf6\\xf8-\\xff",Jt="\\xac\\xb1\\xd7\\xf7",tn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",mn="\\u2000-\\u206f",Dn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",qn="A-Z\\xc0-\\xd6\\xd8-\\xde",dr="\\ufe0e\\ufe0f",Qr=Jt+tn+mn+Dn,Vr="['’]",Yr="["+vn+"]",_i="["+Qr+"]",eo="["+Jn+"]",jr="\\d+",$r="["+lt+"]",go="["+Bt+"]",_o="[^"+vn+Qr+jr+lt+Bt+qn+"]",Po="\\ud83c[\\udffb-\\udfff]",ZU="(?:"+eo+"|"+Po+")",Js="[^"+vn+"]",As="(?:\\ud83c[\\udde6-\\uddff]){2}",Fl="[\\ud800-\\udbff][\\udc00-\\udfff]",gs="["+qn+"]",Ll="\\u200d",Ql="(?:"+go+"|"+_o+")",Pl="(?:"+gs+"|"+_o+")",Bl="(?:"+Vr+"(?:d|ll|m|re|s|t|ve))?",Os="(?:"+Vr+"(?:D|LL|M|RE|S|T|VE))?",Rl=ZU+"?",ls="["+dr+"]?",ba="(?:"+Ll+"(?:"+[Js,As,Fl].join("|")+")"+ls+Rl+")*",zl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ts="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gl=ls+Rl+ba,Yl="(?:"+[$r,As,Fl].join("|")+")"+Gl,_U="(?:"+[Js+eo+"?",eo,As,Fl,Yr].join("|")+")",zo=RegExp(Vr,"g"),Ns=RegExp(eo,"g"),rs=RegExp(Po+"(?="+Po+")|"+_U+Gl,"g"),Eo=RegExp([gs+"?"+go+"+"+Bl+"(?="+[_i,gs,"$"].join("|")+")",Pl+"+"+Os+"(?="+[_i,gs+Ql,"$"].join("|")+")",gs+"?"+Ql+"+"+Bl,gs+"+"+Os,Ts,zl,jr,Yl].join("|"),"g"),Sl=RegExp("["+Ll+vn+Jn+dr+"]"),Hl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,yl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],At=-1,en={};en[Sr]=en[dn]=en[Nt]=en[Xt]=en[gn]=en[nn]=en[Ln]=en[Hn]=en[ur]=!0,en[Ht]=en[Un]=en[Ur]=en[cn]=en[Jr]=en[fn]=en[bn]=en[Cn]=en[xn]=en[zn]=en[jt]=en[yn]=en[Vn]=en[kn]=en[tr]=!1;var hn={};hn[Ht]=hn[Un]=hn[Ur]=hn[Jr]=hn[cn]=hn[fn]=hn[Sr]=hn[dn]=hn[Nt]=hn[Xt]=hn[gn]=hn[xn]=hn[zn]=hn[jt]=hn[yn]=hn[Vn]=hn[kn]=hn[Gn]=hn[nn]=hn[Ln]=hn[Hn]=hn[ur]=!0,hn[bn]=hn[Cn]=hn[tr]=!1;var wn={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Pn={"&":"&","<":"<",">":">",'"':""","'":"'"},Xn={"&":"&","<":"<",">":">",""":'"',"'":"'"},In={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Kn=parseFloat,or=parseInt,pr=typeof commonjsGlobal$1=="object"&&commonjsGlobal$1&&commonjsGlobal$1.Object===Object&&commonjsGlobal$1,Br=typeof self=="object"&&self&&self.Object===Object&&self,mr=pr||Br||Function("return this")(),Mr=s&&!s.nodeType&&s,Ir=Mr&&!0&&o&&!o.nodeType&&o,Xr=Ir&&Ir.exports===Mr,yr=Xr&&pr.process,Lr=function(){try{var An=Ir&&Ir.require&&Ir.require("util").types;return An||yr&&yr.binding&&yr.binding("util")}catch{}}(),bo=Lr&&Lr.isArrayBuffer,xu=Lr&&Lr.isDate,Au=Lr&&Lr.isMap,Ou=Lr&&Lr.isRegExp,Iu=Lr&&Lr.isSet,ju=Lr&&Lr.isTypedArray;function Do(An,$n,Yn){switch(Yn.length){case 0:return An.call($n);case 1:return An.call($n,Yn[0]);case 2:return An.call($n,Yn[0],Yn[1]);case 3:return An.call($n,Yn[0],Yn[1],Yn[2])}return An.apply($n,Yn)}function Lp(An,$n,Yn,hr){for(var Tr=-1,Pr=An==null?0:An.length;++Tr-1}function DU(An,$n,Yn){for(var hr=-1,Tr=An==null?0:An.length;++hr-1;);return Yn}function Ku(An,$n){for(var Yn=An.length;Yn--&&Is($n,An[Yn],0)>-1;);return Yn}function qp(An,$n){for(var Yn=An.length,hr=0;Yn--;)An[Yn]===$n&&++hr;return hr}var eQ=OU(wn),tQ=OU(Pn);function nQ(An){return"\\"+In[An]}function rQ(An,$n){return An==null?_:An[$n]}function js(An){return Sl.test(An)}function iQ(An){return Hl.test(An)}function oQ(An){for(var $n,Yn=[];!($n=An.next()).done;)Yn.push($n.value);return Yn}function PU(An){var $n=-1,Yn=Array(An.size);return An.forEach(function(hr,Tr){Yn[++$n]=[Tr,hr]}),Yn}function $u(An,$n){return function(Yn){return An($n(Yn))}}function Ss(An,$n){for(var Yn=-1,hr=An.length,Tr=0,Pr=[];++Yn-1}function zQ(ot,dt){var Et=this.__data__,Lt=FU(Et,ot);return Lt<0?(++this.size,Et.push([ot,dt])):Et[Lt][1]=dt,this}cs.prototype.clear=IQ,cs.prototype.delete=jQ,cs.prototype.get=LQ,cs.prototype.has=PQ,cs.prototype.set=zQ;function Us(ot){var dt=-1,Et=ot==null?0:ot.length;for(this.clear();++dt=dt?ot:dt)),ot}function Xo(ot,dt,Et,Lt,on,Fn){var Tn,_n=dt&Ut,jn=dt&ct,rr=dt&Ft;if(Et&&(Tn=on?Et(ot,Lt,on,Fn):Et(ot)),Tn!==_)return Tn;if(!ro(ot))return ot;var ar=Wr(ot);if(ar){if(Tn=GB(ot),!_n)return No(ot,Tn)}else{var lr=yo(ot),Fr=lr==Cn||lr==Nn;if(vs(ot))return CF(ot,_n);if(lr==jt||lr==Ht||Fr&&!on){if(Tn=jn||Fr?{}:qF(ot),!_n)return jn?_B(ot,oB(Tn,ot)):ZB(ot,UF(Tn,ot))}else{if(!hn[lr])return on?ot:{};Tn=YB(ot,lr,_n)}}Fn||(Fn=new xa);var Rr=Fn.get(ot);if(Rr)return Rr;Fn.set(ot,Tn),Jp(ot)?ot.forEach(function(vr){Tn.add(Xo(vr,dt,Et,vr,ot,Fn))}):bp(ot)&&ot.forEach(function(vr,xr){Tn.set(xr,Xo(vr,dt,Et,xr,ot,Fn))});var br=rr?jn?hu:Qu:jn?Wo:fo,Zr=ar?_:br(ot);return Go(Zr||ot,function(vr,xr){Zr&&(xr=vr,vr=ot[xr]),Cl(Tn,xr,Xo(vr,dt,Et,xr,ot,Fn))}),Tn}function aB(ot){var dt=fo(ot);return function(Et){return dF(Et,ot,dt)}}function dF(ot,dt,Et){var Lt=Et.length;if(ot==null)return!Lt;for(ot=qr(ot);Lt--;){var on=Et[Lt],Fn=dt[on],Tn=ot[on];if(Tn===_&&!(on in ot)||!Fn(Tn))return!1}return!0}function uF(ot,dt,Et){if(typeof ot!="function")throw new Yo(tt);return Ol(function(){ot.apply(_,Et)},dt)}function Zl(ot,dt,Et,Lt){var on=-1,Fn=Xl,Tn=!0,_n=ot.length,jn=[],rr=dt.length;if(!_n)return jn;Et&&(dt=no(dt,Mo(Et))),Lt?(Fn=DU,Tn=!1):dt.length>=$&&(Fn=Vl,Tn=!1,dt=new ws(dt));e:for(;++on<_n;){var ar=ot[on],lr=Et==null?ar:Et(ar);if(ar=Lt||ar!==0?ar:0,Tn&&lr===lr){for(var Fr=rr;Fr--;)if(dt[Fr]===lr)continue e;jn.push(ar)}else Fn(dt,lr,Lt)||jn.push(ar)}return jn}var ys=xF(is),FF=xF(qU,!0);function sB(ot,dt){var Et=!0;return ys(ot,function(Lt,on,Fn){return Et=!!dt(Lt,on,Fn),Et}),Et}function pU(ot,dt,Et){for(var Lt=-1,on=ot.length;++Lton?0:on+Et),Lt=Lt===_||Lt>on?on:wr(Lt),Lt<0&&(Lt+=on),Lt=Et>Lt?0:Np(Lt);Et0&&Et(_n)?dt>1?Bo(_n,dt-1,Et,Lt,on):Rs(on,_n):Lt||(on[on.length]=_n)}return on}var $U=AF(),QF=AF(!0);function is(ot,dt){return ot&&$U(ot,dt,fo)}function qU(ot,dt){return ot&&QF(ot,dt,fo)}function QU(ot,dt){return Bs(dt,function(Et){return Qs(ot[Et])})}function Zs(ot,dt){dt=Es(dt,ot);for(var Et=0,Lt=dt.length;ot!=null&&Etdt}function cB(ot,dt){return ot!=null&&Kr.call(ot,dt)}function UB(ot,dt){return ot!=null&&dt in qr(ot)}function dB(ot,dt,Et){return ot>=mo(dt,Et)&&ot=120&&ar.length>=120)?new ws(Tn&&ar):_}ar=ot[0];var lr=-1,Fr=_n[0];e:for(;++lr-1;)_n!==ot&&aU.call(_n,jn,1),aU.call(ot,jn,1);return ot}function bF(ot,dt){for(var Et=ot?dt.length:0,Lt=Et-1;Et--;){var on=dt[Et];if(Et==Lt||on!==Fn){var Fn=on;ps(on)?aU.call(ot,on,1):lu(ot,on)}}return ot}function ou(ot,dt){return ot+cU(aF()*(dt-ot+1))}function VB(ot,dt,Et,Lt){for(var on=-1,Fn=Qo(lU((dt-ot)/(Et||1)),0),Tn=Yn(Fn);Fn--;)Tn[Lt?Fn:++on]=ot,ot+=Et;return Tn}function au(ot,dt){var Et="";if(!ot||dt<1||dt>$t)return Et;do dt%2&&(Et+=ot),dt=cU(dt/2),dt&&(ot+=ot);while(dt);return Et}function _r(ot,dt){return yu(np(ot,dt,wo),ot+"")}function EB(ot){return cF(Ul(ot))}function bB(ot,dt){var Et=Ul(ot);return bU(Et,Cs(dt,0,Et.length))}function Ml(ot,dt,Et,Lt){if(!ro(ot))return ot;dt=Es(dt,ot);for(var on=-1,Fn=dt.length,Tn=Fn-1,_n=ot;_n!=null&&++onon?0:on+dt),Et=Et>on?on:Et,Et<0&&(Et+=on),on=dt>Et?0:Et-dt>>>0,dt>>>=0;for(var Fn=Yn(on);++Lt>>1,Tn=ot[Fn];Tn!==null&&!Ao(Tn)&&(Et?Tn<=dt:Tn=$){var rr=dt?null:AB(ot);if(rr)return $l(rr);Tn=!1,on=Vl,jn=new ws}else jn=dt?[]:_n;e:for(;++Lt=Lt?ot:Ko(ot,dt,Et)}var wF=RQ||function(ot){return mr.clearTimeout(ot)};function CF(ot,dt){if(dt)return ot.slice();var Et=ot.length,Lt=tF?tF(Et):new ot.constructor(Et);return ot.copy(Lt),Lt}function uu(ot){var dt=new ot.constructor(ot.byteLength);return new iU(dt).set(new iU(ot)),dt}function kB(ot,dt){var Et=dt?uu(ot.buffer):ot.buffer;return new ot.constructor(Et,ot.byteOffset,ot.byteLength)}function WB(ot){var dt=new ot.constructor(ot.source,Fo.exec(ot));return dt.lastIndex=ot.lastIndex,dt}function wB(ot){return Wl?qr(Wl.call(ot)):{}}function ZF(ot,dt){var Et=dt?uu(ot.buffer):ot.buffer;return new ot.constructor(Et,ot.byteOffset,ot.length)}function _F(ot,dt){if(ot!==dt){var Et=ot!==_,Lt=ot===null,on=ot===ot,Fn=Ao(ot),Tn=dt!==_,_n=dt===null,jn=dt===dt,rr=Ao(dt);if(!_n&&!rr&&!Fn&&ot>dt||Fn&&Tn&&jn&&!_n&&!rr||Lt&&Tn&&jn||!Et&&jn||!on)return 1;if(!Lt&&!Fn&&!rr&&ot=_n)return jn;var rr=Et[Lt];return jn*(rr=="desc"?-1:1)}}return ot.index-dt.index}function DF(ot,dt,Et,Lt){for(var on=-1,Fn=ot.length,Tn=Et.length,_n=-1,jn=dt.length,rr=Qo(Fn-Tn,0),ar=Yn(jn+rr),lr=!Lt;++_n1?Et[on-1]:_,Tn=on>2?Et[2]:_;for(Fn=ot.length>3&&typeof Fn=="function"?(on--,Fn):_,Tn&&Jo(Et[0],Et[1],Tn)&&(Fn=on<3?_:Fn,on=1),dt=qr(dt);++Lt-1?on[Fn?dt[Tn]:Tn]:_}}function jF(ot){return Fs(function(dt){var Et=dt.length,Lt=Et,on=Ho.prototype.thru;for(ot&&dt.reverse();Lt--;){var Fn=dt[Lt];if(typeof Fn!="function")throw new Yo(tt);if(on&&!Tn&&VU(Fn)=="wrapper")var Tn=new Ho([],!0)}for(Lt=Tn?Lt:Et;++Lt1&&Or.reverse(),ar&&jn_n))return!1;var rr=Fn.get(ot),ar=Fn.get(dt);if(rr&&ar)return rr==dt&&ar==ot;var lr=-1,Fr=!0,Rr=Et&Qt?new ws:_;for(Fn.set(ot,dt),Fn.set(dt,ot);++lr<_n;){var br=ot[lr],Zr=dt[lr];if(Lt)var vr=Tn?Lt(Zr,br,lr,dt,ot,Fn):Lt(br,Zr,lr,ot,dt,Fn);if(vr!==_){if(vr)continue;Fr=!1;break}if(Rr){if(!xU(dt,function(xr,Or){if(!Vl(Rr,Or)&&(br===xr||on(br,xr,Et,Lt,Fn)))return Rr.push(Or)})){Fr=!1;break}}else if(!(br===Zr||on(br,Zr,Et,Lt,Fn))){Fr=!1;break}}return Fn.delete(ot),Fn.delete(dt),Fr}function IB(ot,dt,Et,Lt,on,Fn,Tn){switch(Et){case Jr:if(ot.byteLength!=dt.byteLength||ot.byteOffset!=dt.byteOffset)return!1;ot=ot.buffer,dt=dt.buffer;case Ur:return!(ot.byteLength!=dt.byteLength||!Fn(new iU(ot),new iU(dt)));case cn:case fn:case zn:return $a(+ot,+dt);case bn:return ot.name==dt.name&&ot.message==dt.message;case yn:case kn:return ot==dt+"";case xn:var _n=PU;case Vn:var jn=Lt&ut;if(_n||(_n=$l),ot.size!=dt.size&&!jn)return!1;var rr=Tn.get(ot);if(rr)return rr==dt;Lt|=Qt,Tn.set(ot,dt);var ar=XF(_n(ot),_n(dt),Lt,on,Fn,Tn);return Tn.delete(ot),ar;case Gn:if(Wl)return Wl.call(ot)==Wl.call(dt)}return!1}function jB(ot,dt,Et,Lt,on,Fn){var Tn=Et&ut,_n=Qu(ot),jn=_n.length,rr=Qu(dt),ar=rr.length;if(jn!=ar&&!Tn)return!1;for(var lr=jn;lr--;){var Fr=_n[lr];if(!(Tn?Fr in dt:Kr.call(dt,Fr)))return!1}var Rr=Fn.get(ot),br=Fn.get(dt);if(Rr&&br)return Rr==dt&&br==ot;var Zr=!0;Fn.set(ot,dt),Fn.set(dt,ot);for(var vr=Tn;++lr1?"& ":"")+dt[Lt],dt=dt.join(Et>2?", ":" "),ot.replace(ga,`{ +/* [wrapped with `+dt+`] */ +`)}function XB(ot){return Wr(ot)||Ms(ot)||!!(iF&&ot&&ot[iF])}function ps(ot,dt){var Et=typeof ot;return dt=dt??$t,!!dt&&(Et=="number"||Et!="symbol"&&xt.test(ot))&&ot>-1&&ot%1==0&&ot0){if(++dt>=vt)return arguments[0]}else dt=0;return ot.apply(_,arguments)}}function bU(ot,dt){var Et=-1,Lt=ot.length,on=Lt-1;for(dt=dt===_?Lt:dt;++Et1?ot[dt-1]:_;return Et=typeof Et=="function"?(ot.pop(),Et):_,pp(ot,Et)});function Qp(ot){var dt=un(ot);return dt.__chain__=!0,dt}function BR(ot,dt){return dt(ot),ot}function vU(ot,dt){return dt(ot)}var RR=Fs(function(ot){var dt=ot.length,Et=dt?ot[0]:0,Lt=this.__wrapped__,on=function(Fn){return KU(Fn,ot)};return dt>1||this.__actions__.length||!(Lt instanceof Ar)||!ps(Et)?this.thru(on):(Lt=Lt.slice(Et,+Et+(dt?1:0)),Lt.__actions__.push({func:vU,args:[on],thisArg:_}),new Ho(Lt,this.__chain__).thru(function(Fn){return dt&&!Fn.length&&Fn.push(_),Fn}))});function SR(){return Qp(this)}function mR(){return new Ho(this.value(),this.__chain__)}function yR(){this.__values__===_&&(this.__values__=Tp(this.value()));var ot=this.__index__>=this.__values__.length,dt=ot?_:this.__values__[this.__index__++];return{done:ot,value:dt}}function VR(){return this}function ER(ot){for(var dt,Et=this;Et instanceof uU;){var Lt=lp(Et);Lt.__index__=0,Lt.__values__=_,dt?on.__wrapped__=Lt:dt=Lt;var on=Lt;Et=Et.__wrapped__}return on.__wrapped__=ot,dt}function bR(){var ot=this.__wrapped__;if(ot instanceof Ar){var dt=ot;return this.__actions__.length&&(dt=new Ar(this)),dt=dt.reverse(),dt.__actions__.push({func:vU,args:[Vu],thisArg:_}),new Ho(dt,this.__chain__)}return this.thru(Vu)}function vR(){return kF(this.__wrapped__,this.__actions__)}var JR=BU(function(ot,dt,Et){Kr.call(ot,Et)?++ot[Et]:ds(ot,Et,1)});function TR(ot,dt,Et){var Lt=Wr(ot)?Lu:sB;return Et&&Jo(ot,dt,Et)&&(dt=_),Lt(ot,Er(dt,3))}function NR(ot,dt){var Et=Wr(ot)?Bs:pF;return Et(ot,Er(dt,3))}var kR=IF(cp),WR=IF(Up);function wR(ot,dt){return Bo(JU(ot,dt),1)}function CR(ot,dt){return Bo(JU(ot,dt),_t)}function ZR(ot,dt,Et){return Et=Et===_?1:wr(Et),Bo(JU(ot,dt),Et)}function hp(ot,dt){var Et=Wr(ot)?Go:ys;return Et(ot,Er(dt,3))}function fp(ot,dt){var Et=Wr(ot)?Pp:FF;return Et(ot,Er(dt,3))}var _R=BU(function(ot,dt,Et){Kr.call(ot,Et)?ot[Et].push(dt):ds(ot,Et,[dt])});function DR(ot,dt,Et,Lt){ot=ko(ot)?ot:Ul(ot),Et=Et&&!Lt?wr(Et):0;var on=ot.length;return Et<0&&(Et=Qo(on+Et,0)),wU(ot)?Et<=on&&ot.indexOf(dt,Et)>-1:!!on&&Is(ot,dt,Et)>-1}var MR=_r(function(ot,dt,Et){var Lt=-1,on=typeof dt=="function",Fn=ko(ot)?Yn(ot.length):[];return ys(ot,function(Tn){Fn[++Lt]=on?Do(dt,Tn,Et):_l(Tn,dt,Et)}),Fn}),xR=BU(function(ot,dt,Et){ds(ot,Et,dt)});function JU(ot,dt){var Et=Wr(ot)?no:RF;return Et(ot,Er(dt,3))}function AR(ot,dt,Et,Lt){return ot==null?[]:(Wr(dt)||(dt=dt==null?[]:[dt]),Et=Lt?_:Et,Wr(Et)||(Et=Et==null?[]:[Et]),VF(ot,dt,Et))}var OR=BU(function(ot,dt,Et){ot[Et?0:1].push(dt)},function(){return[[],[]]});function IR(ot,dt,Et){var Lt=Wr(ot)?MU:Yu,on=arguments.length<3;return Lt(ot,Er(dt,4),Et,on,ys)}function jR(ot,dt,Et){var Lt=Wr(ot)?zp:Yu,on=arguments.length<3;return Lt(ot,Er(dt,4),Et,on,FF)}function LR(ot,dt){var Et=Wr(ot)?Bs:pF;return Et(ot,kU(Er(dt,3)))}function PR(ot){var dt=Wr(ot)?cF:EB;return dt(ot)}function zR(ot,dt,Et){(Et?Jo(ot,dt,Et):dt===_)?dt=1:dt=wr(dt);var Lt=Wr(ot)?nB:bB;return Lt(ot,dt)}function GR(ot){var dt=Wr(ot)?rB:JB;return dt(ot)}function YR(ot){if(ot==null)return 0;if(ko(ot))return wU(ot)?Ls(ot):ot.length;var dt=yo(ot);return dt==xn||dt==Vn?ot.size:nu(ot).length}function HR(ot,dt,Et){var Lt=Wr(ot)?xU:TB;return Et&&Jo(ot,dt,Et)&&(dt=_),Lt(ot,Er(dt,3))}var XR=_r(function(ot,dt){if(ot==null)return[];var Et=dt.length;return Et>1&&Jo(ot,dt[0],dt[1])?dt=[]:Et>2&&Jo(dt[0],dt[1],dt[2])&&(dt=[dt[0]]),VF(ot,Bo(dt,1),[])}),TU=SQ||function(){return mr.Date.now()};function KR(ot,dt){if(typeof dt!="function")throw new Yo(tt);return ot=wr(ot),function(){if(--ot<1)return dt.apply(this,arguments)}}function gp(ot,dt,Et){return dt=Et?_:dt,dt=ot&&dt==null?ot.length:dt,us(ot,Ct,_,_,_,_,dt)}function Bp(ot,dt){var Et;if(typeof dt!="function")throw new Yo(tt);return ot=wr(ot),function(){return--ot>0&&(Et=dt.apply(this,arguments)),ot<=1&&(dt=_),Et}}var bu=_r(function(ot,dt,Et){var Lt=pt;if(Et.length){var on=Ss(Et,$s(bu));Lt|=Rt}return us(ot,Lt,dt,Et,on)}),Rp=_r(function(ot,dt,Et){var Lt=pt|ft;if(Et.length){var on=Ss(Et,$s(Rp));Lt|=Rt}return us(dt,Lt,ot,Et,on)});function Sp(ot,dt,Et){dt=Et?_:dt;var Lt=us(ot,ht,_,_,_,_,_,dt);return Lt.placeholder=Sp.placeholder,Lt}function mp(ot,dt,Et){dt=Et?_:dt;var Lt=us(ot,Vt,_,_,_,_,_,dt);return Lt.placeholder=mp.placeholder,Lt}function yp(ot,dt,Et){var Lt,on,Fn,Tn,_n,jn,rr=0,ar=!1,lr=!1,Fr=!0;if(typeof ot!="function")throw new Yo(tt);dt=qo(dt)||0,ro(Et)&&(ar=!!Et.leading,lr="maxWait"in Et,Fn=lr?Qo(qo(Et.maxWait)||0,dt):Fn,Fr="trailing"in Et?!!Et.trailing:Fr);function Rr(so){var es=Lt,fs=on;return Lt=on=_,rr=so,Tn=ot.apply(fs,es),Tn}function br(so){return rr=so,_n=Ol(xr,dt),ar?Rr(so):Tn}function Zr(so){var es=so-jn,fs=so-rr,Ip=dt-es;return lr?mo(Ip,Fn-fs):Ip}function vr(so){var es=so-jn,fs=so-rr;return jn===_||es>=dt||es<0||lr&&fs>=Fn}function xr(){var so=TU();if(vr(so))return Or(so);_n=Ol(xr,Zr(so))}function Or(so){return _n=_,Fr&&Lt?Rr(so):(Lt=on=_,Tn)}function Oo(){_n!==_&&wF(_n),rr=0,Lt=jn=on=_n=_}function To(){return _n===_?Tn:Or(TU())}function Io(){var so=TU(),es=vr(so);if(Lt=arguments,on=this,jn=so,es){if(_n===_)return br(jn);if(lr)return wF(_n),_n=Ol(xr,dt),Rr(jn)}return _n===_&&(_n=Ol(xr,dt)),Tn}return Io.cancel=Oo,Io.flush=To,Io}var $R=_r(function(ot,dt){return uF(ot,1,dt)}),qR=_r(function(ot,dt,Et){return uF(ot,qo(dt)||0,Et)});function eS(ot){return us(ot,yt)}function NU(ot,dt){if(typeof ot!="function"||dt!=null&&typeof dt!="function")throw new Yo(tt);var Et=function(){var Lt=arguments,on=dt?dt.apply(this,Lt):Lt[0],Fn=Et.cache;if(Fn.has(on))return Fn.get(on);var Tn=ot.apply(this,Lt);return Et.cache=Fn.set(on,Tn)||Fn,Tn};return Et.cache=new(NU.Cache||Us),Et}NU.Cache=Us;function kU(ot){if(typeof ot!="function")throw new Yo(tt);return function(){var dt=arguments;switch(dt.length){case 0:return!ot.call(this);case 1:return!ot.call(this,dt[0]);case 2:return!ot.call(this,dt[0],dt[1]);case 3:return!ot.call(this,dt[0],dt[1],dt[2])}return!ot.apply(this,dt)}}function tS(ot){return Bp(2,ot)}var nS=NB(function(ot,dt){dt=dt.length==1&&Wr(dt[0])?no(dt[0],Mo(Er())):no(Bo(dt,1),Mo(Er()));var Et=dt.length;return _r(function(Lt){for(var on=-1,Fn=mo(Lt.length,Et);++on=dt}),Ms=fF(function(){return arguments}())?fF:function(ot){return io(ot)&&Kr.call(ot,"callee")&&!rF.call(ot,"callee")},Wr=Yn.isArray,fS=bo?Mo(bo):FB;function ko(ot){return ot!=null&&WU(ot.length)&&!Qs(ot)}function ao(ot){return io(ot)&&ko(ot)}function gS(ot){return ot===!0||ot===!1||io(ot)&&vo(ot)==cn}var vs=yQ||Mu,BS=xu?Mo(xu):pB;function RS(ot){return io(ot)&&ot.nodeType===1&&!Il(ot)}function SS(ot){if(ot==null)return!0;if(ko(ot)&&(Wr(ot)||typeof ot=="string"||typeof ot.splice=="function"||vs(ot)||qs(ot)||Ms(ot)))return!ot.length;var dt=yo(ot);if(dt==xn||dt==Vn)return!ot.size;if(Al(ot))return!nu(ot).length;for(var Et in ot)if(Kr.call(ot,Et))return!1;return!0}function mS(ot,dt){return Dl(ot,dt)}function yS(ot,dt,Et){Et=typeof Et=="function"?Et:_;var Lt=Et?Et(ot,dt):_;return Lt===_?Dl(ot,dt,_,Et):!!Lt}function Ju(ot){if(!io(ot))return!1;var dt=vo(ot);return dt==bn||dt==sn||typeof ot.message=="string"&&typeof ot.name=="string"&&!Il(ot)}function VS(ot){return typeof ot=="number"&&oF(ot)}function Qs(ot){if(!ro(ot))return!1;var dt=vo(ot);return dt==Cn||dt==Nn||dt==Sn||dt==pn}function Ep(ot){return typeof ot=="number"&&ot==wr(ot)}function WU(ot){return typeof ot=="number"&&ot>-1&&ot%1==0&&ot<=$t}function ro(ot){var dt=typeof ot;return ot!=null&&(dt=="object"||dt=="function")}function io(ot){return ot!=null&&typeof ot=="object"}var bp=Au?Mo(Au):hB;function ES(ot,dt){return ot===dt||tu(ot,dt,gu(dt))}function bS(ot,dt,Et){return Et=typeof Et=="function"?Et:_,tu(ot,dt,gu(dt),Et)}function vS(ot){return vp(ot)&&ot!=+ot}function JS(ot){if(qB(ot))throw new Tr(et);return gF(ot)}function TS(ot){return ot===null}function NS(ot){return ot==null}function vp(ot){return typeof ot=="number"||io(ot)&&vo(ot)==zn}function Il(ot){if(!io(ot)||vo(ot)!=jt)return!1;var dt=oU(ot);if(dt===null)return!0;var Et=Kr.call(dt,"constructor")&&dt.constructor;return typeof Et=="function"&&Et instanceof Et&&tU.call(Et)==fQ}var Tu=Ou?Mo(Ou):fB;function kS(ot){return Ep(ot)&&ot>=-$t&&ot<=$t}var Jp=Iu?Mo(Iu):gB;function wU(ot){return typeof ot=="string"||!Wr(ot)&&io(ot)&&vo(ot)==kn}function Ao(ot){return typeof ot=="symbol"||io(ot)&&vo(ot)==Gn}var qs=ju?Mo(ju):BB;function WS(ot){return ot===_}function wS(ot){return io(ot)&&yo(ot)==tr}function CS(ot){return io(ot)&&vo(ot)==cr}var ZS=yU(ru),_S=yU(function(ot,dt){return ot<=dt});function Tp(ot){if(!ot)return[];if(ko(ot))return wU(ot)?_a(ot):No(ot);if(El&&ot[El])return oQ(ot[El]());var dt=yo(ot),Et=dt==xn?PU:dt==Vn?$l:Ul;return Et(ot)}function hs(ot){if(!ot)return ot===0?ot:0;if(ot=qo(ot),ot===_t||ot===-_t){var dt=ot<0?-1:1;return dt*rn}return ot===ot?ot:0}function wr(ot){var dt=hs(ot),Et=dt%1;return dt===dt?Et?dt-Et:dt:0}function Np(ot){return ot?Cs(wr(ot),0,qt):0}function qo(ot){if(typeof ot=="number")return ot;if(Ao(ot))return Pt;if(ro(ot)){var dt=typeof ot.valueOf=="function"?ot.valueOf():ot;ot=ro(dt)?dt+"":dt}if(typeof ot!="string")return ot===0?ot:+ot;ot=Hu(ot);var Et=gr.test(ot);return Et||kt.test(ot)?or(ot.slice(2),Et?2:8):er.test(ot)?Pt:+ot}function kp(ot){return as(ot,Wo(ot))}function DS(ot){return ot?Cs(wr(ot),-$t,$t):ot===0?ot:0}function Hr(ot){return ot==null?"":xo(ot)}var xS=Xs(function(ot,dt){if(Al(dt)||ko(dt)){as(dt,fo(dt),ot);return}for(var Et in dt)Kr.call(dt,Et)&&Cl(ot,Et,dt[Et])}),Wp=Xs(function(ot,dt){as(dt,Wo(dt),ot)}),CU=Xs(function(ot,dt,Et,Lt){as(dt,Wo(dt),ot,Lt)}),OS=Xs(function(ot,dt,Et,Lt){as(dt,fo(dt),ot,Lt)}),IS=Fs(KU);function jS(ot,dt){var Et=Hs(ot);return dt==null?Et:UF(Et,dt)}var LS=_r(function(ot,dt){ot=qr(ot);var Et=-1,Lt=dt.length,on=Lt>2?dt[2]:_;for(on&&Jo(dt[0],dt[1],on)&&(Lt=1);++Et1),Fn}),as(ot,hu(ot),Et),Lt&&(Et=Xo(Et,Ut|ct|Ft,OB));for(var on=dt.length;on--;)lu(Et,dt[on]);return Et});function lm(ot,dt){return Cp(ot,kU(Er(dt)))}var cm=Fs(function(ot,dt){return ot==null?{}:mB(ot,dt)});function Cp(ot,dt){if(ot==null)return{};var Et=no(hu(ot),function(Lt){return[Lt]});return dt=Er(dt),EF(ot,Et,function(Lt,on){return dt(Lt,on[0])})}function Um(ot,dt,Et){dt=Es(dt,ot);var Lt=-1,on=dt.length;for(on||(on=1,ot=_);++Ltdt){var Lt=ot;ot=dt,dt=Lt}if(Et||ot%1||dt%1){var on=aF();return mo(ot+on*(dt-ot+Kn("1e-"+((on+"").length-1))),dt)}return ou(ot,dt)}var Sm=Ks(function(ot,dt,Et){return dt=dt.toLowerCase(),ot+(Et?Dp(dt):dt)});function Dp(ot){return Wu(Hr(ot).toLowerCase())}function Mp(ot){return ot=Hr(ot),ot&&ot.replace(Kt,eQ).replace(Ns,"")}function mm(ot,dt,Et){ot=Hr(ot),dt=xo(dt);var Lt=ot.length;Et=Et===_?Lt:Cs(wr(Et),0,Lt);var on=Et;return Et-=dt.length,Et>=0&&ot.slice(Et,on)==dt}function ym(ot){return ot=Hr(ot),ot&&Vo.test(ot)?ot.replace(Uo,tQ):ot}function Vm(ot){return ot=Hr(ot),ot&&So.test(ot)?ot.replace(jo,"\\$&"):ot}var Em=Ks(function(ot,dt,Et){return ot+(Et?"-":"")+dt.toLowerCase()}),bm=Ks(function(ot,dt,Et){return ot+(Et?" ":"")+dt.toLowerCase()}),vm=OF("toLowerCase");function Jm(ot,dt,Et){ot=Hr(ot),dt=wr(dt);var Lt=dt?Ls(ot):0;if(!dt||Lt>=dt)return ot;var on=(dt-Lt)/2;return mU(cU(on),Et)+ot+mU(lU(on),Et)}function Tm(ot,dt,Et){ot=Hr(ot),dt=wr(dt);var Lt=dt?Ls(ot):0;return dt&&Lt>>0,Et?(ot=Hr(ot),ot&&(typeof dt=="string"||dt!=null&&!Tu(dt))&&(dt=xo(dt),!dt&&js(ot))?bs(_a(ot),0,Et):ot.split(dt,Et)):[]}var _m=Ks(function(ot,dt,Et){return ot+(Et?" ":"")+Wu(dt)});function Dm(ot,dt,Et){return ot=Hr(ot),Et=Et==null?0:Cs(wr(Et),0,ot.length),dt=xo(dt),ot.slice(Et,Et+dt.length)==dt}function Mm(ot,dt,Et){var Lt=un.templateSettings;Et&&Jo(ot,dt,Et)&&(dt=_),ot=Hr(ot),dt=CU({},dt,Lt,YF);var on=CU({},dt.imports,Lt.imports,YF),Fn=fo(on),Tn=LU(on,Fn),_n,jn,rr=0,ar=dt.interpolate||Ot,lr="__p += '",Fr=zU((dt.escape||Ot).source+"|"+ar.source+"|"+(ar===Gr?co:Ot).source+"|"+(dt.evaluate||Ot).source+"|$","g"),Rr="//# sourceURL="+(Kr.call(dt,"sourceURL")?(dt.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++At+"]")+` +`;ot.replace(Fr,function(vr,xr,Or,Oo,To,Io){return Or||(Or=Oo),lr+=ot.slice(rr,Io).replace(En,nQ),xr&&(_n=!0,lr+=`' + +__e(`+xr+`) + +'`),To&&(jn=!0,lr+=`'; +`+To+`; +__p += '`),Or&&(lr+=`' + +((__t = (`+Or+`)) == null ? '' : __t) + +'`),rr=Io+vr.length,vr}),lr+=`'; +`;var br=Kr.call(dt,"variable")&&dt.variable;if(!br)lr=`with (obj) { +`+lr+` +} +`;else if(Zo.test(br))throw new Tr(nt);lr=(jn?lr.replace(Dr,""):lr).replace(Cr,"$1").replace(ir,"$1;"),lr="function("+(br||"obj")+`) { +`+(br?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(_n?", __e = _.escape":"")+(jn?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+lr+`return __p +}`;var Zr=Ap(function(){return Pr(Fn,Rr+"return "+lr).apply(_,Tn)});if(Zr.source=lr,Ju(Zr))throw Zr;return Zr}function xm(ot){return Hr(ot).toLowerCase()}function Am(ot){return Hr(ot).toUpperCase()}function Om(ot,dt,Et){if(ot=Hr(ot),ot&&(Et||dt===_))return Hu(ot);if(!ot||!(dt=xo(dt)))return ot;var Lt=_a(ot),on=_a(dt),Fn=Xu(Lt,on),Tn=Ku(Lt,on)+1;return bs(Lt,Fn,Tn).join("")}function Im(ot,dt,Et){if(ot=Hr(ot),ot&&(Et||dt===_))return ot.slice(0,qu(ot)+1);if(!ot||!(dt=xo(dt)))return ot;var Lt=_a(ot),on=Ku(Lt,_a(dt))+1;return bs(Lt,0,on).join("")}function jm(ot,dt,Et){if(ot=Hr(ot),ot&&(Et||dt===_))return ot.replace(kr,"");if(!ot||!(dt=xo(dt)))return ot;var Lt=_a(ot),on=Xu(Lt,_a(dt));return bs(Lt,on).join("")}function Lm(ot,dt){var Et=Yt,Lt=Zt;if(ro(dt)){var on="separator"in dt?dt.separator:on;Et="length"in dt?wr(dt.length):Et,Lt="omission"in dt?xo(dt.omission):Lt}ot=Hr(ot);var Fn=ot.length;if(js(ot)){var Tn=_a(ot);Fn=Tn.length}if(Et>=Fn)return ot;var _n=Et-Ls(Lt);if(_n<1)return Lt;var jn=Tn?bs(Tn,0,_n).join(""):ot.slice(0,_n);if(on===_)return jn+Lt;if(Tn&&(_n+=jn.length-_n),Tu(on)){if(ot.slice(_n).search(on)){var rr,ar=jn;for(on.global||(on=zU(on.source,Hr(Fo.exec(on))+"g")),on.lastIndex=0;rr=on.exec(ar);)var lr=rr.index;jn=jn.slice(0,lr===_?_n:lr)}}else if(ot.indexOf(xo(on),_n)!=_n){var Fr=jn.lastIndexOf(on);Fr>-1&&(jn=jn.slice(0,Fr))}return jn+Lt}function Pm(ot){return ot=Hr(ot),ot&&uo.test(ot)?ot.replace(Nr,cQ):ot}var zm=Ks(function(ot,dt,Et){return ot+(Et?" ":"")+dt.toUpperCase()}),Wu=OF("toUpperCase");function xp(ot,dt,Et){return ot=Hr(ot),dt=Et?_:dt,dt===_?iQ(ot)?uQ(ot):Hp(ot):ot.match(dt)||[]}var Ap=_r(function(ot,dt){try{return Do(ot,_,dt)}catch(Et){return Ju(Et)?Et:new Tr(Et)}}),Gm=Fs(function(ot,dt){return Go(dt,function(Et){Et=ss(Et),ds(ot,Et,bu(ot[Et],ot))}),ot});function Ym(ot){var dt=ot==null?0:ot.length,Et=Er();return ot=dt?no(ot,function(Lt){if(typeof Lt[1]!="function")throw new Yo(tt);return[Et(Lt[0]),Lt[1]]}):[],_r(function(Lt){for(var on=-1;++on$t)return[];var Et=qt,Lt=mo(ot,qt);dt=Er(dt),ot-=qt;for(var on=jU(Lt,dt);++Et0||dt<0)?new Ar(Et):(ot<0?Et=Et.takeRight(-ot):ot&&(Et=Et.drop(ot)),dt!==_&&(dt=wr(dt),Et=dt<0?Et.dropRight(-dt):Et.take(dt-ot)),Et)},Ar.prototype.takeRightWhile=function(ot){return this.reverse().takeWhile(ot).reverse()},Ar.prototype.toArray=function(){return this.take(qt)},is(Ar.prototype,function(ot,dt){var Et=/^(?:filter|find|map|reject)|While$/.test(dt),Lt=/^(?:head|last)$/.test(dt),on=un[Lt?"take"+(dt=="last"?"Right":""):dt],Fn=Lt||/^find/.test(dt);on&&(un.prototype[dt]=function(){var Tn=this.__wrapped__,_n=Lt?[1]:arguments,jn=Tn instanceof Ar,rr=_n[0],ar=jn||Wr(Tn),lr=function(xr){var Or=on.apply(un,Rs([xr],_n));return Lt&&Fr?Or[0]:Or};ar&&Et&&typeof rr=="function"&&rr.length!=1&&(jn=ar=!1);var Fr=this.__chain__,Rr=!!this.__actions__.length,br=Fn&&!Fr,Zr=jn&&!Rr;if(!Fn&&ar){Tn=Zr?Tn:new Ar(this);var vr=ot.apply(Tn,_n);return vr.__actions__.push({func:vU,args:[lr],thisArg:_}),new Ho(vr,Fr)}return br&&Zr?ot.apply(this,_n):(vr=this.thru(lr),br?Lt?vr.value()[0]:vr.value():vr)})}),Go(["pop","push","shift","sort","splice","unshift"],function(ot){var dt=_c[ot],Et=/^(?:push|sort|unshift)$/.test(ot)?"tap":"thru",Lt=/^(?:pop|shift)$/.test(ot);un.prototype[ot]=function(){var on=arguments;if(Lt&&!this.__chain__){var Fn=this.value();return dt.apply(Wr(Fn)?Fn:[],on)}return this[Et](function(Tn){return dt.apply(Wr(Tn)?Tn:[],on)})}}),is(Ar.prototype,function(ot,dt){var Et=un[dt];if(Et){var Lt=Et.name+"";Kr.call(Ys,Lt)||(Ys[Lt]=[]),Ys[Lt].push({name:dt,func:Et})}}),Ys[RU(_,ft).name]=[{name:"wrapper",func:_}],Ar.prototype.clone=CQ,Ar.prototype.reverse=ZQ,Ar.prototype.value=_Q,un.prototype.at=RR,un.prototype.chain=SR,un.prototype.commit=mR,un.prototype.next=yR,un.prototype.plant=ER,un.prototype.reverse=bR,un.prototype.toJSON=un.prototype.valueOf=un.prototype.value=vR,un.prototype.first=un.prototype.head,El&&(un.prototype[El]=VR),un},Ps=FQ();Ir?((Ir.exports=Ps)._=Ps,Mr._=Ps):mr._=Ps}).call(commonjsGlobal$1)})(lodash,lodashExports);var lib={},uaParser_minExports={},uaParser_min={get exports(){return uaParser_minExports},set exports(o){uaParser_minExports=o}};(function(o,s){(function(_,j){var $="0.7.33",et="",tt="?",nt="function",rt="undefined",it="object",st="string",Ut="major",ct="model",Ft="name",ut="type",Qt="vendor",pt="version",ft="architecture",mt="console",ht="mobile",Vt="tablet",Rt="smarttv",Dt="wearable",Ct="embedded",Mt=350,yt="Amazon",Yt="Apple",Zt="ASUS",vt="BlackBerry",bt="Browser",Wt="Chrome",It="Edge",Tt="Firefox",_t="Google",$t="Huawei",rn="LG",Pt="Microsoft",qt="Motorola",ln="Opera",an="Samsung",Gt="Sharp",Ht="Sony",Un="Xiaomi",Sn="Zebra",cn="Facebook",fn=function(Gn,nr){var tr={};for(var cr in Gn)nr[cr]&&nr[cr].length%2===0?tr[cr]=nr[cr].concat(Gn[cr]):tr[cr]=Gn[cr];return tr},sn=function(Gn){for(var nr={},tr=0;tr0?Sr.length===2?typeof Sr[1]==nt?this[Sr[0]]=Sr[1].call(this,Nt):this[Sr[0]]=Sr[1]:Sr.length===3?typeof Sr[1]===nt&&!(Sr[1].exec&&Sr[1].test)?this[Sr[0]]=Nt?Sr[1].call(this,Nt,Sr[2]):j:this[Sr[0]]=Nt?Nt.replace(Sr[1],Sr[2]):j:Sr.length===4&&(this[Sr[0]]=Nt?Sr[3].call(this,Nt.replace(Sr[1],Sr[2])):j):this[Sr]=Nt||j;tr+=2}},wt=function(Gn,nr){for(var tr in nr)if(typeof nr[tr]===it&&nr[tr].length>0){for(var cr=0;crMt?xn(Ur,Mt):Ur,this},this.setUA(tr),this};yn.VERSION=$,yn.BROWSER=sn([Ft,pt,Ut]),yn.CPU=sn([ft]),yn.DEVICE=sn([ct,Qt,ut,mt,ht,Rt,Vt,Dt,Ct]),yn.ENGINE=yn.OS=sn([Ft,pt]),o.exports&&(s=o.exports=yn),s.UAParser=yn;var Vn=typeof _!==rt&&(_.jQuery||_.Zepto);if(Vn&&!Vn.ua){var kn=new yn;Vn.ua=kn.getResult(),Vn.ua.get=function(){return kn.getUA()},Vn.ua.set=function(Gn){kn.setUA(Gn);var nr=kn.getResult();for(var tr in nr)Vn.ua[tr]=nr[tr]}}})(typeof window=="object"?window:commonjsGlobal$1)})(uaParser_min,uaParser_minExports);Object.defineProperty(lib,"__esModule",{value:!0});function _interopDefault(o){return o&&typeof o=="object"&&"default"in o?o.default:o}var React=reactExports,React__default=_interopDefault(React),UAParser=uaParser_minExports,ClientUAInstance=new UAParser,browser=ClientUAInstance.getBrowser(),cpu=ClientUAInstance.getCPU(),device=ClientUAInstance.getDevice(),engine=ClientUAInstance.getEngine(),os=ClientUAInstance.getOS(),ua=ClientUAInstance.getUA(),setUa=function o(s){return ClientUAInstance.setUA(s)},parseUserAgent=function o(s){if(!s){console.error("No userAgent string was provided");return}var _=new UAParser(s);return{UA:_,browser:_.getBrowser(),cpu:_.getCPU(),device:_.getDevice(),engine:_.getEngine(),os:_.getOS(),ua:_.getUA(),setUserAgent:function($){return _.setUA($)}}},UAHelper=Object.freeze({ClientUAInstance,browser,cpu,device,engine,os,ua,setUa,parseUserAgent});function ownKeys(o,s){var _=Object.keys(o);if(Object.getOwnPropertySymbols){var j=Object.getOwnPropertySymbols(o);s&&(j=j.filter(function($){return Object.getOwnPropertyDescriptor(o,$).enumerable})),_.push.apply(_,j)}return _}function _objectSpread2(o){for(var s=1;s=0)&&(_[$]=o[$]);return _}function _objectWithoutProperties(o,s){if(o==null)return{};var _=_objectWithoutPropertiesLoose(o,s),j,$;if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);for($=0;$=0)&&Object.prototype.propertyIsEnumerable.call(o,j)&&(_[j]=o[j])}return _}function _assertThisInitialized(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _possibleConstructorReturn(o,s){if(s&&(typeof s=="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(o)}function _slicedToArray(o,s){return _arrayWithHoles(o)||_iterableToArrayLimit(o,s)||_unsupportedIterableToArray(o,s)||_nonIterableRest()}function _arrayWithHoles(o){if(Array.isArray(o))return o}function _iterableToArrayLimit(o,s){var _=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(_!=null){var j=[],$=!0,et=!1,tt,nt;try{for(_=_.call(o);!($=(tt=_.next()).done)&&(j.push(tt.value),!(s&&j.length===s));$=!0);}catch(rt){et=!0,nt=rt}finally{try{!$&&_.return!=null&&_.return()}finally{if(et)throw nt}}return j}}function _unsupportedIterableToArray(o,s){if(o){if(typeof o=="string")return _arrayLikeToArray(o,s);var _=Object.prototype.toString.call(o).slice(8,-1);if(_==="Object"&&o.constructor&&(_=o.constructor.name),_==="Map"||_==="Set")return Array.from(o);if(_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_))return _arrayLikeToArray(o,s)}}function _arrayLikeToArray(o,s){(s==null||s>o.length)&&(s=o.length);for(var _=0,j=new Array(s);_1&&arguments[1]!==void 0?arguments[1]:"none";return s||_},getNavigatorInstance=function o(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},isIOS13Check=function o(s){var _=getNavigatorInstance();return _&&_.platform&&(_.platform.indexOf(s)!==-1||_.platform==="MacIntel"&&_.maxTouchPoints>1&&!window.MSStream)},browserPayload=function o(s,_,j,$,et){return{isBrowser:s,browserMajorVersion:setDefaults(_.major),browserFullVersion:setDefaults(_.version),browserName:setDefaults(_.name),engineName:setDefaults(j.name),engineVersion:setDefaults(j.version),osName:setDefaults($.name),osVersion:setDefaults($.version),userAgent:setDefaults(et)}},mobilePayload=function o(s,_,j,$){return _objectSpread2({},s,{vendor:setDefaults(_.vendor),model:setDefaults(_.model),os:setDefaults(j.name),osVersion:setDefaults(j.version),ua:setDefaults($)})},smartTvPayload=function o(s,_,j,$){return{isSmartTV:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},consolePayload=function o(s,_,j,$){return{isConsole:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},wearablePayload=function o(s,_,j,$){return{isWearable:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},embeddedPayload=function o(s,_,j,$,et){return{isEmbedded:s,vendor:setDefaults(_.vendor),model:setDefaults(_.model),engineName:setDefaults(j.name),engineVersion:setDefaults(j.version),osName:setDefaults($.name),osVersion:setDefaults($.version),userAgent:setDefaults(et)}};function deviceDetect(o){var s=o?parseUserAgent(o):UAHelper,_=s.device,j=s.browser,$=s.engine,et=s.os,tt=s.ua,nt=checkDeviceType(_.type),rt=nt.isBrowser,it=nt.isMobile,st=nt.isTablet,Ut=nt.isSmartTV,ct=nt.isConsole,Ft=nt.isWearable,ut=nt.isEmbedded;if(rt)return browserPayload(rt,j,$,et,tt);if(Ut)return smartTvPayload(Ut,$,et,tt);if(ct)return consolePayload(ct,$,et,tt);if(it||st)return mobilePayload(nt,_,et,tt);if(Ft)return wearablePayload(Ft,$,et,tt);if(ut)return embeddedPayload(ut,_,$,et,tt)}var isMobileType=function o(s){var _=s.type;return _===DeviceTypes.Mobile},isTabletType=function o(s){var _=s.type;return _===DeviceTypes.Tablet},isMobileAndTabletType=function o(s){var _=s.type;return _===DeviceTypes.Mobile||_===DeviceTypes.Tablet},isSmartTVType=function o(s){var _=s.type;return _===DeviceTypes.SmartTv},isBrowserType=function o(s){var _=s.type;return _===DeviceTypes.Browser},isWearableType=function o(s){var _=s.type;return _===DeviceTypes.Wearable},isConsoleType=function o(s){var _=s.type;return _===DeviceTypes.Console},isEmbeddedType=function o(s){var _=s.type;return _===DeviceTypes.Embedded},getMobileVendor=function o(s){var _=s.vendor;return setDefaults(_)},getMobileModel=function o(s){var _=s.model;return setDefaults(_)},getDeviceType=function o(s){var _=s.type;return setDefaults(_,"browser")},isAndroidType=function o(s){var _=s.name;return _===OsTypes.Android},isWindowsType=function o(s){var _=s.name;return _===OsTypes.Windows},isMacOsType=function o(s){var _=s.name;return _===OsTypes.MAC_OS},isWinPhoneType=function o(s){var _=s.name;return _===OsTypes.WindowsPhone},isIOSType=function o(s){var _=s.name;return _===OsTypes.IOS},getOsVersion=function o(s){var _=s.version;return setDefaults(_)},getOsName=function o(s){var _=s.name;return setDefaults(_)},isChromeType=function o(s){var _=s.name;return _===BrowserTypes.Chrome},isFirefoxType=function o(s){var _=s.name;return _===BrowserTypes.Firefox},isChromiumType=function o(s){var _=s.name;return _===BrowserTypes.Chromium},isEdgeType=function o(s){var _=s.name;return _===BrowserTypes.Edge},isYandexType=function o(s){var _=s.name;return _===BrowserTypes.Yandex},isSafariType=function o(s){var _=s.name;return _===BrowserTypes.Safari||_===BrowserTypes.MobileSafari},isMobileSafariType=function o(s){var _=s.name;return _===BrowserTypes.MobileSafari},isOperaType=function o(s){var _=s.name;return _===BrowserTypes.Opera},isIEType=function o(s){var _=s.name;return _===BrowserTypes.InternetExplorer||_===BrowserTypes.Ie},isMIUIType=function o(s){var _=s.name;return _===BrowserTypes.MIUI},isSamsungBrowserType=function o(s){var _=s.name;return _===BrowserTypes.SamsungBrowser},getBrowserFullVersion=function o(s){var _=s.version;return setDefaults(_)},getBrowserVersion=function o(s){var _=s.major;return setDefaults(_)},getBrowserName=function o(s){var _=s.name;return setDefaults(_)},getEngineName=function o(s){var _=s.name;return setDefaults(_)},getEngineVersion=function o(s){var _=s.version;return setDefaults(_)},isElectronType=function o(){var s=getNavigatorInstance(),_=s&&s.userAgent&&s.userAgent.toLowerCase();return typeof _=="string"?/electron/.test(_):!1},isEdgeChromiumType=function o(s){return typeof s=="string"&&s.indexOf("Edg/")!==-1},getIOS13=function o(){var s=getNavigatorInstance();return s&&(/iPad|iPhone|iPod/.test(s.platform)||s.platform==="MacIntel"&&s.maxTouchPoints>1)&&!window.MSStream},getIPad13=function o(){return isIOS13Check("iPad")},getIphone13=function o(){return isIOS13Check("iPhone")},getIPod13=function o(){return isIOS13Check("iPod")},getUseragent=function o(s){return setDefaults(s)};function buildSelectorsObject(o){var s=o||UAHelper,_=s.device,j=s.browser,$=s.os,et=s.engine,tt=s.ua;return{isSmartTV:isSmartTVType(_),isConsole:isConsoleType(_),isWearable:isWearableType(_),isEmbedded:isEmbeddedType(_),isMobileSafari:isMobileSafariType(j)||getIPad13(),isChromium:isChromiumType(j),isMobile:isMobileAndTabletType(_)||getIPad13(),isMobileOnly:isMobileType(_),isTablet:isTabletType(_)||getIPad13(),isBrowser:isBrowserType(_),isDesktop:isBrowserType(_),isAndroid:isAndroidType($),isWinPhone:isWinPhoneType($),isIOS:isIOSType($)||getIPad13(),isChrome:isChromeType(j),isFirefox:isFirefoxType(j),isSafari:isSafariType(j),isOpera:isOperaType(j),isIE:isIEType(j),osVersion:getOsVersion($),osName:getOsName($),fullBrowserVersion:getBrowserFullVersion(j),browserVersion:getBrowserVersion(j),browserName:getBrowserName(j),mobileVendor:getMobileVendor(_),mobileModel:getMobileModel(_),engineName:getEngineName(et),engineVersion:getEngineVersion(et),getUA:getUseragent(tt),isEdge:isEdgeType(j)||isEdgeChromiumType(tt),isYandex:isYandexType(j),deviceType:getDeviceType(_),isIOS13:getIOS13(),isIPad13:getIPad13(),isIPhone13:getIphone13(),isIPod13:getIPod13(),isElectron:isElectronType(),isEdgeChromium:isEdgeChromiumType(tt),isLegacyEdge:isEdgeType(j)&&!isEdgeChromiumType(tt),isWindows:isWindowsType($),isMacOs:isMacOsType($),isMIUI:isMIUIType(j),isSamsungBrowser:isSamsungBrowserType(j)}}var isSmartTV=isSmartTVType(device),isConsole=isConsoleType(device),isWearable=isWearableType(device),isEmbedded=isEmbeddedType(device),isMobileSafari=isMobileSafariType(browser)||getIPad13(),isChromium=isChromiumType(browser),isMobile=isMobileAndTabletType(device)||getIPad13(),isMobileOnly=isMobileType(device),isTablet=isTabletType(device)||getIPad13(),isBrowser=isBrowserType(device),isDesktop=isBrowserType(device),isAndroid=isAndroidType(os),isWinPhone=isWinPhoneType(os),isIOS=isIOSType(os)||getIPad13(),isChrome=isChromeType(browser),isFirefox=isFirefoxType(browser),isSafari=isSafariType(browser),isOpera=isOperaType(browser),isIE=isIEType(browser),osVersion=getOsVersion(os),osName=getOsName(os),fullBrowserVersion=getBrowserFullVersion(browser),browserVersion=getBrowserVersion(browser),browserName=getBrowserName(browser),mobileVendor=getMobileVendor(device),mobileModel=getMobileModel(device),engineName=getEngineName(engine),engineVersion=getEngineVersion(engine),getUA=getUseragent(ua),isEdge=isEdgeType(browser)||isEdgeChromiumType(ua),isYandex=isYandexType(browser),deviceType=getDeviceType(device),isIOS13=getIOS13(),isIPad13=getIPad13(),isIPhone13=getIphone13(),isIPod13=getIPod13(),isElectron=isElectronType(),isEdgeChromium=isEdgeChromiumType(ua),isLegacyEdge=isEdgeType(browser)&&!isEdgeChromiumType(ua),isWindows=isWindowsType(os),isMacOs=isMacOsType(os),isMIUI=isMIUIType(browser),isSamsungBrowser=isSamsungBrowserType(browser),getSelectorsByUserAgent=function o(s){if(!s||typeof s!="string"){console.error("No valid user agent string was provided");return}var _=parseUserAgent(s),j=_.device,$=_.browser,et=_.os,tt=_.engine,nt=_.ua;return buildSelectorsObject({device:j,browser:$,os:et,engine:tt,ua:nt})},AndroidView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isAndroid?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},BrowserView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isBrowser?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},IEView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isIE?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},IOSView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isIOS?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},MobileView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isMobile?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},TabletView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isTablet?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},WinPhoneView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isWinPhone?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},MobileOnlyView=function o(s){var _=s.renderWithFragment,j=s.children;s.viewClassName,s.style;var $=_objectWithoutProperties(s,["renderWithFragment","children","viewClassName","style"]);return isMobileOnly?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},SmartTVView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isSmartTV?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},ConsoleView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isConsole?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},WearableView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isWearable?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},CustomView=function o(s){var _=s.renderWithFragment,j=s.children;s.viewClassName,s.style;var $=s.condition,et=_objectWithoutProperties(s,["renderWithFragment","children","viewClassName","style","condition"]);return $?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",et,j):null};function withOrientationChange(o){return function(s){_inherits(_,s);function _(j){var $;return _classCallCheck(this,_),$=_possibleConstructorReturn(this,_getPrototypeOf(_).call(this,j)),$.isEventListenerAdded=!1,$.handleOrientationChange=$.handleOrientationChange.bind(_assertThisInitialized($)),$.onOrientationChange=$.onOrientationChange.bind(_assertThisInitialized($)),$.onPageLoad=$.onPageLoad.bind(_assertThisInitialized($)),$.state={isLandscape:!1,isPortrait:!1},$}return _createClass(_,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var $=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:$===0,isLandscape:$===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return React__default.createElement(o,_extends({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),_}(React__default.Component)}function useMobileOrientation(){var o=React.useState(function(){var et=window.innerWidth>window.innerHeight?90:0;return{isPortrait:et===0,isLandscape:et===90,orientation:et===0?"portrait":"landscape"}}),s=_slicedToArray(o,2),_=s[0],j=s[1],$=React.useCallback(function(){var et=window.innerWidth>window.innerHeight?90:0,tt={isPortrait:et===0,isLandscape:et===90,orientation:et===0?"portrait":"landscape"};_.orientation!==tt.orientation&&j(tt)},[_.orientation]);return React.useEffect(function(){return(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&($(),window.addEventListener("load",$,!1),window.addEventListener("resize",$,!1)),function(){window.removeEventListener("resize",$,!1),window.removeEventListener("load",$,!1)}},[$]),_}function useDeviceData(o){var s=o||window.navigator.userAgent;return parseUserAgent(s)}function useDeviceSelectors(o){var s=o||window.navigator.userAgent,_=useDeviceData(s),j=buildSelectorsObject(_);return[j,_]}lib.AndroidView=AndroidView;lib.BrowserTypes=BrowserTypes;lib.BrowserView=BrowserView;lib.ConsoleView=ConsoleView;lib.CustomView=CustomView;lib.IEView=IEView;lib.IOSView=IOSView;lib.MobileOnlyView=MobileOnlyView;lib.MobileView=MobileView;lib.OsTypes=OsTypes;lib.SmartTVView=SmartTVView;lib.TabletView=TabletView;lib.WearableView=WearableView;lib.WinPhoneView=WinPhoneView;lib.browserName=browserName;lib.browserVersion=browserVersion;lib.deviceDetect=deviceDetect;lib.deviceType=deviceType;lib.engineName=engineName;lib.engineVersion=engineVersion;lib.fullBrowserVersion=fullBrowserVersion;lib.getSelectorsByUserAgent=getSelectorsByUserAgent;lib.getUA=getUA;lib.isAndroid=isAndroid;lib.isBrowser=isBrowser;lib.isChrome=isChrome;lib.isChromium=isChromium;lib.isConsole=isConsole;lib.isDesktop=isDesktop;lib.isEdge=isEdge;lib.isEdgeChromium=isEdgeChromium;lib.isElectron=isElectron;lib.isEmbedded=isEmbedded;lib.isFirefox=isFirefox;lib.isIE=isIE;lib.isIOS=isIOS;lib.isIOS13=isIOS13;lib.isIPad13=isIPad13;lib.isIPhone13=isIPhone13;lib.isIPod13=isIPod13;lib.isLegacyEdge=isLegacyEdge;lib.isMIUI=isMIUI;lib.isMacOs=isMacOs;lib.isMobile=isMobile;lib.isMobileOnly=isMobileOnly;lib.isMobileSafari=isMobileSafari;lib.isOpera=isOpera;lib.isSafari=isSafari;lib.isSamsungBrowser=isSamsungBrowser;lib.isSmartTV=isSmartTV;lib.isTablet=isTablet;lib.isWearable=isWearable;lib.isWinPhone=isWinPhone;lib.isWindows=isWindows;lib.isYandex=isYandex;lib.mobileModel=mobileModel;lib.mobileVendor=mobileVendor;lib.osName=osName;lib.osVersion=osVersion;lib.parseUserAgent=parseUserAgent;lib.setUserAgent=setUserAgent;lib.useDeviceData=useDeviceData;lib.useDeviceSelectors=useDeviceSelectors;lib.useMobileOrientation=useMobileOrientation;lib.withOrientationChange=withOrientationChange;/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function round(o){return o+.5|0}const lim=(o,s,_)=>Math.max(Math.min(o,_),s);function p2b(o){return lim(round(o*2.55),0,255)}function n2b(o){return lim(round(o*255),0,255)}function b2n(o){return lim(round(o/2.55)/100,0,1)}function n2p(o){return lim(round(o*100),0,100)}const map$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},hex=[..."0123456789ABCDEF"],h1=o=>hex[o&15],h2=o=>hex[(o&240)>>4]+hex[o&15],eq=o=>(o&240)>>4===(o&15),isShort=o=>eq(o.r)&&eq(o.g)&&eq(o.b)&&eq(o.a);function hexParse(o){var s=o.length,_;return o[0]==="#"&&(s===4||s===5?_={r:255&map$1[o[1]]*17,g:255&map$1[o[2]]*17,b:255&map$1[o[3]]*17,a:s===5?map$1[o[4]]*17:255}:(s===7||s===9)&&(_={r:map$1[o[1]]<<4|map$1[o[2]],g:map$1[o[3]]<<4|map$1[o[4]],b:map$1[o[5]]<<4|map$1[o[6]],a:s===9?map$1[o[7]]<<4|map$1[o[8]]:255})),_}const alpha=(o,s)=>o<255?s(o):"";function hexString(o){var s=isShort(o)?h1:h2;return o?"#"+s(o.r)+s(o.g)+s(o.b)+alpha(o.a,s):void 0}const HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(o,s,_){const j=s*Math.min(_,1-_),$=(et,tt=(et+o/30)%12)=>_-j*Math.max(Math.min(tt-3,9-tt,1),-1);return[$(0),$(8),$(4)]}function hsv2rgbn(o,s,_){const j=($,et=($+o/60)%6)=>_-_*s*Math.max(Math.min(et,4-et,1),0);return[j(5),j(3),j(1)]}function hwb2rgbn(o,s,_){const j=hsl2rgbn(o,1,.5);let $;for(s+_>1&&($=1/(s+_),s*=$,_*=$),$=0;$<3;$++)j[$]*=1-s-_,j[$]+=s;return j}function hueValue(o,s,_,j,$){return o===$?(s-_)/j+(s<_?6:0):s===$?(_-o)/j+2:(o-s)/j+4}function rgb2hsl(o){const _=o.r/255,j=o.g/255,$=o.b/255,et=Math.max(_,j,$),tt=Math.min(_,j,$),nt=(et+tt)/2;let rt,it,st;return et!==tt&&(st=et-tt,it=nt>.5?st/(2-et-tt):st/(et+tt),rt=hueValue(_,j,$,st,et),rt=rt*60+.5),[rt|0,it||0,nt]}function calln(o,s,_,j){return(Array.isArray(s)?o(s[0],s[1],s[2]):o(s,_,j)).map(n2b)}function hsl2rgb(o,s,_){return calln(hsl2rgbn,o,s,_)}function hwb2rgb(o,s,_){return calln(hwb2rgbn,o,s,_)}function hsv2rgb(o,s,_){return calln(hsv2rgbn,o,s,_)}function hue(o){return(o%360+360)%360}function hueParse(o){const s=HUE_RE.exec(o);let _=255,j;if(!s)return;s[5]!==j&&(_=s[6]?p2b(+s[5]):n2b(+s[5]));const $=hue(+s[2]),et=+s[3]/100,tt=+s[4]/100;return s[1]==="hwb"?j=hwb2rgb($,et,tt):s[1]==="hsv"?j=hsv2rgb($,et,tt):j=hsl2rgb($,et,tt),{r:j[0],g:j[1],b:j[2],a:_}}function rotate(o,s){var _=rgb2hsl(o);_[0]=hue(_[0]+s),_=hsl2rgb(_),o.r=_[0],o.g=_[1],o.b=_[2]}function hslString(o){if(!o)return;const s=rgb2hsl(o),_=s[0],j=n2p(s[1]),$=n2p(s[2]);return o.a<255?`hsla(${_}, ${j}%, ${$}%, ${b2n(o.a)})`:`hsl(${_}, ${j}%, ${$}%)`}const map$2={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){const o={},s=Object.keys(names$1),_=Object.keys(map$2);let j,$,et,tt,nt;for(j=0;j>16&255,et>>8&255,et&255]}return o}let names;function nameParse(o){names||(names=unpack(),names.transparent=[0,0,0,0]);const s=names[o.toLowerCase()];return s&&{r:s[0],g:s[1],b:s[2],a:s.length===4?s[3]:255}}const RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(o){const s=RGB_RE.exec(o);let _=255,j,$,et;if(s){if(s[7]!==j){const tt=+s[7];_=s[8]?p2b(tt):lim(tt*255,0,255)}return j=+s[1],$=+s[3],et=+s[5],j=255&(s[2]?p2b(j):lim(j,0,255)),$=255&(s[4]?p2b($):lim($,0,255)),et=255&(s[6]?p2b(et):lim(et,0,255)),{r:j,g:$,b:et,a:_}}}function rgbString(o){return o&&(o.a<255?`rgba(${o.r}, ${o.g}, ${o.b}, ${b2n(o.a)})`:`rgb(${o.r}, ${o.g}, ${o.b})`)}const to=o=>o<=.0031308?o*12.92:Math.pow(o,1/2.4)*1.055-.055,from=o=>o<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4);function interpolate$1(o,s,_){const j=from(b2n(o.r)),$=from(b2n(o.g)),et=from(b2n(o.b));return{r:n2b(to(j+_*(from(b2n(s.r))-j))),g:n2b(to($+_*(from(b2n(s.g))-$))),b:n2b(to(et+_*(from(b2n(s.b))-et))),a:o.a+_*(s.a-o.a)}}function modHSL(o,s,_){if(o){let j=rgb2hsl(o);j[s]=Math.max(0,Math.min(j[s]+j[s]*_,s===0?360:1)),j=hsl2rgb(j),o.r=j[0],o.g=j[1],o.b=j[2]}}function clone$1(o,s){return o&&Object.assign(s||{},o)}function fromObject(o){var s={r:0,g:0,b:0,a:255};return Array.isArray(o)?o.length>=3&&(s={r:o[0],g:o[1],b:o[2],a:255},o.length>3&&(s.a=n2b(o[3]))):(s=clone$1(o,{r:0,g:0,b:0,a:1}),s.a=n2b(s.a)),s}function functionParse(o){return o.charAt(0)==="r"?rgbParse(o):hueParse(o)}class Color{constructor(s){if(s instanceof Color)return s;const _=typeof s;let j;_==="object"?j=fromObject(s):_==="string"&&(j=hexParse(s)||nameParse(s)||functionParse(s)),this._rgb=j,this._valid=!!j}get valid(){return this._valid}get rgb(){var s=clone$1(this._rgb);return s&&(s.a=b2n(s.a)),s}set rgb(s){this._rgb=fromObject(s)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(s,_){if(s){const j=this.rgb,$=s.rgb;let et;const tt=_===et?.5:_,nt=2*tt-1,rt=j.a-$.a,it=((nt*rt===-1?nt:(nt+rt)/(1+nt*rt))+1)/2;et=1-it,j.r=255&it*j.r+et*$.r+.5,j.g=255&it*j.g+et*$.g+.5,j.b=255&it*j.b+et*$.b+.5,j.a=tt*j.a+(1-tt)*$.a,this.rgb=j}return this}interpolate(s,_){return s&&(this._rgb=interpolate$1(this._rgb,s._rgb,_)),this}clone(){return new Color(this.rgb)}alpha(s){return this._rgb.a=n2b(s),this}clearer(s){const _=this._rgb;return _.a*=1-s,this}greyscale(){const s=this._rgb,_=round(s.r*.3+s.g*.59+s.b*.11);return s.r=s.g=s.b=_,this}opaquer(s){const _=this._rgb;return _.a*=1+s,this}negate(){const s=this._rgb;return s.r=255-s.r,s.g=255-s.g,s.b=255-s.b,this}lighten(s){return modHSL(this._rgb,2,s),this}darken(s){return modHSL(this._rgb,2,-s),this}saturate(s){return modHSL(this._rgb,1,s),this}desaturate(s){return modHSL(this._rgb,1,-s),this}rotate(s){return rotate(this._rgb,s),this}}/*! + * Chart.js v4.2.1 + * https://www.chartjs.org + * (c) 2023 Chart.js Contributors + * Released under the MIT License + */function noop(){}const uid=(()=>{let o=0;return()=>o++})();function isNullOrUndef(o){return o===null||typeof o>"u"}function isArray(o){if(Array.isArray&&Array.isArray(o))return!0;const s=Object.prototype.toString.call(o);return s.slice(0,7)==="[object"&&s.slice(-6)==="Array]"}function isObject(o){return o!==null&&Object.prototype.toString.call(o)==="[object Object]"}function isNumberFinite(o){return(typeof o=="number"||o instanceof Number)&&isFinite(+o)}function finiteOrDefault(o,s){return isNumberFinite(o)?o:s}function valueOrDefault(o,s){return typeof o>"u"?s:o}const toPercentage=(o,s)=>typeof o=="string"&&o.endsWith("%")?parseFloat(o)/100:+o/s,toDimension=(o,s)=>typeof o=="string"&&o.endsWith("%")?parseFloat(o)/100*s:+o;function callback(o,s,_){if(o&&typeof o.call=="function")return o.apply(_,s)}function each(o,s,_,j){let $,et,tt;if(isArray(o))if(et=o.length,j)for($=et-1;$>=0;$--)s.call(_,o[$],$);else for($=0;$o,x:o=>o.x,y:o=>o.y};function _splitKey(o){const s=o.split("."),_=[];let j="";for(const $ of s)j+=$,j.endsWith("\\")?j=j.slice(0,-1)+".":(_.push(j),j="");return _}function _getKeyResolver(o){const s=_splitKey(o);return _=>{for(const j of s){if(j==="")break;_=_&&_[j]}return _}}function resolveObjectKey(o,s){return(keyResolvers[s]||(keyResolvers[s]=_getKeyResolver(s)))(o)}function _capitalize(o){return o.charAt(0).toUpperCase()+o.slice(1)}const defined=o=>typeof o<"u",isFunction=o=>typeof o=="function",setsEqual=(o,s)=>{if(o.size!==s.size)return!1;for(const _ of o)if(!s.has(_))return!1;return!0};function _isClickEvent(o){return o.type==="mouseup"||o.type==="click"||o.type==="contextmenu"}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function almostEquals(o,s,_){return Math.abs(o-s)<_}function niceNum(o){const s=Math.round(o);o=almostEquals(o,s,o/1e3)?s:o;const _=Math.pow(10,Math.floor(log10(o))),j=o/_;return(j<=1?1:j<=2?2:j<=5?5:10)*_}function _factorize(o){const s=[],_=Math.sqrt(o);let j;for(j=1;j<_;j++)o%j===0&&(s.push(j),s.push(o/j));return _===(_|0)&&s.push(_),s.sort(($,et)=>$-et).pop(),s}function isNumber(o){return!isNaN(parseFloat(o))&&isFinite(o)}function almostWhole(o,s){const _=Math.round(o);return _-s<=o&&_+s>=o}function _setMinAndMaxByKey(o,s,_){let j,$,et;for(j=0,$=o.length;j<$;j++)et=o[j][_],isNaN(et)||(s.min=Math.min(s.min,et),s.max=Math.max(s.max,et))}function toRadians(o){return o*(PI/180)}function toDegrees(o){return o*(180/PI)}function _decimalPlaces(o){if(!isNumberFinite(o))return;let s=1,_=0;for(;Math.round(o*s)/s!==o;)s*=10,_++;return _}function getAngleFromPoint(o,s){const _=s.x-o.x,j=s.y-o.y,$=Math.sqrt(_*_+j*j);let et=Math.atan2(j,_);return et<-.5*PI&&(et+=TAU),{angle:et,distance:$}}function distanceBetweenPoints(o,s){return Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2))}function _angleDiff(o,s){return(o-s+PITAU)%TAU-PI}function _normalizeAngle(o){return(o%TAU+TAU)%TAU}function _angleBetween(o,s,_,j){const $=_normalizeAngle(o),et=_normalizeAngle(s),tt=_normalizeAngle(_),nt=_normalizeAngle(et-$),rt=_normalizeAngle(tt-$),it=_normalizeAngle($-et),st=_normalizeAngle($-tt);return $===et||$===tt||j&&et===tt||nt>rt&&it=Math.min(s,_)-j&&o<=Math.max(s,_)+j}function _lookup(o,s,_){_=_||(tt=>o[tt]1;)et=$+j>>1,_(et)?$=et:j=et;return{lo:$,hi:j}}const _lookupByKey=(o,s,_,j)=>_lookup(o,_,j?$=>{const et=o[$][s];return et<_||et===_&&o[$+1][s]===_}:$=>o[$][s]<_),_rlookupByKey=(o,s,_)=>_lookup(o,_,j=>o[j][s]>=_);function _filterBetween(o,s,_){let j=0,$=o.length;for(;j<$&&o[j]j&&o[$-1]>_;)$--;return j>0||${const j="_onData"+_capitalize(_),$=o[_];Object.defineProperty(o,_,{configurable:!0,enumerable:!1,value(...et){const tt=$.apply(this,et);return o._chartjs.listeners.forEach(nt=>{typeof nt[j]=="function"&&nt[j](...et)}),tt}})})}function unlistenArrayEvents(o,s){const _=o._chartjs;if(!_)return;const j=_.listeners,$=j.indexOf(s);$!==-1&&j.splice($,1),!(j.length>0)&&(arrayEvents.forEach(et=>{delete o[et]}),delete o._chartjs)}function _arrayUnique(o){const s=new Set;let _,j;for(_=0,j=o.length;_"u"?function(o){return o()}:window.requestAnimationFrame}();function throttled(o,s){let _=[],j=!1;return function(...$){_=$,j||(j=!0,requestAnimFrame.call(window,()=>{j=!1,o.apply(s,_)}))}}function debounce(o,s){let _;return function(...j){return s?(clearTimeout(_),_=setTimeout(o,s,j)):o.apply(this,j),s}}const _toLeftRightCenter=o=>o==="start"?"left":o==="end"?"right":"center",_alignStartEnd=(o,s,_)=>o==="start"?s:o==="end"?_:(s+_)/2,_textX=(o,s,_,j)=>o===(j?"left":"right")?_:o==="center"?(s+_)/2:s;function _getStartAndCountOfVisiblePoints(o,s,_){const j=s.length;let $=0,et=j;if(o._sorted){const{iScale:tt,_parsed:nt}=o,rt=tt.axis,{min:it,max:st,minDefined:Ut,maxDefined:ct}=tt.getUserBounds();Ut&&($=_limitValue(Math.min(_lookupByKey(nt,tt.axis,it).lo,_?j:_lookupByKey(s,rt,tt.getPixelForValue(it)).lo),0,j-1)),ct?et=_limitValue(Math.max(_lookupByKey(nt,tt.axis,st,!0).hi+1,_?0:_lookupByKey(s,rt,tt.getPixelForValue(st),!0).hi+1),$,j)-$:et=j-$}return{start:$,count:et}}function _scaleRangesChanged(o){const{xScale:s,yScale:_,_scaleRanges:j}=o,$={xmin:s.min,xmax:s.max,ymin:_.min,ymax:_.max};if(!j)return o._scaleRanges=$,!0;const et=j.xmin!==s.min||j.xmax!==s.max||j.ymin!==_.min||j.ymax!==_.max;return Object.assign(j,$),et}const atEdge=o=>o===0||o===1,elasticIn=(o,s,_)=>-(Math.pow(2,10*(o-=1))*Math.sin((o-s)*TAU/_)),elasticOut=(o,s,_)=>Math.pow(2,-10*o)*Math.sin((o-s)*TAU/_)+1,effects={linear:o=>o,easeInQuad:o=>o*o,easeOutQuad:o=>-o*(o-2),easeInOutQuad:o=>(o/=.5)<1?.5*o*o:-.5*(--o*(o-2)-1),easeInCubic:o=>o*o*o,easeOutCubic:o=>(o-=1)*o*o+1,easeInOutCubic:o=>(o/=.5)<1?.5*o*o*o:.5*((o-=2)*o*o+2),easeInQuart:o=>o*o*o*o,easeOutQuart:o=>-((o-=1)*o*o*o-1),easeInOutQuart:o=>(o/=.5)<1?.5*o*o*o*o:-.5*((o-=2)*o*o*o-2),easeInQuint:o=>o*o*o*o*o,easeOutQuint:o=>(o-=1)*o*o*o*o+1,easeInOutQuint:o=>(o/=.5)<1?.5*o*o*o*o*o:.5*((o-=2)*o*o*o*o+2),easeInSine:o=>-Math.cos(o*HALF_PI)+1,easeOutSine:o=>Math.sin(o*HALF_PI),easeInOutSine:o=>-.5*(Math.cos(PI*o)-1),easeInExpo:o=>o===0?0:Math.pow(2,10*(o-1)),easeOutExpo:o=>o===1?1:-Math.pow(2,-10*o)+1,easeInOutExpo:o=>atEdge(o)?o:o<.5?.5*Math.pow(2,10*(o*2-1)):.5*(-Math.pow(2,-10*(o*2-1))+2),easeInCirc:o=>o>=1?o:-(Math.sqrt(1-o*o)-1),easeOutCirc:o=>Math.sqrt(1-(o-=1)*o),easeInOutCirc:o=>(o/=.5)<1?-.5*(Math.sqrt(1-o*o)-1):.5*(Math.sqrt(1-(o-=2)*o)+1),easeInElastic:o=>atEdge(o)?o:elasticIn(o,.075,.3),easeOutElastic:o=>atEdge(o)?o:elasticOut(o,.075,.3),easeInOutElastic(o){return atEdge(o)?o:o<.5?.5*elasticIn(o*2,.1125,.45):.5+.5*elasticOut(o*2-1,.1125,.45)},easeInBack(o){return o*o*((1.70158+1)*o-1.70158)},easeOutBack(o){return(o-=1)*o*((1.70158+1)*o+1.70158)+1},easeInOutBack(o){let s=1.70158;return(o/=.5)<1?.5*(o*o*(((s*=1.525)+1)*o-s)):.5*((o-=2)*o*(((s*=1.525)+1)*o+s)+2)},easeInBounce:o=>1-effects.easeOutBounce(1-o),easeOutBounce(o){return o<1/2.75?7.5625*o*o:o<2/2.75?7.5625*(o-=1.5/2.75)*o+.75:o<2.5/2.75?7.5625*(o-=2.25/2.75)*o+.9375:7.5625*(o-=2.625/2.75)*o+.984375},easeInOutBounce:o=>o<.5?effects.easeInBounce(o*2)*.5:effects.easeOutBounce(o*2-1)*.5+.5};function isPatternOrGradient(o){if(o&&typeof o=="object"){const s=o.toString();return s==="[object CanvasPattern]"||s==="[object CanvasGradient]"}return!1}function color(o){return isPatternOrGradient(o)?o:new Color(o)}function getHoverColor(o){return isPatternOrGradient(o)?o:new Color(o).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(o){o.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),o.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:s=>s!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),o.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),o.describe("animations",{_fallback:"animation"}),o.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}})}function applyLayoutsDefaults(o){o.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(o,s){s=s||{};const _=o+JSON.stringify(s);let j=intlCache.get(_);return j||(j=new Intl.NumberFormat(o,s),intlCache.set(_,j)),j}function formatNumber(o,s,_){return getNumberFormat(s,_).format(o)}const formatters={values(o){return isArray(o)?o:""+o},numeric(o,s,_){if(o===0)return"0";const j=this.chart.options.locale;let $,et=o;if(_.length>1){const it=Math.max(Math.abs(_[0].value),Math.abs(_[_.length-1].value));(it<1e-4||it>1e15)&&($="scientific"),et=calculateDelta(o,_)}const tt=log10(Math.abs(et)),nt=Math.max(Math.min(-1*Math.floor(tt),20),0),rt={notation:$,minimumFractionDigits:nt,maximumFractionDigits:nt};return Object.assign(rt,this.options.ticks.format),formatNumber(o,j,rt)},logarithmic(o,s,_){if(o===0)return"0";const j=_[s].significand||o/Math.pow(10,Math.floor(log10(o)));return[1,2,3,5,10,15].includes(j)||s>.8*_.length?formatters.numeric.call(this,o,s,_):""}};function calculateDelta(o,s){let _=s.length>3?s[2].value-s[1].value:s[1].value-s[0].value;return Math.abs(_)>=1&&o!==Math.floor(o)&&(_=o-Math.floor(o)),_}var Ticks={formatters};function applyScaleDefaults(o){o.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,_)=>_.lineWidth,tickColor:(s,_)=>_.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),o.route("scale.ticks","color","","color"),o.route("scale.grid","color","","borderColor"),o.route("scale.border","color","","borderColor"),o.route("scale.title","color","","color"),o.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"&&s!=="dash"}),o.describe("scales",{_fallback:"scale"}),o.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(o,s){if(!s)return o;const _=s.split(".");for(let j=0,$=_.length;j<$;++j){const et=_[j];o=o[et]||(o[et]=Object.create(null))}return o}function set(o,s,_){return typeof s=="string"?merge$1(getScope$1(o,s),_):merge$1(getScope$1(o,""),s)}class Defaults{constructor(s,_){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=j=>j.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(j,$)=>getHoverColor($.backgroundColor),this.hoverBorderColor=(j,$)=>getHoverColor($.borderColor),this.hoverColor=(j,$)=>getHoverColor($.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(s),this.apply(_)}set(s,_){return set(this,s,_)}get(s){return getScope$1(this,s)}describe(s,_){return set(descriptors,s,_)}override(s,_){return set(overrides,s,_)}route(s,_,j,$){const et=getScope$1(this,s),tt=getScope$1(this,j),nt="_"+_;Object.defineProperties(et,{[nt]:{value:et[_],writable:!0},[_]:{enumerable:!0,get(){const rt=this[nt],it=tt[$];return isObject(rt)?Object.assign({},it,rt):valueOrDefault(rt,it)},set(rt){this[nt]=rt}}})}apply(s){s.forEach(_=>_(this))}}var defaults=new Defaults({_scriptable:o=>!o.startsWith("on"),_indexable:o=>o!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(o){return!o||isNullOrUndef(o.size)||isNullOrUndef(o.family)?null:(o.style?o.style+" ":"")+(o.weight?o.weight+" ":"")+o.size+"px "+o.family}function _measureText(o,s,_,j,$){let et=s[$];return et||(et=s[$]=o.measureText($).width,_.push($)),et>j&&(j=et),j}function _longestText(o,s,_,j){j=j||{};let $=j.data=j.data||{},et=j.garbageCollect=j.garbageCollect||[];j.font!==s&&($=j.data={},et=j.garbageCollect=[],j.font=s),o.save(),o.font=s;let tt=0;const nt=_.length;let rt,it,st,Ut,ct;for(rt=0;rt_.length){for(rt=0;rt0&&o.stroke()}}function _isPointInArea(o,s,_){return _=_||.5,!s||o&&o.x>s.left-_&&o.xs.top-_&&o.y0&&et.strokeColor!=="";let rt,it;for(o.save(),o.font=$.string,setRenderOpts(o,et),rt=0;rt+o||0;function _readValueToProps(o,s){const _={},j=isObject(s),$=j?Object.keys(s):s,et=isObject(o)?j?tt=>valueOrDefault(o[tt],o[s[tt]]):tt=>o[tt]:()=>o;for(const tt of $)_[tt]=numberOrZero(et(tt));return _}function toTRBL(o){return _readValueToProps(o,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(o){return _readValueToProps(o,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(o){const s=toTRBL(o);return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function toFont(o,s){o=o||{},s=s||defaults.font;let _=valueOrDefault(o.size,s.size);typeof _=="string"&&(_=parseInt(_,10));let j=valueOrDefault(o.style,s.style);j&&!(""+j).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+j+'"'),j=void 0);const $={family:valueOrDefault(o.family,s.family),lineHeight:toLineHeight(valueOrDefault(o.lineHeight,s.lineHeight),_),size:_,style:j,weight:valueOrDefault(o.weight,s.weight),string:""};return $.string=toFontString($),$}function resolve(o,s,_,j){let $=!0,et,tt,nt;for(et=0,tt=o.length;et_&&nt===0?0:nt+rt;return{min:tt(j,-Math.abs(et)),max:tt($,et)}}function createContext(o,s){return Object.assign(Object.create(o),s)}function _createResolver(o,s=[""],_=o,j,$=()=>o[0]){defined(j)||(j=_resolve("_fallback",o));const et={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:o,_rootScopes:_,_fallback:j,_getTarget:$,override:tt=>_createResolver([tt,...o],s,_,j)};return new Proxy(et,{deleteProperty(tt,nt){return delete tt[nt],delete tt._keys,delete o[0][nt],!0},get(tt,nt){return _cached(tt,nt,()=>_resolveWithPrefixes(nt,s,o,tt))},getOwnPropertyDescriptor(tt,nt){return Reflect.getOwnPropertyDescriptor(tt._scopes[0],nt)},getPrototypeOf(){return Reflect.getPrototypeOf(o[0])},has(tt,nt){return getKeysFromAllScopes(tt).includes(nt)},ownKeys(tt){return getKeysFromAllScopes(tt)},set(tt,nt,rt){const it=tt._storage||(tt._storage=$());return tt[nt]=it[nt]=rt,delete tt._keys,!0}})}function _attachContext(o,s,_,j){const $={_cacheable:!1,_proxy:o,_context:s,_subProxy:_,_stack:new Set,_descriptors:_descriptors(o,j),setContext:et=>_attachContext(o,et,_,j),override:et=>_attachContext(o.override(et),s,_,j)};return new Proxy($,{deleteProperty(et,tt){return delete et[tt],delete o[tt],!0},get(et,tt,nt){return _cached(et,tt,()=>_resolveWithContext(et,tt,nt))},getOwnPropertyDescriptor(et,tt){return et._descriptors.allKeys?Reflect.has(o,tt)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(o,tt)},getPrototypeOf(){return Reflect.getPrototypeOf(o)},has(et,tt){return Reflect.has(o,tt)},ownKeys(){return Reflect.ownKeys(o)},set(et,tt,nt){return o[tt]=nt,delete et[tt],!0}})}function _descriptors(o,s={scriptable:!0,indexable:!0}){const{_scriptable:_=s.scriptable,_indexable:j=s.indexable,_allKeys:$=s.allKeys}=o;return{allKeys:$,scriptable:_,indexable:j,isScriptable:isFunction(_)?_:()=>_,isIndexable:isFunction(j)?j:()=>j}}const readKey=(o,s)=>o?o+_capitalize(s):s,needsSubResolver=(o,s)=>isObject(s)&&o!=="adapters"&&(Object.getPrototypeOf(s)===null||s.constructor===Object);function _cached(o,s,_){if(Object.prototype.hasOwnProperty.call(o,s))return o[s];const j=_();return o[s]=j,j}function _resolveWithContext(o,s,_){const{_proxy:j,_context:$,_subProxy:et,_descriptors:tt}=o;let nt=j[s];return isFunction(nt)&&tt.isScriptable(s)&&(nt=_resolveScriptable(s,nt,o,_)),isArray(nt)&&nt.length&&(nt=_resolveArray(s,nt,o,tt.isIndexable)),needsSubResolver(s,nt)&&(nt=_attachContext(nt,$,et&&et[s],tt)),nt}function _resolveScriptable(o,s,_,j){const{_proxy:$,_context:et,_subProxy:tt,_stack:nt}=_;if(nt.has(o))throw new Error("Recursion detected: "+Array.from(nt).join("->")+"->"+o);return nt.add(o),s=s(et,tt||j),nt.delete(o),needsSubResolver(o,s)&&(s=createSubResolver($._scopes,$,o,s)),s}function _resolveArray(o,s,_,j){const{_proxy:$,_context:et,_subProxy:tt,_descriptors:nt}=_;if(defined(et.index)&&j(o))s=s[et.index%s.length];else if(isObject(s[0])){const rt=s,it=$._scopes.filter(st=>st!==rt);s=[];for(const st of rt){const Ut=createSubResolver(it,$,o,st);s.push(_attachContext(Ut,et,tt&&tt[o],nt))}}return s}function resolveFallback(o,s,_){return isFunction(o)?o(s,_):o}const getScope=(o,s)=>o===!0?s:typeof o=="string"?resolveObjectKey(s,o):void 0;function addScopes(o,s,_,j,$){for(const et of s){const tt=getScope(_,et);if(tt){o.add(tt);const nt=resolveFallback(tt._fallback,_,$);if(defined(nt)&&nt!==_&&nt!==j)return nt}else if(tt===!1&&defined(j)&&_!==j)return null}return!1}function createSubResolver(o,s,_,j){const $=s._rootScopes,et=resolveFallback(s._fallback,_,j),tt=[...o,...$],nt=new Set;nt.add(j);let rt=addScopesFromKey(nt,tt,_,et||_,j);return rt===null||defined(et)&&et!==_&&(rt=addScopesFromKey(nt,tt,et,rt,j),rt===null)?!1:_createResolver(Array.from(nt),[""],$,et,()=>subGetTarget(s,_,j))}function addScopesFromKey(o,s,_,j,$){for(;_;)_=addScopes(o,s,_,j,$);return _}function subGetTarget(o,s,_){const j=o._getTarget();s in j||(j[s]={});const $=j[s];return isArray($)&&isObject(_)?_:$||{}}function _resolveWithPrefixes(o,s,_,j){let $;for(const et of s)if($=_resolve(readKey(et,o),_),defined($))return needsSubResolver(o,$)?createSubResolver(_,j,o,$):$}function _resolve(o,s){for(const _ of s){if(!_)continue;const j=_[o];if(defined(j))return j}}function getKeysFromAllScopes(o){let s=o._keys;return s||(s=o._keys=resolveKeysFromAllScopes(o._scopes)),s}function resolveKeysFromAllScopes(o){const s=new Set;for(const _ of o)for(const j of Object.keys(_).filter($=>!$.startsWith("_")))s.add(j);return Array.from(s)}function _parseObjectDataRadialScale(o,s,_,j){const{iScale:$}=o,{key:et="r"}=this._parsing,tt=new Array(j);let nt,rt,it,st;for(nt=0,rt=j;ntso==="x"?"y":"x";function splineCurve(o,s,_,j){const $=o.skip?s:o,et=s,tt=_.skip?s:_,nt=distanceBetweenPoints(et,$),rt=distanceBetweenPoints(tt,et);let it=nt/(nt+rt),st=rt/(nt+rt);it=isNaN(it)?0:it,st=isNaN(st)?0:st;const Ut=j*it,ct=j*st;return{previous:{x:et.x-Ut*(tt.x-$.x),y:et.y-Ut*(tt.y-$.y)},next:{x:et.x+ct*(tt.x-$.x),y:et.y+ct*(tt.y-$.y)}}}function monotoneAdjust(o,s,_){const j=o.length;let $,et,tt,nt,rt,it=getPoint(o,0);for(let st=0;st!it.skip)),s.cubicInterpolationMode==="monotone")splineCurveMonotone(o,$);else{let it=j?o[o.length-1]:o[0];for(et=0,tt=o.length;eto.ownerDocument.defaultView.getComputedStyle(o,null);function getStyle(o,s){return getComputedStyle(o).getPropertyValue(s)}const positions=["top","right","bottom","left"];function getPositionedStyle(o,s,_){const j={};_=_?"-"+_:"";for(let $=0;$<4;$++){const et=positions[$];j[et]=parseFloat(o[s+"-"+et+_])||0}return j.width=j.left+j.right,j.height=j.top+j.bottom,j}const useOffsetPos=(o,s,_)=>(o>0||s>0)&&(!_||!_.shadowRoot);function getCanvasPosition(o,s){const _=o.touches,j=_&&_.length?_[0]:o,{offsetX:$,offsetY:et}=j;let tt=!1,nt,rt;if(useOffsetPos($,et,o.target))nt=$,rt=et;else{const it=s.getBoundingClientRect();nt=j.clientX-it.left,rt=j.clientY-it.top,tt=!0}return{x:nt,y:rt,box:tt}}function getRelativePosition(o,s){if("native"in o)return o;const{canvas:_,currentDevicePixelRatio:j}=s,$=getComputedStyle(_),et=$.boxSizing==="border-box",tt=getPositionedStyle($,"padding"),nt=getPositionedStyle($,"border","width"),{x:rt,y:it,box:st}=getCanvasPosition(o,_),Ut=tt.left+(st&&nt.left),ct=tt.top+(st&&nt.top);let{width:Ft,height:ut}=s;return et&&(Ft-=tt.width+nt.width,ut-=tt.height+nt.height),{x:Math.round((rt-Ut)/Ft*_.width/j),y:Math.round((it-ct)/ut*_.height/j)}}function getContainerSize(o,s,_){let j,$;if(s===void 0||_===void 0){const et=_getParentNode(o);if(!et)s=o.clientWidth,_=o.clientHeight;else{const tt=et.getBoundingClientRect(),nt=getComputedStyle(et),rt=getPositionedStyle(nt,"border","width"),it=getPositionedStyle(nt,"padding");s=tt.width-it.width-rt.width,_=tt.height-it.height-rt.height,j=parseMaxStyle(nt.maxWidth,et,"clientWidth"),$=parseMaxStyle(nt.maxHeight,et,"clientHeight")}}return{width:s,height:_,maxWidth:j||INFINITY,maxHeight:$||INFINITY}}const round1=o=>Math.round(o*10)/10;function getMaximumSize(o,s,_,j){const $=getComputedStyle(o),et=getPositionedStyle($,"margin"),tt=parseMaxStyle($.maxWidth,o,"clientWidth")||INFINITY,nt=parseMaxStyle($.maxHeight,o,"clientHeight")||INFINITY,rt=getContainerSize(o,s,_);let{width:it,height:st}=rt;if($.boxSizing==="content-box"){const ct=getPositionedStyle($,"border","width"),Ft=getPositionedStyle($,"padding");it-=Ft.width+ct.width,st-=Ft.height+ct.height}return it=Math.max(0,it-et.width),st=Math.max(0,j?it/j:st-et.height),it=round1(Math.min(it,tt,rt.maxWidth)),st=round1(Math.min(st,nt,rt.maxHeight)),it&&!st&&(st=round1(it/2)),(s!==void 0||_!==void 0)&&j&&rt.height&&st>rt.height&&(st=rt.height,it=round1(Math.floor(st*j))),{width:it,height:st}}function retinaScale(o,s,_){const j=s||1,$=Math.floor(o.height*j),et=Math.floor(o.width*j);o.height=Math.floor(o.height),o.width=Math.floor(o.width);const tt=o.canvas;return tt.style&&(_||!tt.style.height&&!tt.style.width)&&(tt.style.height=`${o.height}px`,tt.style.width=`${o.width}px`),o.currentDevicePixelRatio!==j||tt.height!==$||tt.width!==et?(o.currentDevicePixelRatio=j,tt.height=$,tt.width=et,o.ctx.setTransform(j,0,0,j,0,0),!0):!1}const supportsEventListenerOptions=function(){let o=!1;try{const s={get passive(){return o=!0,!1}};window.addEventListener("test",null,s),window.removeEventListener("test",null,s)}catch{}return o}();function readUsedSize(o,s){const _=getStyle(o,s),j=_&&_.match(/^(\d+)(\.\d+)?px$/);return j?+j[1]:void 0}function _pointInLine(o,s,_,j){return{x:o.x+_*(s.x-o.x),y:o.y+_*(s.y-o.y)}}function _steppedInterpolation(o,s,_,j){return{x:o.x+_*(s.x-o.x),y:j==="middle"?_<.5?o.y:s.y:j==="after"?_<1?o.y:s.y:_>0?s.y:o.y}}function _bezierInterpolation(o,s,_,j){const $={x:o.cp2x,y:o.cp2y},et={x:s.cp1x,y:s.cp1y},tt=_pointInLine(o,$,_),nt=_pointInLine($,et,_),rt=_pointInLine(et,s,_),it=_pointInLine(tt,nt,_),st=_pointInLine(nt,rt,_);return _pointInLine(it,st,_)}const getRightToLeftAdapter=function(o,s){return{x(_){return o+o+s-_},setWidth(_){s=_},textAlign(_){return _==="center"?_:_==="right"?"left":"right"},xPlus(_,j){return _-j},leftForLtr(_,j){return _-j}}},getLeftToRightAdapter=function(){return{x(o){return o},setWidth(o){},textAlign(o){return o},xPlus(o,s){return o+s},leftForLtr(o,s){return o}}};function getRtlAdapter(o,s,_){return o?getRightToLeftAdapter(s,_):getLeftToRightAdapter()}function overrideTextDirection(o,s){let _,j;(s==="ltr"||s==="rtl")&&(_=o.canvas.style,j=[_.getPropertyValue("direction"),_.getPropertyPriority("direction")],_.setProperty("direction",s,"important"),o.prevTextDirection=j)}function restoreTextDirection(o,s){s!==void 0&&(delete o.prevTextDirection,o.canvas.style.setProperty("direction",s[0],s[1]))}function propertyFn(o){return o==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(s,_)=>s-_,normalize:s=>s}}function normalizeSegment({start:o,end:s,count:_,loop:j,style:$}){return{start:o%_,end:s%_,loop:j&&(s-o+1)%_===0,style:$}}function getSegment(o,s,_){const{property:j,start:$,end:et}=_,{between:tt,normalize:nt}=propertyFn(j),rt=s.length;let{start:it,end:st,loop:Ut}=o,ct,Ft;if(Ut){for(it+=rt,st+=rt,ct=0,Ft=rt;ctrt($,ht,ft)&&nt($,ht)!==0,Rt=()=>nt(et,ft)===0||rt(et,ht,ft),Dt=()=>Qt||Vt(),Ct=()=>!Qt||Rt();for(let Mt=st,yt=st;Mt<=Ut;++Mt)mt=s[Mt%tt],!mt.skip&&(ft=it(mt[j]),ft!==ht&&(Qt=rt(ft,$,et),pt===null&&Dt()&&(pt=nt(ft,$)===0?Mt:yt),pt!==null&&Ct()&&(ut.push(normalizeSegment({start:pt,end:Mt,loop:ct,count:tt,style:Ft})),pt=null),yt=Mt,ht=ft));return pt!==null&&ut.push(normalizeSegment({start:pt,end:Ut,loop:ct,count:tt,style:Ft})),ut}function _boundSegments(o,s){const _=[],j=o.segments;for(let $=0;$$&&o[et%s].skip;)et--;return et%=s,{start:$,end:et}}function solidSegments(o,s,_,j){const $=o.length,et=[];let tt=s,nt=o[s],rt;for(rt=s+1;rt<=_;++rt){const it=o[rt%$];it.skip||it.stop?nt.skip||(j=!1,et.push({start:s%$,end:(rt-1)%$,loop:j}),s=tt=it.stop?rt:null):(tt=rt,nt.skip&&(s=rt)),nt=it}return tt!==null&&et.push({start:s%$,end:tt%$,loop:j}),et}function _computeSegments(o,s){const _=o.points,j=o.options.spanGaps,$=_.length;if(!$)return[];const et=!!o._loop,{start:tt,end:nt}=findStartAndEnd(_,$,et,j);if(j===!0)return splitByStyles(o,[{start:tt,end:nt,loop:et}],_,s);const rt=ntnt({chart:s,initial:_.initial,numSteps:tt,currentStep:Math.min(j-_.start,tt)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(s=Date.now()){let _=0;this._charts.forEach((j,$)=>{if(!j.running||!j.items.length)return;const et=j.items;let tt=et.length-1,nt=!1,rt;for(;tt>=0;--tt)rt=et[tt],rt._active?(rt._total>j.duration&&(j.duration=rt._total),rt.tick(s),nt=!0):(et[tt]=et[et.length-1],et.pop());nt&&($.draw(),this._notify($,j,s,"progress")),et.length||(j.running=!1,this._notify($,j,s,"complete"),j.initial=!1),_+=et.length}),this._lastDate=s,_===0&&(this._running=!1)}_getAnims(s){const _=this._charts;let j=_.get(s);return j||(j={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},_.set(s,j)),j}listen(s,_,j){this._getAnims(s).listeners[_].push(j)}add(s,_){!_||!_.length||this._getAnims(s).items.push(..._)}has(s){return this._getAnims(s).items.length>0}start(s){const _=this._charts.get(s);_&&(_.running=!0,_.start=Date.now(),_.duration=_.items.reduce((j,$)=>Math.max(j,$._duration),0),this._refresh())}running(s){if(!this._running)return!1;const _=this._charts.get(s);return!(!_||!_.running||!_.items.length)}stop(s){const _=this._charts.get(s);if(!_||!_.items.length)return;const j=_.items;let $=j.length-1;for(;$>=0;--$)j[$].cancel();_.items=[],this._notify(s,_,Date.now(),"complete")}remove(s){return this._charts.delete(s)}}var animator=new Animator;const transparent="transparent",interpolators={boolean(o,s,_){return _>.5?s:o},color(o,s,_){const j=color(o||transparent),$=j.valid&&color(s||transparent);return $&&$.valid?$.mix(j,_).hexString():s},number(o,s,_){return o+(s-o)*_}};class Animation{constructor(s,_,j,$){const et=_[j];$=resolve([s.to,$,et,s.from]);const tt=resolve([s.from,et,$]);this._active=!0,this._fn=s.fn||interpolators[s.type||typeof tt],this._easing=effects[s.easing]||effects.linear,this._start=Math.floor(Date.now()+(s.delay||0)),this._duration=this._total=Math.floor(s.duration),this._loop=!!s.loop,this._target=_,this._prop=j,this._from=tt,this._to=$,this._promises=void 0}active(){return this._active}update(s,_,j){if(this._active){this._notify(!1);const $=this._target[this._prop],et=j-this._start,tt=this._duration-et;this._start=j,this._duration=Math.floor(Math.max(tt,s.duration)),this._total+=et,this._loop=!!s.loop,this._to=resolve([s.to,_,$,s.from]),this._from=resolve([s.from,$,_])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(s){const _=s-this._start,j=this._duration,$=this._prop,et=this._from,tt=this._loop,nt=this._to;let rt;if(this._active=et!==nt&&(tt||_1?2-rt:rt,rt=this._easing(Math.min(1,Math.max(0,rt))),this._target[$]=this._fn(et,nt,rt)}wait(){const s=this._promises||(this._promises=[]);return new Promise((_,j)=>{s.push({res:_,rej:j})})}_notify(s){const _=s?"res":"rej",j=this._promises||[];for(let $=0;${const et=s[$];if(!isObject(et))return;const tt={};for(const nt of _)tt[nt]=et[nt];(isArray(et.properties)&&et.properties||[$]).forEach(nt=>{(nt===$||!j.has(nt))&&j.set(nt,tt)})})}_animateOptions(s,_){const j=_.options,$=resolveTargetOptions(s,j);if(!$)return[];const et=this._createAnimations($,j);return j.$shared&&awaitAll(s.options.$animations,j).then(()=>{s.options=j},()=>{}),et}_createAnimations(s,_){const j=this._properties,$=[],et=s.$animations||(s.$animations={}),tt=Object.keys(_),nt=Date.now();let rt;for(rt=tt.length-1;rt>=0;--rt){const it=tt[rt];if(it.charAt(0)==="$")continue;if(it==="options"){$.push(...this._animateOptions(s,_));continue}const st=_[it];let Ut=et[it];const ct=j.get(it);if(Ut)if(ct&&Ut.active()){Ut.update(ct,st,nt);continue}else Ut.cancel();if(!ct||!ct.duration){s[it]=st;continue}et[it]=Ut=new Animation(ct,s,it,st),$.push(Ut)}return $}update(s,_){if(this._properties.size===0){Object.assign(s,_);return}const j=this._createAnimations(s,_);if(j.length)return animator.add(this._chart,j),!0}}function awaitAll(o,s){const _=[],j=Object.keys(s);for(let $=0;$0||!_&&et<0)return $.index}return null}function updateStacks(o,s){const{chart:_,_cachedMeta:j}=o,$=_._stacks||(_._stacks={}),{iScale:et,vScale:tt,index:nt}=j,rt=et.axis,it=tt.axis,st=getStackKey(et,tt,j),Ut=s.length;let ct;for(let Ft=0;Ft_[j].axis===s).shift()}function createDatasetContext(o,s){return createContext(o,{active:!1,dataset:void 0,datasetIndex:s,index:s,mode:"default",type:"dataset"})}function createDataContext(o,s,_){return createContext(o,{active:!1,dataIndex:s,parsed:void 0,raw:void 0,element:_,index:s,mode:"default",type:"data"})}function clearStacks(o,s){const _=o.controller.index,j=o.vScale&&o.vScale.axis;if(j){s=s||o._parsed;for(const $ of s){const et=$._stacks;if(!et||et[j]===void 0||et[j][_]===void 0)return;delete et[j][_],et[j]._visualValues!==void 0&&et[j]._visualValues[_]!==void 0&&delete et[j]._visualValues[_]}}}const isDirectUpdateMode=o=>o==="reset"||o==="none",cloneIfNotShared=(o,s)=>s?o:Object.assign({},o),createStack=(o,s,_)=>o&&!s.hidden&&s._stacked&&{keys:getSortedDatasetIndices(_,!0),values:null};class DatasetController{constructor(s,_){this.chart=s,this._ctx=s.ctx,this.index=_,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const s=this._cachedMeta;this.configure(),this.linkScales(),s._stacked=isStacked(s.vScale,s),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(s){this.index!==s&&clearStacks(this._cachedMeta),this.index=s}linkScales(){const s=this.chart,_=this._cachedMeta,j=this.getDataset(),$=(Ut,ct,Ft,ut)=>Ut==="x"?ct:Ut==="r"?ut:Ft,et=_.xAxisID=valueOrDefault(j.xAxisID,getFirstScaleId(s,"x")),tt=_.yAxisID=valueOrDefault(j.yAxisID,getFirstScaleId(s,"y")),nt=_.rAxisID=valueOrDefault(j.rAxisID,getFirstScaleId(s,"r")),rt=_.indexAxis,it=_.iAxisID=$(rt,et,tt,nt),st=_.vAxisID=$(rt,tt,et,nt);_.xScale=this.getScaleForId(et),_.yScale=this.getScaleForId(tt),_.rScale=this.getScaleForId(nt),_.iScale=this.getScaleForId(it),_.vScale=this.getScaleForId(st)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(s){return this.chart.scales[s]}_getOtherScale(s){const _=this._cachedMeta;return s===_.iScale?_.vScale:_.iScale}reset(){this._update("reset")}_destroy(){const s=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),s._stacked&&clearStacks(s)}_dataCheck(){const s=this.getDataset(),_=s.data||(s.data=[]),j=this._data;if(isObject(_))this._data=convertObjectDataToArray(_);else if(j!==_){if(j){unlistenArrayEvents(j,this);const $=this._cachedMeta;clearStacks($),$._parsed=[]}_&&Object.isExtensible(_)&&listenArrayEvents(_,this),this._syncList=[],this._data=_}}addElements(){const s=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(s.dataset=new this.datasetElementType)}buildOrUpdateElements(s){const _=this._cachedMeta,j=this.getDataset();let $=!1;this._dataCheck();const et=_._stacked;_._stacked=isStacked(_.vScale,_),_.stack!==j.stack&&($=!0,clearStacks(_),_.stack=j.stack),this._resyncElements(s),($||et!==_._stacked)&&updateStacks(this,_._parsed)}configure(){const s=this.chart.config,_=s.datasetScopeKeys(this._type),j=s.getOptionScopes(this.getDataset(),_,!0);this.options=s.createResolver(j,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(s,_){const{_cachedMeta:j,_data:$}=this,{iScale:et,_stacked:tt}=j,nt=et.axis;let rt=s===0&&_===$.length?!0:j._sorted,it=s>0&&j._parsed[s-1],st,Ut,ct;if(this._parsing===!1)j._parsed=$,j._sorted=!0,ct=$;else{isArray($[s])?ct=this.parseArrayData(j,$,s,_):isObject($[s])?ct=this.parseObjectData(j,$,s,_):ct=this.parsePrimitiveData(j,$,s,_);const Ft=()=>Ut[nt]===null||it&&Ut[nt]Qt||Ut=0;--ct)if(!ut()){this.updateRangeFromParsed(it,s,Ft,rt);break}}return it}getAllParsedValues(s){const _=this._cachedMeta._parsed,j=[];let $,et,tt;for($=0,et=_.length;$=0&&sthis.getContext(j,$,_),Qt=it.resolveNamedOptions(ct,Ft,ut,Ut);return Qt.$shared&&(Qt.$shared=rt,et[tt]=Object.freeze(cloneIfNotShared(Qt,rt))),Qt}_resolveAnimations(s,_,j){const $=this.chart,et=this._cachedDataOpts,tt=`animation-${_}`,nt=et[tt];if(nt)return nt;let rt;if($.options.animation!==!1){const st=this.chart.config,Ut=st.datasetAnimationScopeKeys(this._type,_),ct=st.getOptionScopes(this.getDataset(),Ut);rt=st.createResolver(ct,this.getContext(s,j,_))}const it=new Animations($,rt&&rt.animations);return rt&&rt._cacheable&&(et[tt]=Object.freeze(it)),it}getSharedOptions(s){if(s.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},s))}includeOptions(s,_){return!_||isDirectUpdateMode(s)||this.chart._animationsDisabled}_getSharedOptions(s,_){const j=this.resolveDataElementOptions(s,_),$=this._sharedOptions,et=this.getSharedOptions(j),tt=this.includeOptions(_,et)||et!==$;return this.updateSharedOptions(et,_,j),{sharedOptions:et,includeOptions:tt}}updateElement(s,_,j,$){isDirectUpdateMode($)?Object.assign(s,j):this._resolveAnimations(_,$).update(s,j)}updateSharedOptions(s,_,j){s&&!isDirectUpdateMode(_)&&this._resolveAnimations(void 0,_).update(s,j)}_setStyle(s,_,j,$){s.active=$;const et=this.getStyle(_,$);this._resolveAnimations(_,j,$).update(s,{options:!$&&this.getSharedOptions(et)||et})}removeHoverStyle(s,_,j){this._setStyle(s,j,"active",!1)}setHoverStyle(s,_,j){this._setStyle(s,j,"active",!0)}_removeDatasetHoverStyle(){const s=this._cachedMeta.dataset;s&&this._setStyle(s,void 0,"active",!1)}_setDatasetHoverStyle(){const s=this._cachedMeta.dataset;s&&this._setStyle(s,void 0,"active",!0)}_resyncElements(s){const _=this._data,j=this._cachedMeta.data;for(const[nt,rt,it]of this._syncList)this[nt](rt,it);this._syncList=[];const $=j.length,et=_.length,tt=Math.min(et,$);tt&&this.parse(0,tt),et>$?this._insertElements($,et-$,s):et<$&&this._removeElements(et,$-et)}_insertElements(s,_,j=!0){const $=this._cachedMeta,et=$.data,tt=s+_;let nt;const rt=it=>{for(it.length+=_,nt=it.length-1;nt>=tt;nt--)it[nt]=it[nt-_]};for(rt(et),nt=s;nt$-et))}return o._cache.$bar}function computeMinSampleSize(o){const s=o.iScale,_=getAllScaleValues(s,o.type);let j=s._length,$,et,tt,nt;const rt=()=>{tt===32767||tt===-32768||(defined(nt)&&(j=Math.min(j,Math.abs(tt-nt)||j)),nt=tt)};for($=0,et=_.length;$0?$[o-1]:null,nt=o<$.length-1?$[o+1]:null;const rt=_.categoryPercentage;tt===null&&(tt=et-(nt===null?s.end-s.start:nt-et)),nt===null&&(nt=et+et-tt);const it=et-(et-Math.min(tt,nt))/2*rt;return{chunk:Math.abs(nt-tt)/2*rt/j,ratio:_.barPercentage,start:it}}function parseFloatBar(o,s,_,j){const $=_.parse(o[0],j),et=_.parse(o[1],j),tt=Math.min($,et),nt=Math.max($,et);let rt=tt,it=nt;Math.abs(tt)>Math.abs(nt)&&(rt=nt,it=tt),s[_.axis]=it,s._custom={barStart:rt,barEnd:it,start:$,end:et,min:tt,max:nt}}function parseValue(o,s,_,j){return isArray(o)?parseFloatBar(o,s,_,j):s[_.axis]=_.parse(o,j),s}function parseArrayOrPrimitive(o,s,_,j){const $=o.iScale,et=o.vScale,tt=$.getLabels(),nt=$===et,rt=[];let it,st,Ut,ct;for(it=_,st=_+j;it=_?1:-1)}function borderProps(o){let s,_,j,$,et;return o.horizontal?(s=o.base>o.x,_="left",j="right"):(s=o.basert.controller.options.grouped),et=j.options.stacked,tt=[],nt=rt=>{const it=rt.controller.getParsed(_),st=it&&it[rt.vScale.axis];if(isNullOrUndef(st)||isNaN(st))return!0};for(const rt of $)if(!(_!==void 0&&nt(rt))&&((et===!1||tt.indexOf(rt.stack)===-1||et===void 0&&rt.stack===void 0)&&tt.push(rt.stack),rt.index===s))break;return tt.length||tt.push(void 0),tt}_getStackCount(s){return this._getStacks(void 0,s).length}_getStackIndex(s,_,j){const $=this._getStacks(s,j),et=_!==void 0?$.indexOf(_):-1;return et===-1?$.length-1:et}_getRuler(){const s=this.options,_=this._cachedMeta,j=_.iScale,$=[];let et,tt;for(et=0,tt=_.data.length;et=0;--j)_=Math.max(_,s[j].size(this.resolveDataElementOptions(j))/2);return _>0&&_}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart.data.labels||[],{xScale:$,yScale:et}=_,tt=this.getParsed(s),nt=$.getLabelForValue(tt.x),rt=et.getLabelForValue(tt.y),it=tt._custom;return{label:j[s]||"",value:"("+nt+", "+rt+(it?", "+it:"")+")"}}update(s){const _=this._cachedMeta.data;this.updateElements(_,0,_.length,s)}updateElements(s,_,j,$){const et=$==="reset",{iScale:tt,vScale:nt}=this._cachedMeta,{sharedOptions:rt,includeOptions:it}=this._getSharedOptions(_,$),st=tt.axis,Ut=nt.axis;for(let ct=_;ct<_+j;ct++){const Ft=s[ct],ut=!et&&this.getParsed(ct),Qt={},pt=Qt[st]=et?tt.getPixelForDecimal(.5):tt.getPixelForValue(ut[st]),ft=Qt[Ut]=et?nt.getBasePixel():nt.getPixelForValue(ut[Ut]);Qt.skip=isNaN(pt)||isNaN(ft),it&&(Qt.options=rt||this.resolveDataElementOptions(ct,Ft.active?"active":$),et&&(Qt.options.radius=0)),this.updateElement(Ft,ct,Qt,$)}}resolveDataElementOptions(s,_){const j=this.getParsed(s);let $=super.resolveDataElementOptions(s,_);$.$shared&&($=Object.assign({},$,{$shared:!1}));const et=$.radius;return _!=="active"&&($.radius=0),$.radius+=valueOrDefault(j&&j._custom,et),$}}fr(BubbleController,"id","bubble"),fr(BubbleController,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),fr(BubbleController,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});function getRatioAndOffset(o,s,_){let j=1,$=1,et=0,tt=0;if(s_angleBetween(ht,nt,rt,!0)?1:Math.max(Vt,Vt*_,Rt,Rt*_),ut=(ht,Vt,Rt)=>_angleBetween(ht,nt,rt,!0)?-1:Math.min(Vt,Vt*_,Rt,Rt*_),Qt=Ft(0,it,Ut),pt=Ft(HALF_PI,st,ct),ft=ut(PI,it,Ut),mt=ut(PI+HALF_PI,st,ct);j=(Qt-ft)/2,$=(pt-mt)/2,et=-(Qt+ft)/2,tt=-(pt+mt)/2}return{ratioX:j,ratioY:$,offsetX:et,offsetY:tt}}class DoughnutController extends DatasetController{constructor(s,_){super(s,_),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(s,_){const j=this.getDataset().data,$=this._cachedMeta;if(this._parsing===!1)$._parsed=j;else{let et=rt=>+j[rt];if(isObject(j[s])){const{key:rt="value"}=this._parsing;et=it=>+resolveObjectKey(j[it],rt)}let tt,nt;for(tt=s,nt=s+_;tt0&&!isNaN(s)?TAU*(Math.abs(s)/_):0}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart,$=j.data.labels||[],et=formatNumber(_._parsed[s],j.options.locale);return{label:$[s]||"",value:et}}getMaxBorderWidth(s){let _=0;const j=this.chart;let $,et,tt,nt,rt;if(!s){for($=0,et=j.data.datasets.length;$s!=="spacing",_indexable:s=>s!=="spacing"}),fr(DoughnutController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const _=s.data;if(_.labels.length&&_.datasets.length){const{labels:{pointStyle:j,color:$}}=s.legend.options;return _.labels.map((et,tt)=>{const rt=s.getDatasetMeta(0).controller.getStyle(tt);return{text:et,fillStyle:rt.backgroundColor,strokeStyle:rt.borderColor,fontColor:$,lineWidth:rt.borderWidth,pointStyle:j,hidden:!s.getDataVisibility(tt),index:tt}})}return[]}},onClick(s,_,j){j.chart.toggleDataVisibility(_.index),j.chart.update()}}}});class LineController extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(s){const _=this._cachedMeta,{dataset:j,data:$=[],_dataset:et}=_,tt=this.chart._animationsDisabled;let{start:nt,count:rt}=_getStartAndCountOfVisiblePoints(_,$,tt);this._drawStart=nt,this._drawCount=rt,_scaleRangesChanged(_)&&(nt=0,rt=$.length),j._chart=this.chart,j._datasetIndex=this.index,j._decimated=!!et._decimated,j.points=$;const it=this.resolveDatasetElementOptions(s);this.options.showLine||(it.borderWidth=0),it.segment=this.options.segment,this.updateElement(j,void 0,{animated:!tt,options:it},s),this.updateElements($,nt,rt,s)}updateElements(s,_,j,$){const et=$==="reset",{iScale:tt,vScale:nt,_stacked:rt,_dataset:it}=this._cachedMeta,{sharedOptions:st,includeOptions:Ut}=this._getSharedOptions(_,$),ct=tt.axis,Ft=nt.axis,{spanGaps:ut,segment:Qt}=this.options,pt=isNumber(ut)?ut:Number.POSITIVE_INFINITY,ft=this.chart._animationsDisabled||et||$==="none",mt=_+j,ht=s.length;let Vt=_>0&&this.getParsed(_-1);for(let Rt=0;Rt=mt){Ct.skip=!0;continue}const Mt=this.getParsed(Rt),yt=isNullOrUndef(Mt[Ft]),Yt=Ct[ct]=tt.getPixelForValue(Mt[ct],Rt),Zt=Ct[Ft]=et||yt?nt.getBasePixel():nt.getPixelForValue(rt?this.applyStack(nt,Mt,rt):Mt[Ft],Rt);Ct.skip=isNaN(Yt)||isNaN(Zt)||yt,Ct.stop=Rt>0&&Math.abs(Mt[ct]-Vt[ct])>pt,Qt&&(Ct.parsed=Mt,Ct.raw=it.data[Rt]),Ut&&(Ct.options=st||this.resolveDataElementOptions(Rt,Dt.active?"active":$)),ft||this.updateElement(Dt,Rt,Ct,$),Vt=Mt}}getMaxOverflow(){const s=this._cachedMeta,_=s.dataset,j=_.options&&_.options.borderWidth||0,$=s.data||[];if(!$.length)return j;const et=$[0].size(this.resolveDataElementOptions(0)),tt=$[$.length-1].size(this.resolveDataElementOptions($.length-1));return Math.max(j,et,tt)/2}draw(){const s=this._cachedMeta;s.dataset.updateControlPoints(this.chart.chartArea,s.iScale.axis),super.draw()}}fr(LineController,"id","line"),fr(LineController,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),fr(LineController,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class PolarAreaController extends DatasetController{constructor(s,_){super(s,_),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart,$=j.data.labels||[],et=formatNumber(_._parsed[s].r,j.options.locale);return{label:$[s]||"",value:et}}parseObjectData(s,_,j,$){return _parseObjectDataRadialScale.bind(this)(s,_,j,$)}update(s){const _=this._cachedMeta.data;this._updateRadius(),this.updateElements(_,0,_.length,s)}getMinMax(){const s=this._cachedMeta,_={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return s.data.forEach((j,$)=>{const et=this.getParsed($).r;!isNaN(et)&&this.chart.getDataVisibility($)&&(et<_.min&&(_.min=et),et>_.max&&(_.max=et))}),_}_updateRadius(){const s=this.chart,_=s.chartArea,j=s.options,$=Math.min(_.right-_.left,_.bottom-_.top),et=Math.max($/2,0),tt=Math.max(j.cutoutPercentage?et/100*j.cutoutPercentage:1,0),nt=(et-tt)/s.getVisibleDatasetCount();this.outerRadius=et-nt*this.index,this.innerRadius=this.outerRadius-nt}updateElements(s,_,j,$){const et=$==="reset",tt=this.chart,rt=tt.options.animation,it=this._cachedMeta.rScale,st=it.xCenter,Ut=it.yCenter,ct=it.getIndexAngle(0)-.5*PI;let Ft=ct,ut;const Qt=360/this.countVisibleElements();for(ut=0;ut<_;++ut)Ft+=this._computeAngle(ut,$,Qt);for(ut=_;ut<_+j;ut++){const pt=s[ut];let ft=Ft,mt=Ft+this._computeAngle(ut,$,Qt),ht=tt.getDataVisibility(ut)?it.getDistanceFromCenterForValue(this.getParsed(ut).r):0;Ft=mt,et&&(rt.animateScale&&(ht=0),rt.animateRotate&&(ft=mt=ct));const Vt={x:st,y:Ut,innerRadius:0,outerRadius:ht,startAngle:ft,endAngle:mt,options:this.resolveDataElementOptions(ut,pt.active?"active":$)};this.updateElement(pt,ut,Vt,$)}}countVisibleElements(){const s=this._cachedMeta;let _=0;return s.data.forEach((j,$)=>{!isNaN(this.getParsed($).r)&&this.chart.getDataVisibility($)&&_++}),_}_computeAngle(s,_,j){return this.chart.getDataVisibility(s)?toRadians(this.resolveDataElementOptions(s,_).angle||j):0}}fr(PolarAreaController,"id","polarArea"),fr(PolarAreaController,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),fr(PolarAreaController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const _=s.data;if(_.labels.length&&_.datasets.length){const{labels:{pointStyle:j,color:$}}=s.legend.options;return _.labels.map((et,tt)=>{const rt=s.getDatasetMeta(0).controller.getStyle(tt);return{text:et,fillStyle:rt.backgroundColor,strokeStyle:rt.borderColor,fontColor:$,lineWidth:rt.borderWidth,pointStyle:j,hidden:!s.getDataVisibility(tt),index:tt}})}return[]}},onClick(s,_,j){j.chart.toggleDataVisibility(_.index),j.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class PieController extends DoughnutController{}fr(PieController,"id","pie"),fr(PieController,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class RadarController extends DatasetController{getLabelAndValue(s){const _=this._cachedMeta.vScale,j=this.getParsed(s);return{label:_.getLabels()[s],value:""+_.getLabelForValue(j[_.axis])}}parseObjectData(s,_,j,$){return _parseObjectDataRadialScale.bind(this)(s,_,j,$)}update(s){const _=this._cachedMeta,j=_.dataset,$=_.data||[],et=_.iScale.getLabels();if(j.points=$,s!=="resize"){const tt=this.resolveDatasetElementOptions(s);this.options.showLine||(tt.borderWidth=0);const nt={_loop:!0,_fullLoop:et.length===$.length,options:tt};this.updateElement(j,void 0,nt,s)}this.updateElements($,0,$.length,s)}updateElements(s,_,j,$){const et=this._cachedMeta.rScale,tt=$==="reset";for(let nt=_;nt<_+j;nt++){const rt=s[nt],it=this.resolveDataElementOptions(nt,rt.active?"active":$),st=et.getPointPositionForValue(nt,this.getParsed(nt).r),Ut=tt?et.xCenter:st.x,ct=tt?et.yCenter:st.y,Ft={x:Ut,y:ct,angle:st.angle,skip:isNaN(Ut)||isNaN(ct),options:it};this.updateElement(rt,nt,Ft,$)}}}fr(RadarController,"id","radar"),fr(RadarController,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),fr(RadarController,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class ScatterController extends DatasetController{getLabelAndValue(s){const _=this._cachedMeta,j=this.chart.data.labels||[],{xScale:$,yScale:et}=_,tt=this.getParsed(s),nt=$.getLabelForValue(tt.x),rt=et.getLabelForValue(tt.y);return{label:j[s]||"",value:"("+nt+", "+rt+")"}}update(s){const _=this._cachedMeta,{data:j=[]}=_,$=this.chart._animationsDisabled;let{start:et,count:tt}=_getStartAndCountOfVisiblePoints(_,j,$);if(this._drawStart=et,this._drawCount=tt,_scaleRangesChanged(_)&&(et=0,tt=j.length),this.options.showLine){const{dataset:nt,_dataset:rt}=_;nt._chart=this.chart,nt._datasetIndex=this.index,nt._decimated=!!rt._decimated,nt.points=j;const it=this.resolveDatasetElementOptions(s);it.segment=this.options.segment,this.updateElement(nt,void 0,{animated:!$,options:it},s)}this.updateElements(j,et,tt,s)}addElements(){const{showLine:s}=this.options;!this.datasetElementType&&s&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(s,_,j,$){const et=$==="reset",{iScale:tt,vScale:nt,_stacked:rt,_dataset:it}=this._cachedMeta,st=this.resolveDataElementOptions(_,$),Ut=this.getSharedOptions(st),ct=this.includeOptions($,Ut),Ft=tt.axis,ut=nt.axis,{spanGaps:Qt,segment:pt}=this.options,ft=isNumber(Qt)?Qt:Number.POSITIVE_INFINITY,mt=this.chart._animationsDisabled||et||$==="none";let ht=_>0&&this.getParsed(_-1);for(let Vt=_;Vt<_+j;++Vt){const Rt=s[Vt],Dt=this.getParsed(Vt),Ct=mt?Rt:{},Mt=isNullOrUndef(Dt[ut]),yt=Ct[Ft]=tt.getPixelForValue(Dt[Ft],Vt),Yt=Ct[ut]=et||Mt?nt.getBasePixel():nt.getPixelForValue(rt?this.applyStack(nt,Dt,rt):Dt[ut],Vt);Ct.skip=isNaN(yt)||isNaN(Yt)||Mt,Ct.stop=Vt>0&&Math.abs(Dt[Ft]-ht[Ft])>ft,pt&&(Ct.parsed=Dt,Ct.raw=it.data[Vt]),ct&&(Ct.options=Ut||this.resolveDataElementOptions(Vt,Rt.active?"active":$)),mt||this.updateElement(Rt,Vt,Ct,$),ht=Dt}this.updateSharedOptions(Ut,$,st)}getMaxOverflow(){const s=this._cachedMeta,_=s.data||[];if(!this.options.showLine){let nt=0;for(let rt=_.length-1;rt>=0;--rt)nt=Math.max(nt,_[rt].size(this.resolveDataElementOptions(rt))/2);return nt>0&&nt}const j=s.dataset,$=j.options&&j.options.borderWidth||0;if(!_.length)return $;const et=_[0].size(this.resolveDataElementOptions(0)),tt=_[_.length-1].size(this.resolveDataElementOptions(_.length-1));return Math.max($,et,tt)/2}}fr(ScatterController,"id","scatter"),fr(ScatterController,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),fr(ScatterController,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PolarAreaController,PieController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{static override(s){Object.assign(DateAdapterBase.prototype,s)}constructor(s){this.options=s||{}}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(o,s,_,j){const{controller:$,data:et,_sorted:tt}=o,nt=$._cachedMeta.iScale;if(nt&&s===nt.axis&&s!=="r"&&tt&&et.length){const rt=nt._reversePixels?_rlookupByKey:_lookupByKey;if(j){if($._sharedOptions){const it=et[0],st=typeof it.getRange=="function"&&it.getRange(s);if(st){const Ut=rt(et,s,_-st),ct=rt(et,s,_+st);return{lo:Ut.lo,hi:ct.hi}}}}else return rt(et,s,_)}return{lo:0,hi:et.length-1}}function evaluateInteractionItems(o,s,_,j,$){const et=o.getSortedVisibleDatasetMetas(),tt=_[s];for(let nt=0,rt=et.length;nt{rt[tt](s[_],$)&&(et.push({element:rt,datasetIndex:it,index:st}),nt=nt||rt.inRange(s.x,s.y,$))}),j&&!nt?[]:et}var Interaction={evaluateInteractionItems,modes:{index(o,s,_,j){const $=getRelativePosition(s,o),et=_.axis||"x",tt=_.includeInvisible||!1,nt=_.intersect?getIntersectItems(o,$,et,j,tt):getNearestItems(o,$,et,!1,j,tt),rt=[];return nt.length?(o.getSortedVisibleDatasetMetas().forEach(it=>{const st=nt[0].index,Ut=it.data[st];Ut&&!Ut.skip&&rt.push({element:Ut,datasetIndex:it.index,index:st})}),rt):[]},dataset(o,s,_,j){const $=getRelativePosition(s,o),et=_.axis||"xy",tt=_.includeInvisible||!1;let nt=_.intersect?getIntersectItems(o,$,et,j,tt):getNearestItems(o,$,et,!1,j,tt);if(nt.length>0){const rt=nt[0].datasetIndex,it=o.getDatasetMeta(rt).data;nt=[];for(let st=0;st_.pos===s)}function filterDynamicPositionByAxis(o,s){return o.filter(_=>STATIC_POSITIONS.indexOf(_.pos)===-1&&_.box.axis===s)}function sortByWeight(o,s){return o.sort((_,j)=>{const $=s?j:_,et=s?_:j;return $.weight===et.weight?$.index-et.index:$.weight-et.weight})}function wrapBoxes(o){const s=[];let _,j,$,et,tt,nt;for(_=0,j=(o||[]).length;_it.box.fullSize),!0),j=sortByWeight(filterByPosition(s,"left"),!0),$=sortByWeight(filterByPosition(s,"right")),et=sortByWeight(filterByPosition(s,"top"),!0),tt=sortByWeight(filterByPosition(s,"bottom")),nt=filterDynamicPositionByAxis(s,"x"),rt=filterDynamicPositionByAxis(s,"y");return{fullSize:_,leftAndTop:j.concat(et),rightAndBottom:$.concat(rt).concat(tt).concat(nt),chartArea:filterByPosition(s,"chartArea"),vertical:j.concat($).concat(rt),horizontal:et.concat(tt).concat(nt)}}function getCombinedMax(o,s,_,j){return Math.max(o[_],s[_])+Math.max(o[j],s[j])}function updateMaxPadding(o,s){o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}function updateDims(o,s,_,j){const{pos:$,box:et}=_,tt=o.maxPadding;if(!isObject($)){_.size&&(o[$]-=_.size);const Ut=j[_.stack]||{size:0,count:1};Ut.size=Math.max(Ut.size,_.horizontal?et.height:et.width),_.size=Ut.size/Ut.count,o[$]+=_.size}et.getPadding&&updateMaxPadding(tt,et.getPadding());const nt=Math.max(0,s.outerWidth-getCombinedMax(tt,o,"left","right")),rt=Math.max(0,s.outerHeight-getCombinedMax(tt,o,"top","bottom")),it=nt!==o.w,st=rt!==o.h;return o.w=nt,o.h=rt,_.horizontal?{same:it,other:st}:{same:st,other:it}}function handleMaxPadding(o){const s=o.maxPadding;function _(j){const $=Math.max(s[j]-o[j],0);return o[j]+=$,$}o.y+=_("top"),o.x+=_("left"),_("right"),_("bottom")}function getMargins(o,s){const _=s.maxPadding;function j($){const et={left:0,top:0,right:0,bottom:0};return $.forEach(tt=>{et[tt]=Math.max(s[tt],_[tt])}),et}return j(o?["left","right"]:["top","bottom"])}function fitBoxes(o,s,_,j){const $=[];let et,tt,nt,rt,it,st;for(et=0,tt=o.length,it=0;et{typeof Qt.beforeLayout=="function"&&Qt.beforeLayout()});const st=rt.reduce((Qt,pt)=>pt.box.options&&pt.box.options.display===!1?Qt:Qt+1,0)||1,Ut=Object.freeze({outerWidth:s,outerHeight:_,padding:$,availableWidth:et,availableHeight:tt,vBoxMaxWidth:et/2/st,hBoxMaxHeight:tt/2}),ct=Object.assign({},$);updateMaxPadding(ct,toPadding(j));const Ft=Object.assign({maxPadding:ct,w:et,h:tt,x:$.left,y:$.top},$),ut=setLayoutDims(rt.concat(it),Ut);fitBoxes(nt.fullSize,Ft,Ut,ut),fitBoxes(rt,Ft,Ut,ut),fitBoxes(it,Ft,Ut,ut)&&fitBoxes(rt,Ft,Ut,ut),handleMaxPadding(Ft),placeBoxes(nt.leftAndTop,Ft,Ut,ut),Ft.x+=Ft.w,Ft.y+=Ft.h,placeBoxes(nt.rightAndBottom,Ft,Ut,ut),o.chartArea={left:Ft.left,top:Ft.top,right:Ft.left+Ft.w,bottom:Ft.top+Ft.h,height:Ft.h,width:Ft.w},each(nt.chartArea,Qt=>{const pt=Qt.box;Object.assign(pt,o.chartArea),pt.update(Ft.w,Ft.h,{left:0,top:0,right:0,bottom:0})})}};class BasePlatform{acquireContext(s,_){}releaseContext(s){return!1}addEventListener(s,_,j){}removeEventListener(s,_,j){}getDevicePixelRatio(){return 1}getMaximumSize(s,_,j,$){return _=Math.max(0,_||s.width),j=j||s.height,{width:_,height:Math.max(0,$?Math.floor(_/$):j)}}isAttached(s){return!0}updateConfig(s){}}class BasicPlatform extends BasePlatform{acquireContext(s){return s&&s.getContext&&s.getContext("2d")||null}updateConfig(s){s.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=o=>o===null||o==="";function initCanvas(o,s){const _=o.style,j=o.getAttribute("height"),$=o.getAttribute("width");if(o[EXPANDO_KEY]={initial:{height:j,width:$,style:{display:_.display,height:_.height,width:_.width}}},_.display=_.display||"block",_.boxSizing=_.boxSizing||"border-box",isNullOrEmpty($)){const et=readUsedSize(o,"width");et!==void 0&&(o.width=et)}if(isNullOrEmpty(j))if(o.style.height==="")o.height=o.width/(s||2);else{const et=readUsedSize(o,"height");et!==void 0&&(o.height=et)}return o}const eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(o,s,_){o.addEventListener(s,_,eventListenerOptions)}function removeListener(o,s,_){o.canvas.removeEventListener(s,_,eventListenerOptions)}function fromNativeEvent(o,s){const _=EVENT_TYPES[o.type]||o.type,{x:j,y:$}=getRelativePosition(o,s);return{type:_,chart:s,native:o,x:j!==void 0?j:null,y:$!==void 0?$:null}}function nodeListContains(o,s){for(const _ of o)if(_===s||_.contains(s))return!0}function createAttachObserver(o,s,_){const j=o.canvas,$=new MutationObserver(et=>{let tt=!1;for(const nt of et)tt=tt||nodeListContains(nt.addedNodes,j),tt=tt&&!nodeListContains(nt.removedNodes,j);tt&&_()});return $.observe(document,{childList:!0,subtree:!0}),$}function createDetachObserver(o,s,_){const j=o.canvas,$=new MutationObserver(et=>{let tt=!1;for(const nt of et)tt=tt||nodeListContains(nt.removedNodes,j),tt=tt&&!nodeListContains(nt.addedNodes,j);tt&&_()});return $.observe(document,{childList:!0,subtree:!0}),$}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const o=window.devicePixelRatio;o!==oldDevicePixelRatio&&(oldDevicePixelRatio=o,drpListeningCharts.forEach((s,_)=>{_.currentDevicePixelRatio!==o&&s()}))}function listenDevicePixelRatioChanges(o,s){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(o,s)}function unlistenDevicePixelRatioChanges(o){drpListeningCharts.delete(o),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(o,s,_){const j=o.canvas,$=j&&_getParentNode(j);if(!$)return;const et=throttled((nt,rt)=>{const it=$.clientWidth;_(nt,rt),it<$.clientWidth&&_()},window),tt=new ResizeObserver(nt=>{const rt=nt[0],it=rt.contentRect.width,st=rt.contentRect.height;it===0&&st===0||et(it,st)});return tt.observe($),listenDevicePixelRatioChanges(o,et),tt}function releaseObserver(o,s,_){_&&_.disconnect(),s==="resize"&&unlistenDevicePixelRatioChanges(o)}function createProxyAndListen(o,s,_){const j=o.canvas,$=throttled(et=>{o.ctx!==null&&_(fromNativeEvent(et,o))},o);return addListener(j,s,$),$}class DomPlatform extends BasePlatform{acquireContext(s,_){const j=s&&s.getContext&&s.getContext("2d");return j&&j.canvas===s?(initCanvas(s,_),j):null}releaseContext(s){const _=s.canvas;if(!_[EXPANDO_KEY])return!1;const j=_[EXPANDO_KEY].initial;["height","width"].forEach(et=>{const tt=j[et];isNullOrUndef(tt)?_.removeAttribute(et):_.setAttribute(et,tt)});const $=j.style||{};return Object.keys($).forEach(et=>{_.style[et]=$[et]}),_.width=_.width,delete _[EXPANDO_KEY],!0}addEventListener(s,_,j){this.removeEventListener(s,_);const $=s.$proxies||(s.$proxies={}),tt={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[_]||createProxyAndListen;$[_]=tt(s,_,j)}removeEventListener(s,_){const j=s.$proxies||(s.$proxies={}),$=j[_];if(!$)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[_]||removeListener)(s,_,$),j[_]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(s,_,j,$){return getMaximumSize(s,_,j,$)}isAttached(s){const _=_getParentNode(s);return!!(_&&_.isConnected)}}function _detectPlatform(o){return!_isDomSupported()||typeof OffscreenCanvas<"u"&&o instanceof OffscreenCanvas?BasicPlatform:DomPlatform}class Element{constructor(){fr(this,"active",!1)}tooltipPosition(s){const{x:_,y:j}=this.getProps(["x","y"],s);return{x:_,y:j}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(s,_){const j=this.$animations;if(!_||!j)return this;const $={};return s.forEach(et=>{$[et]=j[et]&&j[et].active()?j[et]._to:this[et]}),$}}fr(Element,"defaults",{}),fr(Element,"defaultRoutes");function autoSkip(o,s){const _=o.options.ticks,j=determineMaxTicks(o),$=Math.min(_.maxTicksLimit||j,j),et=_.major.enabled?getMajorIndices(s):[],tt=et.length,nt=et[0],rt=et[tt-1],it=[];if(tt>$)return skipMajors(s,it,et,tt/$),it;const st=calculateSpacing(et,s,$);if(tt>0){let Ut,ct;const Ft=tt>1?Math.round((rt-nt)/(tt-1)):null;for(skip(s,it,st,isNullOrUndef(Ft)?0:nt-Ft,nt),Ut=0,ct=tt-1;Ut$)return rt}return Math.max($,1)}function getMajorIndices(o){const s=[];let _,j;for(_=0,j=o.length;_o==="left"?"right":o==="right"?"left":o,offsetFromEdge=(o,s,_)=>s==="top"||s==="left"?o[s]+_:o[s]-_,getTicksLimit=(o,s)=>Math.min(s||o,o);function sample(o,s){const _=[],j=o.length/s,$=o.length;let et=0;for(;et<$;et+=j)_.push(o[Math.floor(et)]);return _}function getPixelForGridLine(o,s,_){const j=o.ticks.length,$=Math.min(s,j-1),et=o._startPixel,tt=o._endPixel,nt=1e-6;let rt=o.getPixelForTick($),it;if(!(_&&(j===1?it=Math.max(rt-et,tt-rt):s===0?it=(o.getPixelForTick(1)-rt)/2:it=(rt-o.getPixelForTick($-1))/2,rt+=$tt+nt)))return rt}function garbageCollect(o,s){each(o,_=>{const j=_.gc,$=j.length/2;let et;if($>s){for(et=0;et<$;++et)delete _.data[j[et]];j.splice(0,$)}})}function getTickMarkLength(o){return o.drawTicks?o.tickLength:0}function getTitleHeight(o,s){if(!o.display)return 0;const _=toFont(o.font,s),j=toPadding(o.padding);return(isArray(o.text)?o.text.length:1)*_.lineHeight+j.height}function createScaleContext(o,s){return createContext(o,{scale:s,type:"scale"})}function createTickContext(o,s,_){return createContext(o,{tick:_,index:s,type:"tick"})}function titleAlign(o,s,_){let j=_toLeftRightCenter(o);return(_&&s!=="right"||!_&&s==="right")&&(j=reverseAlign(j)),j}function titleArgs(o,s,_,j){const{top:$,left:et,bottom:tt,right:nt,chart:rt}=o,{chartArea:it,scales:st}=rt;let Ut=0,ct,Ft,ut;const Qt=tt-$,pt=nt-et;if(o.isHorizontal()){if(Ft=_alignStartEnd(j,et,nt),isObject(_)){const ft=Object.keys(_)[0],mt=_[ft];ut=st[ft].getPixelForValue(mt)+Qt-s}else _==="center"?ut=(it.bottom+it.top)/2+Qt-s:ut=offsetFromEdge(o,_,s);ct=nt-et}else{if(isObject(_)){const ft=Object.keys(_)[0],mt=_[ft];Ft=st[ft].getPixelForValue(mt)-pt+s}else _==="center"?Ft=(it.left+it.right)/2-pt+s:Ft=offsetFromEdge(o,_,s);ut=_alignStartEnd(j,tt,$),Ut=_==="left"?-HALF_PI:HALF_PI}return{titleX:Ft,titleY:ut,maxWidth:ct,rotation:Ut}}class Scale extends Element{constructor(s){super(),this.id=s.id,this.type=s.type,this.options=void 0,this.ctx=s.ctx,this.chart=s.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(s){this.options=s.setContext(this.getContext()),this.axis=s.axis,this._userMin=this.parse(s.min),this._userMax=this.parse(s.max),this._suggestedMin=this.parse(s.suggestedMin),this._suggestedMax=this.parse(s.suggestedMax)}parse(s,_){return s}getUserBounds(){let{_userMin:s,_userMax:_,_suggestedMin:j,_suggestedMax:$}=this;return s=finiteOrDefault(s,Number.POSITIVE_INFINITY),_=finiteOrDefault(_,Number.NEGATIVE_INFINITY),j=finiteOrDefault(j,Number.POSITIVE_INFINITY),$=finiteOrDefault($,Number.NEGATIVE_INFINITY),{min:finiteOrDefault(s,j),max:finiteOrDefault(_,$),minDefined:isNumberFinite(s),maxDefined:isNumberFinite(_)}}getMinMax(s){let{min:_,max:j,minDefined:$,maxDefined:et}=this.getUserBounds(),tt;if($&&et)return{min:_,max:j};const nt=this.getMatchingVisibleMetas();for(let rt=0,it=nt.length;rtj?j:_,j=$&&_>j?_:j,{min:finiteOrDefault(_,finiteOrDefault(j,_)),max:finiteOrDefault(j,finiteOrDefault(_,j))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const s=this.chart.data;return this.options.labels||(this.isHorizontal()?s.xLabels:s.yLabels)||s.labels||[]}getLabelItems(s=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(s))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(s,_,j){const{beginAtZero:$,grace:et,ticks:tt}=this.options,nt=tt.sampleSize;this.beforeUpdate(),this.maxWidth=s,this.maxHeight=_,this._margins=j=Object.assign({left:0,right:0,top:0,bottom:0},j),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+j.left+j.right:this.height+j.top+j.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,et,$),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const rt=nt=et||j<=1||!this.isHorizontal()){this.labelRotation=$;return}const st=this._getLabelSizes(),Ut=st.widest.width,ct=st.highest.height,Ft=_limitValue(this.chart.width-Ut,0,this.maxWidth);nt=s.offset?this.maxWidth/j:Ft/(j-1),Ut+6>nt&&(nt=Ft/(j-(s.offset?.5:1)),rt=this.maxHeight-getTickMarkLength(s.grid)-_.padding-getTitleHeight(s.title,this.chart.options.font),it=Math.sqrt(Ut*Ut+ct*ct),tt=toDegrees(Math.min(Math.asin(_limitValue((st.highest.height+6)/nt,-1,1)),Math.asin(_limitValue(rt/it,-1,1))-Math.asin(_limitValue(ct/it,-1,1)))),tt=Math.max($,Math.min(et,tt))),this.labelRotation=tt}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const s={width:0,height:0},{chart:_,options:{ticks:j,title:$,grid:et}}=this,tt=this._isVisible(),nt=this.isHorizontal();if(tt){const rt=getTitleHeight($,_.options.font);if(nt?(s.width=this.maxWidth,s.height=getTickMarkLength(et)+rt):(s.height=this.maxHeight,s.width=getTickMarkLength(et)+rt),j.display&&this.ticks.length){const{first:it,last:st,widest:Ut,highest:ct}=this._getLabelSizes(),Ft=j.padding*2,ut=toRadians(this.labelRotation),Qt=Math.cos(ut),pt=Math.sin(ut);if(nt){const ft=j.mirror?0:pt*Ut.width+Qt*ct.height;s.height=Math.min(this.maxHeight,s.height+ft+Ft)}else{const ft=j.mirror?0:Qt*Ut.width+pt*ct.height;s.width=Math.min(this.maxWidth,s.width+ft+Ft)}this._calculatePadding(it,st,pt,Qt)}}this._handleMargins(),nt?(this.width=this._length=_.width-this._margins.left-this._margins.right,this.height=s.height):(this.width=s.width,this.height=this._length=_.height-this._margins.top-this._margins.bottom)}_calculatePadding(s,_,j,$){const{ticks:{align:et,padding:tt},position:nt}=this.options,rt=this.labelRotation!==0,it=nt!=="top"&&this.axis==="x";if(this.isHorizontal()){const st=this.getPixelForTick(0)-this.left,Ut=this.right-this.getPixelForTick(this.ticks.length-1);let ct=0,Ft=0;rt?it?(ct=$*s.width,Ft=j*_.height):(ct=j*s.height,Ft=$*_.width):et==="start"?Ft=_.width:et==="end"?ct=s.width:et!=="inner"&&(ct=s.width/2,Ft=_.width/2),this.paddingLeft=Math.max((ct-st+tt)*this.width/(this.width-st),0),this.paddingRight=Math.max((Ft-Ut+tt)*this.width/(this.width-Ut),0)}else{let st=_.height/2,Ut=s.height/2;et==="start"?(st=0,Ut=s.height):et==="end"&&(st=_.height,Ut=0),this.paddingTop=st+tt,this.paddingBottom=Ut+tt}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:s,position:_}=this.options;return _==="top"||_==="bottom"||s==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(s){this.beforeTickToLabelConversion(),this.generateTickLabels(s);let _,j;for(_=0,j=s.length;_({width:tt[yt]||0,height:nt[yt]||0});return{first:Mt(0),last:Mt(_-1),widest:Mt(Dt),highest:Mt(Ct),widths:tt,heights:nt}}getLabelForValue(s){return s}getPixelForValue(s,_){return NaN}getValueForPixel(s){}getPixelForTick(s){const _=this.ticks;return s<0||s>_.length-1?null:this.getPixelForValue(_[s].value)}getPixelForDecimal(s){this._reversePixels&&(s=1-s);const _=this._startPixel+s*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,_,0):_)}getDecimalForPixel(s){const _=(s-this._startPixel)/this._length;return this._reversePixels?1-_:_}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:s,max:_}=this;return s<0&&_<0?_:s>0&&_>0?s:0}getContext(s){const _=this.ticks||[];if(s>=0&&s<_.length){const j=_[s];return j.$context||(j.$context=createTickContext(this.getContext(),s,j))}return this.$context||(this.$context=createScaleContext(this.chart.getContext(),this))}_tickSize(){const s=this.options.ticks,_=toRadians(this.labelRotation),j=Math.abs(Math.cos(_)),$=Math.abs(Math.sin(_)),et=this._getLabelSizes(),tt=s.autoSkipPadding||0,nt=et?et.widest.width+tt:0,rt=et?et.highest.height+tt:0;return this.isHorizontal()?rt*j>nt*$?nt/j:rt/$:rt*$0}_computeGridLineItems(s){const _=this.axis,j=this.chart,$=this.options,{grid:et,position:tt,border:nt}=$,rt=et.offset,it=this.isHorizontal(),Ut=this.ticks.length+(rt?1:0),ct=getTickMarkLength(et),Ft=[],ut=nt.setContext(this.getContext()),Qt=ut.display?ut.width:0,pt=Qt/2,ft=function(Tt){return _alignPixel(j,Tt,Qt)};let mt,ht,Vt,Rt,Dt,Ct,Mt,yt,Yt,Zt,vt,bt;if(tt==="top")mt=ft(this.bottom),Ct=this.bottom-ct,yt=mt-pt,Zt=ft(s.top)+pt,bt=s.bottom;else if(tt==="bottom")mt=ft(this.top),Zt=s.top,bt=ft(s.bottom)-pt,Ct=mt+pt,yt=this.top+ct;else if(tt==="left")mt=ft(this.right),Dt=this.right-ct,Mt=mt-pt,Yt=ft(s.left)+pt,vt=s.right;else if(tt==="right")mt=ft(this.left),Yt=s.left,vt=ft(s.right)-pt,Dt=mt+pt,Mt=this.left+ct;else if(_==="x"){if(tt==="center")mt=ft((s.top+s.bottom)/2+.5);else if(isObject(tt)){const Tt=Object.keys(tt)[0],_t=tt[Tt];mt=ft(this.chart.scales[Tt].getPixelForValue(_t))}Zt=s.top,bt=s.bottom,Ct=mt+pt,yt=Ct+ct}else if(_==="y"){if(tt==="center")mt=ft((s.left+s.right)/2);else if(isObject(tt)){const Tt=Object.keys(tt)[0],_t=tt[Tt];mt=ft(this.chart.scales[Tt].getPixelForValue(_t))}Dt=mt-pt,Mt=Dt-ct,Yt=s.left,vt=s.right}const Wt=valueOrDefault($.ticks.maxTicksLimit,Ut),It=Math.max(1,Math.ceil(Ut/Wt));for(ht=0;htet.value===s);return $>=0?_.setContext(this.getContext($)).lineWidth:0}drawGrid(s){const _=this.options.grid,j=this.ctx,$=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(s));let et,tt;const nt=(rt,it,st)=>{!st.width||!st.color||(j.save(),j.lineWidth=st.width,j.strokeStyle=st.color,j.setLineDash(st.borderDash||[]),j.lineDashOffset=st.borderDashOffset,j.beginPath(),j.moveTo(rt.x,rt.y),j.lineTo(it.x,it.y),j.stroke(),j.restore())};if(_.display)for(et=0,tt=$.length;et{this.draw(et)}}]:[{z:j,draw:et=>{this.drawBackground(),this.drawGrid(et),this.drawTitle()}},{z:$,draw:()=>{this.drawBorder()}},{z:_,draw:et=>{this.drawLabels(et)}}]}getMatchingVisibleMetas(s){const _=this.chart.getSortedVisibleDatasetMetas(),j=this.axis+"AxisID",$=[];let et,tt;for(et=0,tt=_.length;et{const j=_.split("."),$=j.pop(),et=[o].concat(j).join("."),tt=s[_].split("."),nt=tt.pop(),rt=tt.join(".");defaults.route(et,$,rt,nt)})}function isIChartComponent(o){return"id"in o&&"defaults"in o}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...s){this._each("register",s)}remove(...s){this._each("unregister",s)}addControllers(...s){this._each("register",s,this.controllers)}addElements(...s){this._each("register",s,this.elements)}addPlugins(...s){this._each("register",s,this.plugins)}addScales(...s){this._each("register",s,this.scales)}getController(s){return this._get(s,this.controllers,"controller")}getElement(s){return this._get(s,this.elements,"element")}getPlugin(s){return this._get(s,this.plugins,"plugin")}getScale(s){return this._get(s,this.scales,"scale")}removeControllers(...s){this._each("unregister",s,this.controllers)}removeElements(...s){this._each("unregister",s,this.elements)}removePlugins(...s){this._each("unregister",s,this.plugins)}removeScales(...s){this._each("unregister",s,this.scales)}_each(s,_,j){[..._].forEach($=>{const et=j||this._getRegistryForType($);j||et.isForType($)||et===this.plugins&&$.id?this._exec(s,et,$):each($,tt=>{const nt=j||this._getRegistryForType(tt);this._exec(s,nt,tt)})})}_exec(s,_,j){const $=_capitalize(s);callback(j["before"+$],[],j),_[s](j),callback(j["after"+$],[],j)}_getRegistryForType(s){for(let _=0;_et.filter(nt=>!tt.some(rt=>nt.plugin.id===rt.plugin.id));this._notify($(_,j),s,"stop"),this._notify($(j,_),s,"start")}}function allPlugins(o){const s={},_=[],j=Object.keys(registry.plugins.items);for(let et=0;et1&&determineAxis(o[0].toLowerCase(),s),o))return o;throw new Error(`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`)}function mergeScaleConfig(o,s){const _=overrides[o.type]||{scales:{}},j=s.scales||{},$=getIndexAxis(o.type,s),et=Object.create(null);return Object.keys(j).forEach(tt=>{const nt=j[tt];if(!isObject(nt))return console.error(`Invalid scale configuration for scale: ${tt}`);if(nt._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${tt}`);const rt=determineAxis(tt,nt),it=getDefaultScaleIDFromAxis(rt,$),st=_.scales||{};et[tt]=mergeIf(Object.create(null),[{axis:rt},nt,st[rt],st[it]])}),o.data.datasets.forEach(tt=>{const nt=tt.type||o.type,rt=tt.indexAxis||getIndexAxis(nt,s),st=(overrides[nt]||{}).scales||{};Object.keys(st).forEach(Ut=>{const ct=getAxisFromDefaultScaleID(Ut,rt),Ft=tt[ct+"AxisID"]||ct;et[Ft]=et[Ft]||Object.create(null),mergeIf(et[Ft],[{axis:ct},j[Ft],st[Ut]])})}),Object.keys(et).forEach(tt=>{const nt=et[tt];mergeIf(nt,[defaults.scales[nt.type],defaults.scale])}),et}function initOptions(o){const s=o.options||(o.options={});s.plugins=valueOrDefault(s.plugins,{}),s.scales=mergeScaleConfig(o,s)}function initData(o){return o=o||{},o.datasets=o.datasets||[],o.labels=o.labels||[],o}function initConfig(o){return o=o||{},o.data=initData(o.data),initOptions(o),o}const keyCache=new Map,keysCached=new Set;function cachedKeys(o,s){let _=keyCache.get(o);return _||(_=s(),keyCache.set(o,_),keysCached.add(_)),_}const addIfFound=(o,s,_)=>{const j=resolveObjectKey(s,_);j!==void 0&&o.add(j)};class Config{constructor(s){this._config=initConfig(s),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(s){this._config.type=s}get data(){return this._config.data}set data(s){this._config.data=initData(s)}get options(){return this._config.options}set options(s){this._config.options=s}get plugins(){return this._config.plugins}update(){const s=this._config;this.clearCache(),initOptions(s)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(s){return cachedKeys(s,()=>[[`datasets.${s}`,""]])}datasetAnimationScopeKeys(s,_){return cachedKeys(`${s}.transition.${_}`,()=>[[`datasets.${s}.transitions.${_}`,`transitions.${_}`],[`datasets.${s}`,""]])}datasetElementScopeKeys(s,_){return cachedKeys(`${s}-${_}`,()=>[[`datasets.${s}.elements.${_}`,`datasets.${s}`,`elements.${_}`,""]])}pluginScopeKeys(s){const _=s.id,j=this.type;return cachedKeys(`${j}-plugin-${_}`,()=>[[`plugins.${_}`,...s.additionalOptionScopes||[]]])}_cachedScopes(s,_){const j=this._scopeCache;let $=j.get(s);return(!$||_)&&($=new Map,j.set(s,$)),$}getOptionScopes(s,_,j){const{options:$,type:et}=this,tt=this._cachedScopes(s,j),nt=tt.get(_);if(nt)return nt;const rt=new Set;_.forEach(st=>{s&&(rt.add(s),st.forEach(Ut=>addIfFound(rt,s,Ut))),st.forEach(Ut=>addIfFound(rt,$,Ut)),st.forEach(Ut=>addIfFound(rt,overrides[et]||{},Ut)),st.forEach(Ut=>addIfFound(rt,defaults,Ut)),st.forEach(Ut=>addIfFound(rt,descriptors,Ut))});const it=Array.from(rt);return it.length===0&&it.push(Object.create(null)),keysCached.has(_)&&tt.set(_,it),it}chartOptionScopes(){const{options:s,type:_}=this;return[s,overrides[_]||{},defaults.datasets[_]||{},{type:_},defaults,descriptors]}resolveNamedOptions(s,_,j,$=[""]){const et={$shared:!0},{resolver:tt,subPrefixes:nt}=getResolver(this._resolverCache,s,$);let rt=tt;if(needContext(tt,_)){et.$shared=!1,j=isFunction(j)?j():j;const it=this.createResolver(s,j,nt);rt=_attachContext(tt,j,it)}for(const it of _)et[it]=rt[it];return et}createResolver(s,_,j=[""],$){const{resolver:et}=getResolver(this._resolverCache,s,j);return isObject(_)?_attachContext(et,_,void 0,$):et}}function getResolver(o,s,_){let j=o.get(s);j||(j=new Map,o.set(s,j));const $=_.join();let et=j.get($);return et||(et={resolver:_createResolver(s,_),subPrefixes:_.filter(nt=>!nt.toLowerCase().includes("hover"))},j.set($,et)),et}const hasFunction=o=>isObject(o)&&Object.getOwnPropertyNames(o).reduce((s,_)=>s||isFunction(o[_]),!1);function needContext(o,s){const{isScriptable:_,isIndexable:j}=_descriptors(o);for(const $ of s){const et=_($),tt=j($),nt=(tt||et)&&o[$];if(et&&(isFunction(nt)||hasFunction(nt))||tt&&isArray(nt))return!0}return!1}var version="4.2.1";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(o,s){return o==="top"||o==="bottom"||KNOWN_POSITIONS.indexOf(o)===-1&&s==="x"}function compare2Level(o,s){return function(_,j){return _[o]===j[o]?_[s]-j[s]:_[o]-j[o]}}function onAnimationsComplete(o){const s=o.chart,_=s.options.animation;s.notifyPlugins("afterRender"),callback(_&&_.onComplete,[o],s)}function onAnimationProgress(o){const s=o.chart,_=s.options.animation;callback(_&&_.onProgress,[o],s)}function getCanvas(o){return _isDomSupported()&&typeof o=="string"?o=document.getElementById(o):o&&o.length&&(o=o[0]),o&&o.canvas&&(o=o.canvas),o}const instances={},getChart=o=>{const s=getCanvas(o);return Object.values(instances).filter(_=>_.canvas===s).pop()};function moveNumericKeys(o,s,_){const j=Object.keys(o);for(const $ of j){const et=+$;if(et>=s){const tt=o[$];delete o[$],(_>0||et>s)&&(o[et+_]=tt)}}}function determineLastEvent(o,s,_,j){return!_||o.type==="mouseout"?null:j?s:o}function getDatasetArea(o){const{xScale:s,yScale:_}=o;if(s&&_)return{left:s.left,right:s.right,top:_.top,bottom:_.bottom}}class Chart{static register(...s){registry.add(...s),invalidatePlugins()}static unregister(...s){registry.remove(...s),invalidatePlugins()}constructor(s,_){const j=this.config=new Config(_),$=getCanvas(s),et=getChart($);if(et)throw new Error("Canvas is already in use. Chart with ID '"+et.id+"' must be destroyed before the canvas with ID '"+et.canvas.id+"' can be reused.");const tt=j.createResolver(j.chartOptionScopes(),this.getContext());this.platform=new(j.platform||_detectPlatform($)),this.platform.updateConfig(j);const nt=this.platform.acquireContext($,tt.aspectRatio),rt=nt&&nt.canvas,it=rt&&rt.height,st=rt&&rt.width;if(this.id=uid(),this.ctx=nt,this.canvas=rt,this.width=st,this.height=it,this._options=tt,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce(Ut=>this.update(Ut),tt.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!nt||!rt){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:s,maintainAspectRatio:_},width:j,height:$,_aspectRatio:et}=this;return isNullOrUndef(s)?_&&et?et:$?j/$:null:s}get data(){return this.config.data}set data(s){this.config.data=s}get options(){return this._options}set options(s){this.config.options=s}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(s,_){animator.running(this)?this._resizeBeforeDraw={width:s,height:_}:this._resize(s,_)}_resize(s,_){const j=this.options,$=this.canvas,et=j.maintainAspectRatio&&this.aspectRatio,tt=this.platform.getMaximumSize($,s,_,et),nt=j.devicePixelRatio||this.platform.getDevicePixelRatio(),rt=this.width?"resize":"attach";this.width=tt.width,this.height=tt.height,this._aspectRatio=this.aspectRatio,retinaScale(this,nt,!0)&&(this.notifyPlugins("resize",{size:tt}),callback(j.onResize,[this,tt],this),this.attached&&this._doResize(rt)&&this.render())}ensureScalesHaveIDs(){const _=this.options.scales||{};each(_,(j,$)=>{j.id=$})}buildOrUpdateScales(){const s=this.options,_=s.scales,j=this.scales,$=Object.keys(j).reduce((tt,nt)=>(tt[nt]=!1,tt),{});let et=[];_&&(et=et.concat(Object.keys(_).map(tt=>{const nt=_[tt],rt=determineAxis(tt,nt),it=rt==="r",st=rt==="x";return{options:nt,dposition:it?"chartArea":st?"bottom":"left",dtype:it?"radialLinear":st?"category":"linear"}}))),each(et,tt=>{const nt=tt.options,rt=nt.id,it=determineAxis(rt,nt),st=valueOrDefault(nt.type,tt.dtype);(nt.position===void 0||positionIsHorizontal(nt.position,it)!==positionIsHorizontal(tt.dposition))&&(nt.position=tt.dposition),$[rt]=!0;let Ut=null;if(rt in j&&j[rt].type===st)Ut=j[rt];else{const ct=registry.getScale(st);Ut=new ct({id:rt,type:st,ctx:this.ctx,chart:this}),j[Ut.id]=Ut}Ut.init(nt,s)}),each($,(tt,nt)=>{tt||delete j[nt]}),each(j,tt=>{layouts.configure(this,tt,tt.options),layouts.addBox(this,tt)})}_updateMetasets(){const s=this._metasets,_=this.data.datasets.length,j=s.length;if(s.sort(($,et)=>$.index-et.index),j>_){for(let $=_;$_.length&&delete this._stacks,s.forEach((j,$)=>{_.filter(et=>et===j._dataset).length===0&&this._destroyDatasetMeta($)})}buildOrUpdateControllers(){const s=[],_=this.data.datasets;let j,$;for(this._removeUnreferencedMetasets(),j=0,$=_.length;j<$;j++){const et=_[j];let tt=this.getDatasetMeta(j);const nt=et.type||this.config.type;if(tt.type&&tt.type!==nt&&(this._destroyDatasetMeta(j),tt=this.getDatasetMeta(j)),tt.type=nt,tt.indexAxis=et.indexAxis||getIndexAxis(nt,this.options),tt.order=et.order||0,tt.index=j,tt.label=""+et.label,tt.visible=this.isDatasetVisible(j),tt.controller)tt.controller.updateIndex(j),tt.controller.linkScales();else{const rt=registry.getController(nt),{datasetElementType:it,dataElementType:st}=defaults.datasets[nt];Object.assign(rt,{dataElementType:registry.getElement(st),datasetElementType:it&®istry.getElement(it)}),tt.controller=new rt(this,j),s.push(tt.controller)}}return this._updateMetasets(),s}_resetElements(){each(this.data.datasets,(s,_)=>{this.getDatasetMeta(_).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(s){const _=this.config;_.update();const j=this._options=_.createResolver(_.chartOptionScopes(),this.getContext()),$=this._animationsDisabled=!j.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:s,cancelable:!0})===!1)return;const et=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let tt=0;for(let it=0,st=this.data.datasets.length;it{it.reset()}),this._updateDatasets(s),this.notifyPlugins("afterUpdate",{mode:s}),this._layers.sort(compare2Level("z","_idx"));const{_active:nt,_lastEvent:rt}=this;rt?this._eventHandler(rt,!0):nt.length&&this._updateHoverStyles(nt,nt,!0),this.render()}_updateScales(){each(this.scales,s=>{layouts.removeBox(this,s)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const s=this.options,_=new Set(Object.keys(this._listeners)),j=new Set(s.events);(!setsEqual(_,j)||!!this._responsiveListeners!==s.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:s}=this,_=this._getUniformDataChanges()||[];for(const{method:j,start:$,count:et}of _){const tt=j==="_removeElements"?-et:et;moveNumericKeys(s,$,tt)}}_getUniformDataChanges(){const s=this._dataChanges;if(!s||!s.length)return;this._dataChanges=[];const _=this.data.datasets.length,j=et=>new Set(s.filter(tt=>tt[0]===et).map((tt,nt)=>nt+","+tt.splice(1).join(","))),$=j(0);for(let et=1;et<_;et++)if(!setsEqual($,j(et)))return;return Array.from($).map(et=>et.split(",")).map(et=>({method:et[1],start:+et[2],count:+et[3]}))}_updateLayout(s){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,s);const _=this.chartArea,j=_.width<=0||_.height<=0;this._layers=[],each(this.boxes,$=>{j&&$.position==="chartArea"||($.configure&&$.configure(),this._layers.push(...$._layers()))},this),this._layers.forEach(($,et)=>{$._idx=et}),this.notifyPlugins("afterLayout")}_updateDatasets(s){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:s,cancelable:!0})!==!1){for(let _=0,j=this.data.datasets.length;_=0;--_)this._drawDataset(s[_]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(s){const _=this.ctx,j=s._clip,$=!j.disabled,et=getDatasetArea(s)||this.chartArea,tt={meta:s,index:s.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",tt)!==!1&&($&&clipArea(_,{left:j.left===!1?0:et.left-j.left,right:j.right===!1?this.width:et.right+j.right,top:j.top===!1?0:et.top-j.top,bottom:j.bottom===!1?this.height:et.bottom+j.bottom}),s.controller.draw(),$&&unclipArea(_),tt.cancelable=!1,this.notifyPlugins("afterDatasetDraw",tt))}isPointInArea(s){return _isPointInArea(s,this.chartArea,this._minPadding)}getElementsAtEventForMode(s,_,j,$){const et=Interaction.modes[_];return typeof et=="function"?et(this,s,j,$):[]}getDatasetMeta(s){const _=this.data.datasets[s],j=this._metasets;let $=j.filter(et=>et&&et._dataset===_).pop();return $||($={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:_&&_.order||0,index:s,_dataset:_,_parsed:[],_sorted:!1},j.push($)),$}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(s){const _=this.data.datasets[s];if(!_)return!1;const j=this.getDatasetMeta(s);return typeof j.hidden=="boolean"?!j.hidden:!_.hidden}setDatasetVisibility(s,_){const j=this.getDatasetMeta(s);j.hidden=!_}toggleDataVisibility(s){this._hiddenIndices[s]=!this._hiddenIndices[s]}getDataVisibility(s){return!this._hiddenIndices[s]}_updateVisibility(s,_,j){const $=j?"show":"hide",et=this.getDatasetMeta(s),tt=et.controller._resolveAnimations(void 0,$);defined(_)?(et.data[_].hidden=!j,this.update()):(this.setDatasetVisibility(s,j),tt.update(et,{visible:j}),this.update(nt=>nt.datasetIndex===s?$:void 0))}hide(s,_){this._updateVisibility(s,_,!1)}show(s,_){this._updateVisibility(s,_,!0)}_destroyDatasetMeta(s){const _=this._metasets[s];_&&_.controller&&_.controller._destroy(),delete this._metasets[s]}_stop(){let s,_;for(this.stop(),animator.remove(this),s=0,_=this.data.datasets.length;s<_;++s)this._destroyDatasetMeta(s)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:s,ctx:_}=this;this._stop(),this.config.clearCache(),s&&(this.unbindEvents(),clearCanvas(s,_),this.platform.releaseContext(_),this.canvas=null,this.ctx=null),delete instances[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...s){return this.canvas.toDataURL(...s)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const s=this._listeners,_=this.platform,j=(et,tt)=>{_.addEventListener(this,et,tt),s[et]=tt},$=(et,tt,nt)=>{et.offsetX=tt,et.offsetY=nt,this._eventHandler(et)};each(this.options.events,et=>j(et,$))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const s=this._responsiveListeners,_=this.platform,j=(rt,it)=>{_.addEventListener(this,rt,it),s[rt]=it},$=(rt,it)=>{s[rt]&&(_.removeEventListener(this,rt,it),delete s[rt])},et=(rt,it)=>{this.canvas&&this.resize(rt,it)};let tt;const nt=()=>{$("attach",nt),this.attached=!0,this.resize(),j("resize",et),j("detach",tt)};tt=()=>{this.attached=!1,$("resize",et),this._stop(),this._resize(0,0),j("attach",nt)},_.isAttached(this.canvas)?nt():tt()}unbindEvents(){each(this._listeners,(s,_)=>{this.platform.removeEventListener(this,_,s)}),this._listeners={},each(this._responsiveListeners,(s,_)=>{this.platform.removeEventListener(this,_,s)}),this._responsiveListeners=void 0}updateHoverStyle(s,_,j){const $=j?"set":"remove";let et,tt,nt,rt;for(_==="dataset"&&(et=this.getDatasetMeta(s[0].datasetIndex),et.controller["_"+$+"DatasetHoverStyle"]()),nt=0,rt=s.length;nt{const nt=this.getDatasetMeta(et);if(!nt)throw new Error("No dataset found at index "+et);return{datasetIndex:et,element:nt.data[tt],index:tt}});!_elementsEqual(j,_)&&(this._active=j,this._lastEvent=null,this._updateHoverStyles(j,_))}notifyPlugins(s,_,j){return this._plugins.notify(this,s,_,j)}isPluginEnabled(s){return this._plugins._cache.filter(_=>_.plugin.id===s).length===1}_updateHoverStyles(s,_,j){const $=this.options.hover,et=(rt,it)=>rt.filter(st=>!it.some(Ut=>st.datasetIndex===Ut.datasetIndex&&st.index===Ut.index)),tt=et(_,s),nt=j?s:et(s,_);tt.length&&this.updateHoverStyle(tt,$.mode,!1),nt.length&&$.mode&&this.updateHoverStyle(nt,$.mode,!0)}_eventHandler(s,_){const j={event:s,replay:_,cancelable:!0,inChartArea:this.isPointInArea(s)},$=tt=>(tt.options.events||this.options.events).includes(s.native.type);if(this.notifyPlugins("beforeEvent",j,$)===!1)return;const et=this._handleEvent(s,_,j.inChartArea);return j.cancelable=!1,this.notifyPlugins("afterEvent",j,$),(et||j.changed)&&this.render(),this}_handleEvent(s,_,j){const{_active:$=[],options:et}=this,tt=_,nt=this._getActiveElements(s,$,j,tt),rt=_isClickEvent(s),it=determineLastEvent(s,this._lastEvent,j,rt);j&&(this._lastEvent=null,callback(et.onHover,[s,nt,this],this),rt&&callback(et.onClick,[s,nt,this],this));const st=!_elementsEqual(nt,$);return(st||_)&&(this._active=nt,this._updateHoverStyles(nt,$,_)),this._lastEvent=it,st}_getActiveElements(s,_,j,$){if(s.type==="mouseout")return[];if(!j)return _;const et=this.options.hover;return this.getElementsAtEventForMode(s,et.mode,et,$)}}fr(Chart,"defaults",defaults),fr(Chart,"instances",instances),fr(Chart,"overrides",overrides),fr(Chart,"registry",registry),fr(Chart,"version",version),fr(Chart,"getChart",getChart);function invalidatePlugins(){return each(Chart.instances,o=>o._plugins.invalidate())}function clipArc(o,s,_){const{startAngle:j,pixelMargin:$,x:et,y:tt,outerRadius:nt,innerRadius:rt}=s;let it=$/nt;o.beginPath(),o.arc(et,tt,nt,j-it,_+it),rt>$?(it=$/rt,o.arc(et,tt,rt,_+it,j-it,!0)):o.arc(et,tt,$,_+HALF_PI,j-HALF_PI),o.closePath(),o.clip()}function toRadiusCorners(o){return _readValueToProps(o,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(o,s,_,j){const $=toRadiusCorners(o.options.borderRadius),et=(_-s)/2,tt=Math.min(et,j*s/2),nt=rt=>{const it=(_-Math.min(et,rt))*j/2;return _limitValue(rt,0,Math.min(et,it))};return{outerStart:nt($.outerStart),outerEnd:nt($.outerEnd),innerStart:_limitValue($.innerStart,0,tt),innerEnd:_limitValue($.innerEnd,0,tt)}}function rThetaToXY(o,s,_,j){return{x:_+o*Math.cos(s),y:j+o*Math.sin(s)}}function pathArc(o,s,_,j,$,et){const{x:tt,y:nt,startAngle:rt,pixelMargin:it,innerRadius:st}=s,Ut=Math.max(s.outerRadius+j+_-it,0),ct=st>0?st+j+_+it:0;let Ft=0;const ut=$-rt;if(j){const It=st>0?st-j:0,Tt=Ut>0?Ut-j:0,_t=(It+Tt)/2,$t=_t!==0?ut*_t/(_t+j):ut;Ft=(ut-$t)/2}const Qt=Math.max(.001,ut*Ut-_/PI)/Ut,pt=(ut-Qt)/2,ft=rt+pt+Ft,mt=$-pt-Ft,{outerStart:ht,outerEnd:Vt,innerStart:Rt,innerEnd:Dt}=parseBorderRadius$1(s,ct,Ut,mt-ft),Ct=Ut-ht,Mt=Ut-Vt,yt=ft+ht/Ct,Yt=mt-Vt/Mt,Zt=ct+Rt,vt=ct+Dt,bt=ft+Rt/Zt,Wt=mt-Dt/vt;if(o.beginPath(),et){const It=(yt+Yt)/2;if(o.arc(tt,nt,Ut,yt,It),o.arc(tt,nt,Ut,It,Yt),Vt>0){const rn=rThetaToXY(Mt,Yt,tt,nt);o.arc(rn.x,rn.y,Vt,Yt,mt+HALF_PI)}const Tt=rThetaToXY(vt,mt,tt,nt);if(o.lineTo(Tt.x,Tt.y),Dt>0){const rn=rThetaToXY(vt,Wt,tt,nt);o.arc(rn.x,rn.y,Dt,mt+HALF_PI,Wt+Math.PI)}const _t=(mt-Dt/ct+(ft+Rt/ct))/2;if(o.arc(tt,nt,ct,mt-Dt/ct,_t,!0),o.arc(tt,nt,ct,_t,ft+Rt/ct,!0),Rt>0){const rn=rThetaToXY(Zt,bt,tt,nt);o.arc(rn.x,rn.y,Rt,bt+Math.PI,ft-HALF_PI)}const $t=rThetaToXY(Ct,ft,tt,nt);if(o.lineTo($t.x,$t.y),ht>0){const rn=rThetaToXY(Ct,yt,tt,nt);o.arc(rn.x,rn.y,ht,ft-HALF_PI,yt)}}else{o.moveTo(tt,nt);const It=Math.cos(yt)*Ut+tt,Tt=Math.sin(yt)*Ut+nt;o.lineTo(It,Tt);const _t=Math.cos(Yt)*Ut+tt,$t=Math.sin(Yt)*Ut+nt;o.lineTo(_t,$t)}o.closePath()}function drawArc(o,s,_,j,$){const{fullCircles:et,startAngle:tt,circumference:nt}=s;let rt=s.endAngle;if(et){pathArc(o,s,_,j,rt,$);for(let it=0;it=TAU||_angleBetween(et,nt,rt),Qt=_isBetween(tt,it+ct,st+ct);return ut&&Qt}getCenterPoint(s){const{x:_,y:j,startAngle:$,endAngle:et,innerRadius:tt,outerRadius:nt}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],s),{offset:rt,spacing:it}=this.options,st=($+et)/2,Ut=(tt+nt+it+rt)/2;return{x:_+Math.cos(st)*Ut,y:j+Math.sin(st)*Ut}}tooltipPosition(s){return this.getCenterPoint(s)}draw(s){const{options:_,circumference:j}=this,$=(_.offset||0)/4,et=(_.spacing||0)/2,tt=_.circular;if(this.pixelMargin=_.borderAlign==="inner"?.33:0,this.fullCircles=j>TAU?Math.floor(j/TAU):0,j===0||this.innerRadius<0||this.outerRadius<0)return;s.save();const nt=(this.startAngle+this.endAngle)/2;s.translate(Math.cos(nt)*$,Math.sin(nt)*$);const rt=1-Math.sin(Math.min(PI,j||0)),it=$*rt;s.fillStyle=_.backgroundColor,s.strokeStyle=_.borderColor,drawArc(s,this,it,et,tt),drawBorder(s,this,it,et,tt),s.restore()}}fr(ArcElement,"id","arc"),fr(ArcElement,"defaults",{borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),fr(ArcElement,"defaultRoutes",{backgroundColor:"backgroundColor"});function setStyle(o,s,_=s){o.lineCap=valueOrDefault(_.borderCapStyle,s.borderCapStyle),o.setLineDash(valueOrDefault(_.borderDash,s.borderDash)),o.lineDashOffset=valueOrDefault(_.borderDashOffset,s.borderDashOffset),o.lineJoin=valueOrDefault(_.borderJoinStyle,s.borderJoinStyle),o.lineWidth=valueOrDefault(_.borderWidth,s.borderWidth),o.strokeStyle=valueOrDefault(_.borderColor,s.borderColor)}function lineTo(o,s,_){o.lineTo(_.x,_.y)}function getLineMethod(o){return o.stepped?_steppedLineTo:o.tension||o.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(o,s,_={}){const j=o.length,{start:$=0,end:et=j-1}=_,{start:tt,end:nt}=s,rt=Math.max($,tt),it=Math.min(et,nt),st=$nt&&et>nt;return{count:j,start:rt,loop:s.loop,ilen:it(tt+(it?nt-Vt:Vt))%et,ht=()=>{Qt!==pt&&(o.lineTo(st,pt),o.lineTo(st,Qt),o.lineTo(st,ft))};for(rt&&(Ft=$[mt(0)],o.moveTo(Ft.x,Ft.y)),ct=0;ct<=nt;++ct){if(Ft=$[mt(ct)],Ft.skip)continue;const Vt=Ft.x,Rt=Ft.y,Dt=Vt|0;Dt===ut?(Rtpt&&(pt=Rt),st=(Ut*st+Vt)/++Ut):(ht(),o.lineTo(Vt,Rt),ut=Dt,Ut=0,Qt=pt=Rt),ft=Rt}ht()}function _getSegmentMethod(o){const s=o.options,_=s.borderDash&&s.borderDash.length;return!o._decimated&&!o._loop&&!s.tension&&s.cubicInterpolationMode!=="monotone"&&!s.stepped&&!_?fastPathSegment:pathSegment}function _getInterpolationMethod(o){return o.stepped?_steppedInterpolation:o.tension||o.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(o,s,_,j){let $=s._path;$||($=s._path=new Path2D,s.path($,_,j)&&$.closePath()),setStyle(o,s.options),o.stroke($)}function strokePathDirect(o,s,_,j){const{segments:$,options:et}=s,tt=_getSegmentMethod(s);for(const nt of $)setStyle(o,et,nt.style),o.beginPath(),tt(o,s,nt,{start:_,end:_+j-1})&&o.closePath(),o.stroke()}const usePath2D=typeof Path2D=="function";function draw(o,s,_,j){usePath2D&&!s.options.segment?strokePathWithCache(o,s,_,j):strokePathDirect(o,s,_,j)}class LineElement extends Element{constructor(s){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,s&&Object.assign(this,s)}updateControlPoints(s,_){const j=this.options;if((j.tension||j.cubicInterpolationMode==="monotone")&&!j.stepped&&!this._pointsUpdated){const $=j.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,j,s,$,_),this._pointsUpdated=!0}}set points(s){this._points=s,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const s=this.segments,_=this.points;return s.length&&_[s[0].start]}last(){const s=this.segments,_=this.points,j=s.length;return j&&_[s[j-1].end]}interpolate(s,_){const j=this.options,$=s[_],et=this.points,tt=_boundSegments(this,{property:_,start:$,end:$});if(!tt.length)return;const nt=[],rt=_getInterpolationMethod(j);let it,st;for(it=0,st=tt.length;its!=="borderDash"&&s!=="fill"});function inRange$1(o,s,_,j){const $=o.options,{[_]:et}=o.getProps([_],j);return Math.abs(s-et)<$.radius+$.hitRadius}class PointElement extends Element{constructor(s){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,s&&Object.assign(this,s)}inRange(s,_,j){const $=this.options,{x:et,y:tt}=this.getProps(["x","y"],j);return Math.pow(s-et,2)+Math.pow(_-tt,2)o.replace("rgb(","rgba(").replace(")",", 0.5)"));function getBorderColor(o){return BORDER_COLORS[o%BORDER_COLORS.length]}function getBackgroundColor(o){return BACKGROUND_COLORS[o%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(o,s){return o.borderColor=getBorderColor(s),o.backgroundColor=getBackgroundColor(s),++s}function colorizeDoughnutDataset(o,s){return o.backgroundColor=o.data.map(()=>getBorderColor(s++)),s}function colorizePolarAreaDataset(o,s){return o.backgroundColor=o.data.map(()=>getBackgroundColor(s++)),s}function getColorizer(o){let s=0;return(_,j)=>{const $=o.getDatasetMeta(j).controller;$ instanceof DoughnutController?s=colorizeDoughnutDataset(_,s):$ instanceof PolarAreaController?s=colorizePolarAreaDataset(_,s):$&&(s=colorizeDefaultDataset(_,s))}}function containsColorsDefinitions(o){let s;for(s in o)if(o[s].borderColor||o[s].backgroundColor)return!0;return!1}function containsColorsDefinition(o){return o&&(o.borderColor||o.backgroundColor)}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(o,s,_){if(!_.enabled)return;const{data:{datasets:j},options:$}=o.config,{elements:et}=$;if(!_.forceOverride&&(containsColorsDefinitions(j)||containsColorsDefinition($)||et&&containsColorsDefinitions(et)))return;const tt=getColorizer(o);j.forEach(tt)}};function lttbDecimation(o,s,_,j,$){const et=$.samples||j;if(et>=_)return o.slice(s,s+_);const tt=[],nt=(_-2)/(et-2);let rt=0;const it=s+_-1;let st=s,Ut,ct,Ft,ut,Qt;for(tt[rt++]=o[st],Ut=0;UtFt&&(Ft=ut,ct=o[mt],Qt=mt);tt[rt++]=ct,st=Qt}return tt[rt++]=o[it],tt}function minMaxDecimation(o,s,_,j){let $=0,et=0,tt,nt,rt,it,st,Ut,ct,Ft,ut,Qt;const pt=[],ft=s+_-1,mt=o[s].x,Vt=o[ft].x-mt;for(tt=s;ttQt&&(Qt=it,ct=tt),$=(et*$+nt.x)/++et;else{const Dt=tt-1;if(!isNullOrUndef(Ut)&&!isNullOrUndef(ct)){const Ct=Math.min(Ut,ct),Mt=Math.max(Ut,ct);Ct!==Ft&&Ct!==Dt&&pt.push({...o[Ct],x:$}),Mt!==Ft&&Mt!==Dt&&pt.push({...o[Mt],x:$})}tt>0&&Dt!==Ft&&pt.push(o[Dt]),pt.push(nt),st=Rt,et=0,ut=Qt=it,Ut=ct=Ft=tt}}return pt}function cleanDecimatedDataset(o){if(o._decimated){const s=o._data;delete o._decimated,delete o._data,Object.defineProperty(o,"data",{configurable:!0,enumerable:!0,writable:!0,value:s})}}function cleanDecimatedData(o){o.data.datasets.forEach(s=>{cleanDecimatedDataset(s)})}function getStartAndCountOfVisiblePointsSimplified(o,s){const _=s.length;let j=0,$;const{iScale:et}=o,{min:tt,max:nt,minDefined:rt,maxDefined:it}=et.getUserBounds();return rt&&(j=_limitValue(_lookupByKey(s,et.axis,tt).lo,0,_-1)),it?$=_limitValue(_lookupByKey(s,et.axis,nt).hi+1,j,_)-j:$=_-j,{start:j,count:$}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(o,s,_)=>{if(!_.enabled){cleanDecimatedData(o);return}const j=o.width;o.data.datasets.forEach(($,et)=>{const{_data:tt,indexAxis:nt}=$,rt=o.getDatasetMeta(et),it=tt||$.data;if(resolve([nt,o.options.indexAxis])==="y"||!rt.controller.supportsDecimation)return;const st=o.scales[rt.xAxisID];if(st.type!=="linear"&&st.type!=="time"||o.options.parsing)return;let{start:Ut,count:ct}=getStartAndCountOfVisiblePointsSimplified(rt,it);const Ft=_.threshold||4*j;if(ct<=Ft){cleanDecimatedDataset($);return}isNullOrUndef(tt)&&($._data=it,delete $.data,Object.defineProperty($,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(Qt){this._data=Qt}}));let ut;switch(_.algorithm){case"lttb":ut=lttbDecimation(it,Ut,ct,j,_);break;case"min-max":ut=minMaxDecimation(it,Ut,ct,j);break;default:throw new Error(`Unsupported decimation algorithm '${_.algorithm}'`)}$._decimated=ut})},destroy(o){cleanDecimatedData(o)}};function _segments(o,s,_){const j=o.segments,$=o.points,et=s.points,tt=[];for(const nt of j){let{start:rt,end:it}=nt;it=_findSegmentEnd(rt,it,$);const st=_getBounds(_,$[rt],$[it],nt.loop);if(!s.segments){tt.push({source:nt,target:st,start:$[rt],end:$[it]});continue}const Ut=_boundSegments(s,st);for(const ct of Ut){const Ft=_getBounds(_,et[ct.start],et[ct.end],ct.loop),ut=_boundSegment(nt,$,Ft);for(const Qt of ut)tt.push({source:Qt,target:ct,start:{[_]:_getEdge(st,Ft,"start",Math.max)},end:{[_]:_getEdge(st,Ft,"end",Math.min)}})}}return tt}function _getBounds(o,s,_,j){if(j)return;let $=s[o],et=_[o];return o==="angle"&&($=_normalizeAngle($),et=_normalizeAngle(et)),{property:o,start:$,end:et}}function _pointsFromSegments(o,s){const{x:_=null,y:j=null}=o||{},$=s.points,et=[];return s.segments.forEach(({start:tt,end:nt})=>{nt=_findSegmentEnd(tt,nt,$);const rt=$[tt],it=$[nt];j!==null?(et.push({x:rt.x,y:j}),et.push({x:it.x,y:j})):_!==null&&(et.push({x:_,y:rt.y}),et.push({x:_,y:it.y}))}),et}function _findSegmentEnd(o,s,_){for(;s>o;s--){const j=_[s];if(!isNaN(j.x)&&!isNaN(j.y))break}return s}function _getEdge(o,s,_,j){return o&&s?j(o[_],s[_]):o?o[_]:s?s[_]:0}function _createBoundaryLine(o,s){let _=[],j=!1;return isArray(o)?(j=!0,_=o):_=_pointsFromSegments(o,s),_.length?new LineElement({points:_,options:{tension:0},_loop:j,_fullLoop:j}):null}function _shouldApplyFill(o){return o&&o.fill!==!1}function _resolveTarget(o,s,_){let $=o[s].fill;const et=[s];let tt;if(!_)return $;for(;$!==!1&&et.indexOf($)===-1;){if(!isNumberFinite($))return $;if(tt=o[$],!tt)return!1;if(tt.visible)return $;et.push($),$=tt.fill}return!1}function _decodeFill(o,s,_){const j=parseFillOption(o);if(isObject(j))return isNaN(j.value)?!1:j;let $=parseFloat(j);return isNumberFinite($)&&Math.floor($)===$?decodeTargetIndex(j[0],s,$,_):["origin","start","end","stack","shape"].indexOf(j)>=0&&j}function decodeTargetIndex(o,s,_,j){return(o==="-"||o==="+")&&(_=s+_),_===s||_<0||_>=j?!1:_}function _getTargetPixel(o,s){let _=null;return o==="start"?_=s.bottom:o==="end"?_=s.top:isObject(o)?_=s.getPixelForValue(o.value):s.getBasePixel&&(_=s.getBasePixel()),_}function _getTargetValue(o,s,_){let j;return o==="start"?j=_:o==="end"?j=s.options.reverse?s.min:s.max:isObject(o)?j=o.value:j=s.getBaseValue(),j}function parseFillOption(o){const s=o.options,_=s.fill;let j=valueOrDefault(_&&_.target,_);return j===void 0&&(j=!!s.backgroundColor),j===!1||j===null?!1:j===!0?"origin":j}function _buildStackLine(o){const{scale:s,index:_,line:j}=o,$=[],et=j.segments,tt=j.points,nt=getLinesBelow(s,_);nt.push(_createBoundaryLine({x:null,y:s.bottom},j));for(let rt=0;rt=0;--tt){const nt=$[tt].$filler;nt&&(nt.line.updateControlPoints(et,nt.axis),j&&nt.fill&&_drawfill(o.ctx,nt,et))}},beforeDatasetsDraw(o,s,_){if(_.drawTime!=="beforeDatasetsDraw")return;const j=o.getSortedVisibleDatasetMetas();for(let $=j.length-1;$>=0;--$){const et=j[$].$filler;_shouldApplyFill(et)&&_drawfill(o.ctx,et,o.chartArea)}},beforeDatasetDraw(o,s,_){const j=s.meta.$filler;!_shouldApplyFill(j)||_.drawTime!=="beforeDatasetDraw"||_drawfill(o.ctx,j,o.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(o,s)=>{let{boxHeight:_=s,boxWidth:j=s}=o;return o.usePointStyle&&(_=Math.min(_,s),j=o.pointStyleWidth||Math.min(j,s)),{boxWidth:j,boxHeight:_,itemHeight:Math.max(s,_)}},itemsEqual=(o,s)=>o!==null&&s!==null&&o.datasetIndex===s.datasetIndex&&o.index===s.index;class Legend extends Element{constructor(s){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=s.chart,this.options=s.options,this.ctx=s.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(s,_,j){this.maxWidth=s,this.maxHeight=_,this._margins=j,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const s=this.options.labels||{};let _=callback(s.generateLabels,[this.chart],this)||[];s.filter&&(_=_.filter(j=>s.filter(j,this.chart.data))),s.sort&&(_=_.sort((j,$)=>s.sort(j,$,this.chart.data))),this.options.reverse&&_.reverse(),this.legendItems=_}fit(){const{options:s,ctx:_}=this;if(!s.display){this.width=this.height=0;return}const j=s.labels,$=toFont(j.font),et=$.size,tt=this._computeTitleHeight(),{boxWidth:nt,itemHeight:rt}=getBoxSize(j,et);let it,st;_.font=$.string,this.isHorizontal()?(it=this.maxWidth,st=this._fitRows(tt,et,nt,rt)+10):(st=this.maxHeight,it=this._fitCols(tt,$,nt,rt)+10),this.width=Math.min(it,s.maxWidth||this.maxWidth),this.height=Math.min(st,s.maxHeight||this.maxHeight)}_fitRows(s,_,j,$){const{ctx:et,maxWidth:tt,options:{labels:{padding:nt}}}=this,rt=this.legendHitBoxes=[],it=this.lineWidths=[0],st=$+nt;let Ut=s;et.textAlign="left",et.textBaseline="middle";let ct=-1,Ft=-st;return this.legendItems.forEach((ut,Qt)=>{const pt=j+_/2+et.measureText(ut.text).width;(Qt===0||it[it.length-1]+pt+2*nt>tt)&&(Ut+=st,it[it.length-(Qt>0?0:1)]=0,Ft+=st,ct++),rt[Qt]={left:0,top:Ft,row:ct,width:pt,height:$},it[it.length-1]+=pt+nt}),Ut}_fitCols(s,_,j,$){const{ctx:et,maxHeight:tt,options:{labels:{padding:nt}}}=this,rt=this.legendHitBoxes=[],it=this.columnSizes=[],st=tt-s;let Ut=nt,ct=0,Ft=0,ut=0,Qt=0;return this.legendItems.forEach((pt,ft)=>{const{itemWidth:mt,itemHeight:ht}=calculateItemSize(j,_,et,pt,$);ft>0&&Ft+ht+2*nt>st&&(Ut+=ct+nt,it.push({width:ct,height:Ft}),ut+=ct+nt,Qt++,ct=Ft=0),rt[ft]={left:ut,top:Ft,col:Qt,width:mt,height:ht},ct=Math.max(ct,mt),Ft+=ht+nt}),Ut+=ct,it.push({width:ct,height:Ft}),Ut}adjustHitBoxes(){if(!this.options.display)return;const s=this._computeTitleHeight(),{legendHitBoxes:_,options:{align:j,labels:{padding:$},rtl:et}}=this,tt=getRtlAdapter(et,this.left,this.width);if(this.isHorizontal()){let nt=0,rt=_alignStartEnd(j,this.left+$,this.right-this.lineWidths[nt]);for(const it of _)nt!==it.row&&(nt=it.row,rt=_alignStartEnd(j,this.left+$,this.right-this.lineWidths[nt])),it.top+=this.top+s+$,it.left=tt.leftForLtr(tt.x(rt),it.width),rt+=it.width+$}else{let nt=0,rt=_alignStartEnd(j,this.top+s+$,this.bottom-this.columnSizes[nt].height);for(const it of _)it.col!==nt&&(nt=it.col,rt=_alignStartEnd(j,this.top+s+$,this.bottom-this.columnSizes[nt].height)),it.top=rt,it.left+=this.left+$,it.left=tt.leftForLtr(tt.x(it.left),it.width),rt+=it.height+$}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const s=this.ctx;clipArea(s,this),this._draw(),unclipArea(s)}}_draw(){const{options:s,columnSizes:_,lineWidths:j,ctx:$}=this,{align:et,labels:tt}=s,nt=defaults.color,rt=getRtlAdapter(s.rtl,this.left,this.width),it=toFont(tt.font),{padding:st}=tt,Ut=it.size,ct=Ut/2;let Ft;this.drawTitle(),$.textAlign=rt.textAlign("left"),$.textBaseline="middle",$.lineWidth=.5,$.font=it.string;const{boxWidth:ut,boxHeight:Qt,itemHeight:pt}=getBoxSize(tt,Ut),ft=function(Dt,Ct,Mt){if(isNaN(ut)||ut<=0||isNaN(Qt)||Qt<0)return;$.save();const yt=valueOrDefault(Mt.lineWidth,1);if($.fillStyle=valueOrDefault(Mt.fillStyle,nt),$.lineCap=valueOrDefault(Mt.lineCap,"butt"),$.lineDashOffset=valueOrDefault(Mt.lineDashOffset,0),$.lineJoin=valueOrDefault(Mt.lineJoin,"miter"),$.lineWidth=yt,$.strokeStyle=valueOrDefault(Mt.strokeStyle,nt),$.setLineDash(valueOrDefault(Mt.lineDash,[])),tt.usePointStyle){const Yt={radius:Qt*Math.SQRT2/2,pointStyle:Mt.pointStyle,rotation:Mt.rotation,borderWidth:yt},Zt=rt.xPlus(Dt,ut/2),vt=Ct+ct;drawPointLegend($,Yt,Zt,vt,tt.pointStyleWidth&&ut)}else{const Yt=Ct+Math.max((Ut-Qt)/2,0),Zt=rt.leftForLtr(Dt,ut),vt=toTRBLCorners(Mt.borderRadius);$.beginPath(),Object.values(vt).some(bt=>bt!==0)?addRoundedRectPath($,{x:Zt,y:Yt,w:ut,h:Qt,radius:vt}):$.rect(Zt,Yt,ut,Qt),$.fill(),yt!==0&&$.stroke()}$.restore()},mt=function(Dt,Ct,Mt){renderText($,Mt.text,Dt,Ct+pt/2,it,{strikethrough:Mt.hidden,textAlign:rt.textAlign(Mt.textAlign)})},ht=this.isHorizontal(),Vt=this._computeTitleHeight();ht?Ft={x:_alignStartEnd(et,this.left+st,this.right-j[0]),y:this.top+st+Vt,line:0}:Ft={x:this.left+st,y:_alignStartEnd(et,this.top+Vt+st,this.bottom-_[0].height),line:0},overrideTextDirection(this.ctx,s.textDirection);const Rt=pt+st;this.legendItems.forEach((Dt,Ct)=>{$.strokeStyle=Dt.fontColor,$.fillStyle=Dt.fontColor;const Mt=$.measureText(Dt.text).width,yt=rt.textAlign(Dt.textAlign||(Dt.textAlign=tt.textAlign)),Yt=ut+ct+Mt;let Zt=Ft.x,vt=Ft.y;rt.setWidth(this.width),ht?Ct>0&&Zt+Yt+st>this.right&&(vt=Ft.y+=Rt,Ft.line++,Zt=Ft.x=_alignStartEnd(et,this.left+st,this.right-j[Ft.line])):Ct>0&&vt+Rt>this.bottom&&(Zt=Ft.x=Zt+_[Ft.line].width+st,Ft.line++,vt=Ft.y=_alignStartEnd(et,this.top+Vt+st,this.bottom-_[Ft.line].height));const bt=rt.x(Zt);if(ft(bt,vt,Dt),Zt=_textX(yt,Zt+ut+ct,ht?Zt+Yt:this.right,s.rtl),mt(rt.x(Zt),vt,Dt),ht)Ft.x+=Yt+st;else if(typeof Dt.text!="string"){const Wt=it.lineHeight;Ft.y+=calculateLegendItemHeight(Dt,Wt)}else Ft.y+=Rt}),restoreTextDirection(this.ctx,s.textDirection)}drawTitle(){const s=this.options,_=s.title,j=toFont(_.font),$=toPadding(_.padding);if(!_.display)return;const et=getRtlAdapter(s.rtl,this.left,this.width),tt=this.ctx,nt=_.position,rt=j.size/2,it=$.top+rt;let st,Ut=this.left,ct=this.width;if(this.isHorizontal())ct=Math.max(...this.lineWidths),st=this.top+it,Ut=_alignStartEnd(s.align,Ut,this.right-ct);else{const ut=this.columnSizes.reduce((Qt,pt)=>Math.max(Qt,pt.height),0);st=it+_alignStartEnd(s.align,this.top,this.bottom-ut-s.labels.padding-this._computeTitleHeight())}const Ft=_alignStartEnd(nt,Ut,Ut+ct);tt.textAlign=et.textAlign(_toLeftRightCenter(nt)),tt.textBaseline="middle",tt.strokeStyle=_.color,tt.fillStyle=_.color,tt.font=j.string,renderText(tt,_.text,Ft,st,j)}_computeTitleHeight(){const s=this.options.title,_=toFont(s.font),j=toPadding(s.padding);return s.display?_.lineHeight+j.height:0}_getLegendItemAt(s,_){let j,$,et;if(_isBetween(s,this.left,this.right)&&_isBetween(_,this.top,this.bottom)){for(et=this.legendHitBoxes,j=0;jet.length>tt.length?et:tt)),s+_.size/2+j.measureText($).width}function calculateItemHeight(o,s,_){let j=o;return typeof s.text!="string"&&(j=calculateLegendItemHeight(s,_)),j}function calculateLegendItemHeight(o,s){const _=o.text?o.text.length+.5:0;return s*_}function isListened(o,s){return!!((o==="mousemove"||o==="mouseout")&&(s.onHover||s.onLeave)||s.onClick&&(o==="click"||o==="mouseup"))}var plugin_legend={id:"legend",_element:Legend,start(o,s,_){const j=o.legend=new Legend({ctx:o.ctx,options:_,chart:o});layouts.configure(o,j,_),layouts.addBox(o,j)},stop(o){layouts.removeBox(o,o.legend),delete o.legend},beforeUpdate(o,s,_){const j=o.legend;layouts.configure(o,j,_),j.options=_},afterUpdate(o){const s=o.legend;s.buildLabels(),s.adjustHitBoxes()},afterEvent(o,s){s.replay||o.legend.handleEvent(s.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(o,s,_){const j=s.datasetIndex,$=_.chart;$.isDatasetVisible(j)?($.hide(j),s.hidden=!0):($.show(j),s.hidden=!1)},onHover:null,onLeave:null,labels:{color:o=>o.chart.options.color,boxWidth:40,padding:10,generateLabels(o){const s=o.data.datasets,{labels:{usePointStyle:_,pointStyle:j,textAlign:$,color:et,useBorderRadius:tt,borderRadius:nt}}=o.legend.options;return o._getSortedDatasetMetas().map(rt=>{const it=rt.controller.getStyle(_?0:void 0),st=toPadding(it.borderWidth);return{text:s[rt.index].label,fillStyle:it.backgroundColor,fontColor:et,hidden:!rt.visible,lineCap:it.borderCapStyle,lineDash:it.borderDash,lineDashOffset:it.borderDashOffset,lineJoin:it.borderJoinStyle,lineWidth:(st.width+st.height)/4,strokeStyle:it.borderColor,pointStyle:j||it.pointStyle,rotation:it.rotation,textAlign:$||it.textAlign,borderRadius:tt&&(nt||it.borderRadius),datasetIndex:rt.index}},this)}},title:{color:o=>o.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:o=>!o.startsWith("on"),labels:{_scriptable:o=>!["generateLabels","filter","sort"].includes(o)}}};class Title extends Element{constructor(s){super(),this.chart=s.chart,this.options=s.options,this.ctx=s.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(s,_){const j=this.options;if(this.left=0,this.top=0,!j.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=s,this.height=this.bottom=_;const $=isArray(j.text)?j.text.length:1;this._padding=toPadding(j.padding);const et=$*toFont(j.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=et:this.width=et}isHorizontal(){const s=this.options.position;return s==="top"||s==="bottom"}_drawArgs(s){const{top:_,left:j,bottom:$,right:et,options:tt}=this,nt=tt.align;let rt=0,it,st,Ut;return this.isHorizontal()?(st=_alignStartEnd(nt,j,et),Ut=_+s,it=et-j):(tt.position==="left"?(st=j+s,Ut=_alignStartEnd(nt,$,_),rt=PI*-.5):(st=et-s,Ut=_alignStartEnd(nt,_,$),rt=PI*.5),it=$-_),{titleX:st,titleY:Ut,maxWidth:it,rotation:rt}}draw(){const s=this.ctx,_=this.options;if(!_.display)return;const j=toFont(_.font),et=j.lineHeight/2+this._padding.top,{titleX:tt,titleY:nt,maxWidth:rt,rotation:it}=this._drawArgs(et);renderText(s,_.text,0,0,j,{color:_.color,maxWidth:rt,rotation:it,textAlign:_toLeftRightCenter(_.align),textBaseline:"middle",translation:[tt,nt]})}}function createTitle(o,s){const _=new Title({ctx:o.ctx,options:s,chart:o});layouts.configure(o,_,s),layouts.addBox(o,_),o.titleBlock=_}var plugin_title={id:"title",_element:Title,start(o,s,_){createTitle(o,_)},stop(o){const s=o.titleBlock;layouts.removeBox(o,s),delete o.titleBlock},beforeUpdate(o,s,_){const j=o.titleBlock;layouts.configure(o,j,_),j.options=_},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const map=new WeakMap;var plugin_subtitle={id:"subtitle",start(o,s,_){const j=new Title({ctx:o.ctx,options:_,chart:o});layouts.configure(o,j,_),layouts.addBox(o,j),map.set(o,j)},stop(o){layouts.removeBox(o,map.get(o)),map.delete(o)},beforeUpdate(o,s,_){const j=map.get(o);layouts.configure(o,j,_),j.options=_},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const positioners={average(o){if(!o.length)return!1;let s,_,j=0,$=0,et=0;for(s=0,_=o.length;s<_;++s){const tt=o[s].element;if(tt&&tt.hasValue()){const nt=tt.tooltipPosition();j+=nt.x,$+=nt.y,++et}}return{x:j/et,y:$/et}},nearest(o,s){if(!o.length)return!1;let _=s.x,j=s.y,$=Number.POSITIVE_INFINITY,et,tt,nt;for(et=0,tt=o.length;et-1?o.split(` +`):o}function createTooltipItem(o,s){const{element:_,datasetIndex:j,index:$}=s,et=o.getDatasetMeta(j).controller,{label:tt,value:nt}=et.getLabelAndValue($);return{chart:o,label:tt,parsed:et.getParsed($),raw:o.data.datasets[j].data[$],formattedValue:nt,dataset:et.getDataset(),dataIndex:$,datasetIndex:j,element:_}}function getTooltipSize(o,s){const _=o.chart.ctx,{body:j,footer:$,title:et}=o,{boxWidth:tt,boxHeight:nt}=s,rt=toFont(s.bodyFont),it=toFont(s.titleFont),st=toFont(s.footerFont),Ut=et.length,ct=$.length,Ft=j.length,ut=toPadding(s.padding);let Qt=ut.height,pt=0,ft=j.reduce((Vt,Rt)=>Vt+Rt.before.length+Rt.lines.length+Rt.after.length,0);if(ft+=o.beforeBody.length+o.afterBody.length,Ut&&(Qt+=Ut*it.lineHeight+(Ut-1)*s.titleSpacing+s.titleMarginBottom),ft){const Vt=s.displayColors?Math.max(nt,rt.lineHeight):rt.lineHeight;Qt+=Ft*Vt+(ft-Ft)*rt.lineHeight+(ft-1)*s.bodySpacing}ct&&(Qt+=s.footerMarginTop+ct*st.lineHeight+(ct-1)*s.footerSpacing);let mt=0;const ht=function(Vt){pt=Math.max(pt,_.measureText(Vt).width+mt)};return _.save(),_.font=it.string,each(o.title,ht),_.font=rt.string,each(o.beforeBody.concat(o.afterBody),ht),mt=s.displayColors?tt+2+s.boxPadding:0,each(j,Vt=>{each(Vt.before,ht),each(Vt.lines,ht),each(Vt.after,ht)}),mt=0,_.font=st.string,each(o.footer,ht),_.restore(),pt+=ut.width,{width:pt,height:Qt}}function determineYAlign(o,s){const{y:_,height:j}=s;return _o.height-j/2?"bottom":"center"}function doesNotFitWithAlign(o,s,_,j){const{x:$,width:et}=j,tt=_.caretSize+_.caretPadding;if(o==="left"&&$+et+tt>s.width||o==="right"&&$-et-tt<0)return!0}function determineXAlign(o,s,_,j){const{x:$,width:et}=_,{width:tt,chartArea:{left:nt,right:rt}}=o;let it="center";return j==="center"?it=$<=(nt+rt)/2?"left":"right":$<=et/2?it="left":$>=tt-et/2&&(it="right"),doesNotFitWithAlign(it,o,s,_)&&(it="center"),it}function determineAlignment(o,s,_){const j=_.yAlign||s.yAlign||determineYAlign(o,_);return{xAlign:_.xAlign||s.xAlign||determineXAlign(o,s,_,j),yAlign:j}}function alignX(o,s){let{x:_,width:j}=o;return s==="right"?_-=j:s==="center"&&(_-=j/2),_}function alignY(o,s,_){let{y:j,height:$}=o;return s==="top"?j+=_:s==="bottom"?j-=$+_:j-=$/2,j}function getBackgroundPoint(o,s,_,j){const{caretSize:$,caretPadding:et,cornerRadius:tt}=o,{xAlign:nt,yAlign:rt}=_,it=$+et,{topLeft:st,topRight:Ut,bottomLeft:ct,bottomRight:Ft}=toTRBLCorners(tt);let ut=alignX(s,nt);const Qt=alignY(s,rt,it);return rt==="center"?nt==="left"?ut+=it:nt==="right"&&(ut-=it):nt==="left"?ut-=Math.max(st,ct)+$:nt==="right"&&(ut+=Math.max(Ut,Ft)+$),{x:_limitValue(ut,0,j.width-s.width),y:_limitValue(Qt,0,j.height-s.height)}}function getAlignedX(o,s,_){const j=toPadding(_.padding);return s==="center"?o.x+o.width/2:s==="right"?o.x+o.width-j.right:o.x+j.left}function getBeforeAfterBodyLines(o){return pushOrConcat([],splitNewlines(o))}function createTooltipContext(o,s,_){return createContext(o,{tooltip:s,tooltipItems:_,type:"tooltip"})}function overrideCallbacks(o,s){const _=s&&s.dataset&&s.dataset.tooltip&&s.dataset.tooltip.callbacks;return _?o.override(_):o}const defaultCallbacks={beforeTitle:noop,title(o){if(o.length>0){const s=o[0],_=s.chart.data.labels,j=_?_.length:0;if(this&&this.options&&this.options.mode==="dataset")return s.dataset.label||"";if(s.label)return s.label;if(j>0&&s.dataIndex"u"?defaultCallbacks[s].call(_,j):$}class Tooltip extends Element{constructor(s){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=s.chart,this.options=s.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(s){this.options=s,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const s=this._cachedAnimations;if(s)return s;const _=this.chart,j=this.options.setContext(this.getContext()),$=j.enabled&&_.options.animation&&j.animations,et=new Animations(this.chart,$);return $._cacheable&&(this._cachedAnimations=Object.freeze(et)),et}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(s,_){const{callbacks:j}=_,$=invokeCallbackWithFallback(j,"beforeTitle",this,s),et=invokeCallbackWithFallback(j,"title",this,s),tt=invokeCallbackWithFallback(j,"afterTitle",this,s);let nt=[];return nt=pushOrConcat(nt,splitNewlines($)),nt=pushOrConcat(nt,splitNewlines(et)),nt=pushOrConcat(nt,splitNewlines(tt)),nt}getBeforeBody(s,_){return getBeforeAfterBodyLines(invokeCallbackWithFallback(_.callbacks,"beforeBody",this,s))}getBody(s,_){const{callbacks:j}=_,$=[];return each(s,et=>{const tt={before:[],lines:[],after:[]},nt=overrideCallbacks(j,et);pushOrConcat(tt.before,splitNewlines(invokeCallbackWithFallback(nt,"beforeLabel",this,et))),pushOrConcat(tt.lines,invokeCallbackWithFallback(nt,"label",this,et)),pushOrConcat(tt.after,splitNewlines(invokeCallbackWithFallback(nt,"afterLabel",this,et))),$.push(tt)}),$}getAfterBody(s,_){return getBeforeAfterBodyLines(invokeCallbackWithFallback(_.callbacks,"afterBody",this,s))}getFooter(s,_){const{callbacks:j}=_,$=invokeCallbackWithFallback(j,"beforeFooter",this,s),et=invokeCallbackWithFallback(j,"footer",this,s),tt=invokeCallbackWithFallback(j,"afterFooter",this,s);let nt=[];return nt=pushOrConcat(nt,splitNewlines($)),nt=pushOrConcat(nt,splitNewlines(et)),nt=pushOrConcat(nt,splitNewlines(tt)),nt}_createItems(s){const _=this._active,j=this.chart.data,$=[],et=[],tt=[];let nt=[],rt,it;for(rt=0,it=_.length;rts.filter(st,Ut,ct,j))),s.itemSort&&(nt=nt.sort((st,Ut)=>s.itemSort(st,Ut,j))),each(nt,st=>{const Ut=overrideCallbacks(s.callbacks,st);$.push(invokeCallbackWithFallback(Ut,"labelColor",this,st)),et.push(invokeCallbackWithFallback(Ut,"labelPointStyle",this,st)),tt.push(invokeCallbackWithFallback(Ut,"labelTextColor",this,st))}),this.labelColors=$,this.labelPointStyles=et,this.labelTextColors=tt,this.dataPoints=nt,nt}update(s,_){const j=this.options.setContext(this.getContext()),$=this._active;let et,tt=[];if(!$.length)this.opacity!==0&&(et={opacity:0});else{const nt=positioners[j.position].call(this,$,this._eventPosition);tt=this._createItems(j),this.title=this.getTitle(tt,j),this.beforeBody=this.getBeforeBody(tt,j),this.body=this.getBody(tt,j),this.afterBody=this.getAfterBody(tt,j),this.footer=this.getFooter(tt,j);const rt=this._size=getTooltipSize(this,j),it=Object.assign({},nt,rt),st=determineAlignment(this.chart,j,it),Ut=getBackgroundPoint(j,it,st,this.chart);this.xAlign=st.xAlign,this.yAlign=st.yAlign,et={opacity:1,x:Ut.x,y:Ut.y,width:rt.width,height:rt.height,caretX:nt.x,caretY:nt.y}}this._tooltipItems=tt,this.$context=void 0,et&&this._resolveAnimations().update(this,et),s&&j.external&&j.external.call(this,{chart:this.chart,tooltip:this,replay:_})}drawCaret(s,_,j,$){const et=this.getCaretPosition(s,j,$);_.lineTo(et.x1,et.y1),_.lineTo(et.x2,et.y2),_.lineTo(et.x3,et.y3)}getCaretPosition(s,_,j){const{xAlign:$,yAlign:et}=this,{caretSize:tt,cornerRadius:nt}=j,{topLeft:rt,topRight:it,bottomLeft:st,bottomRight:Ut}=toTRBLCorners(nt),{x:ct,y:Ft}=s,{width:ut,height:Qt}=_;let pt,ft,mt,ht,Vt,Rt;return et==="center"?(Vt=Ft+Qt/2,$==="left"?(pt=ct,ft=pt-tt,ht=Vt+tt,Rt=Vt-tt):(pt=ct+ut,ft=pt+tt,ht=Vt-tt,Rt=Vt+tt),mt=pt):($==="left"?ft=ct+Math.max(rt,st)+tt:$==="right"?ft=ct+ut-Math.max(it,Ut)-tt:ft=this.caretX,et==="top"?(ht=Ft,Vt=ht-tt,pt=ft-tt,mt=ft+tt):(ht=Ft+Qt,Vt=ht+tt,pt=ft+tt,mt=ft-tt),Rt=ht),{x1:pt,x2:ft,x3:mt,y1:ht,y2:Vt,y3:Rt}}drawTitle(s,_,j){const $=this.title,et=$.length;let tt,nt,rt;if(et){const it=getRtlAdapter(j.rtl,this.x,this.width);for(s.x=getAlignedX(this,j.titleAlign,j),_.textAlign=it.textAlign(j.titleAlign),_.textBaseline="middle",tt=toFont(j.titleFont),nt=j.titleSpacing,_.fillStyle=j.titleColor,_.font=tt.string,rt=0;rtht!==0)?(s.beginPath(),s.fillStyle=et.multiKeyBackground,addRoundedRectPath(s,{x:pt,y:Qt,w:it,h:rt,radius:mt}),s.fill(),s.stroke(),s.fillStyle=tt.backgroundColor,s.beginPath(),addRoundedRectPath(s,{x:ft,y:Qt+1,w:it-2,h:rt-2,radius:mt}),s.fill()):(s.fillStyle=et.multiKeyBackground,s.fillRect(pt,Qt,it,rt),s.strokeRect(pt,Qt,it,rt),s.fillStyle=tt.backgroundColor,s.fillRect(ft,Qt+1,it-2,rt-2))}s.fillStyle=this.labelTextColors[j]}drawBody(s,_,j){const{body:$}=this,{bodySpacing:et,bodyAlign:tt,displayColors:nt,boxHeight:rt,boxWidth:it,boxPadding:st}=j,Ut=toFont(j.bodyFont);let ct=Ut.lineHeight,Ft=0;const ut=getRtlAdapter(j.rtl,this.x,this.width),Qt=function(Mt){_.fillText(Mt,ut.x(s.x+Ft),s.y+ct/2),s.y+=ct+et},pt=ut.textAlign(tt);let ft,mt,ht,Vt,Rt,Dt,Ct;for(_.textAlign=tt,_.textBaseline="middle",_.font=Ut.string,s.x=getAlignedX(this,pt,j),_.fillStyle=j.bodyColor,each(this.beforeBody,Qt),Ft=nt&&pt!=="right"?tt==="center"?it/2+st:it+2+st:0,Vt=0,Dt=$.length;Vt0&&_.stroke()}_updateAnimationTarget(s){const _=this.chart,j=this.$animations,$=j&&j.x,et=j&&j.y;if($||et){const tt=positioners[s.position].call(this,this._active,this._eventPosition);if(!tt)return;const nt=this._size=getTooltipSize(this,s),rt=Object.assign({},tt,this._size),it=determineAlignment(_,s,rt),st=getBackgroundPoint(s,rt,it,_);($._to!==st.x||et._to!==st.y)&&(this.xAlign=it.xAlign,this.yAlign=it.yAlign,this.width=nt.width,this.height=nt.height,this.caretX=tt.x,this.caretY=tt.y,this._resolveAnimations().update(this,st))}}_willRender(){return!!this.opacity}draw(s){const _=this.options.setContext(this.getContext());let j=this.opacity;if(!j)return;this._updateAnimationTarget(_);const $={width:this.width,height:this.height},et={x:this.x,y:this.y};j=Math.abs(j)<.001?0:j;const tt=toPadding(_.padding),nt=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;_.enabled&&nt&&(s.save(),s.globalAlpha=j,this.drawBackground(et,s,$,_),overrideTextDirection(s,_.textDirection),et.y+=tt.top,this.drawTitle(et,s,_),this.drawBody(et,s,_),this.drawFooter(et,s,_),restoreTextDirection(s,_.textDirection),s.restore())}getActiveElements(){return this._active||[]}setActiveElements(s,_){const j=this._active,$=s.map(({datasetIndex:nt,index:rt})=>{const it=this.chart.getDatasetMeta(nt);if(!it)throw new Error("Cannot find a dataset at index "+nt);return{datasetIndex:nt,element:it.data[rt],index:rt}}),et=!_elementsEqual(j,$),tt=this._positionChanged($,_);(et||tt)&&(this._active=$,this._eventPosition=_,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(s,_,j=!0){if(_&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const $=this.options,et=this._active||[],tt=this._getActiveElements(s,et,_,j),nt=this._positionChanged(tt,s),rt=_||!_elementsEqual(tt,et)||nt;return rt&&(this._active=tt,($.enabled||$.external)&&(this._eventPosition={x:s.x,y:s.y},this.update(!0,_))),rt}_getActiveElements(s,_,j,$){const et=this.options;if(s.type==="mouseout")return[];if(!$)return _;const tt=this.chart.getElementsAtEventForMode(s,et.mode,et,j);return et.reverse&&tt.reverse(),tt}_positionChanged(s,_){const{caretX:j,caretY:$,options:et}=this,tt=positioners[et.position].call(this,s,_);return tt!==!1&&(j!==tt.x||$!==tt.y)}}fr(Tooltip,"positioners",positioners);var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(o,s,_){_&&(o.tooltip=new Tooltip({chart:o,options:_}))},beforeUpdate(o,s,_){o.tooltip&&o.tooltip.initialize(_)},reset(o,s,_){o.tooltip&&o.tooltip.initialize(_)},afterDraw(o){const s=o.tooltip;if(s&&s._willRender()){const _={tooltip:s};if(o.notifyPlugins("beforeTooltipDraw",{..._,cancelable:!0})===!1)return;s.draw(o.ctx),o.notifyPlugins("afterTooltipDraw",_)}},afterEvent(o,s){if(o.tooltip){const _=s.replay;o.tooltip.handleEvent(s.event,_,s.inChartArea)&&(s.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(o,s)=>s.bodyFont.size,boxWidth:(o,s)=>s.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:o=>o!=="filter"&&o!=="itemSort"&&o!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Colors:plugin_colors,Decimation:plugin_decimation,Filler:index$1,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip});const addIfString=(o,s,_,j)=>(typeof s=="string"?(_=o.push(s)-1,j.unshift({index:_,label:s})):isNaN(s)&&(_=null),_);function findOrAddLabel(o,s,_,j){const $=o.indexOf(s);if($===-1)return addIfString(o,s,_,j);const et=o.lastIndexOf(s);return $!==et?_:$}const validIndex=(o,s)=>o===null?null:_limitValue(Math.round(o),0,s);function _getLabelForValue(o){const s=this.getLabels();return o>=0&&o_.length-1?null:this.getPixelForValue(_[s].value)}getValueForPixel(s){return Math.round(this._startValue+this.getDecimalForPixel(s)*this._valueRange)}getBasePixel(){return this.bottom}}fr(CategoryScale,"id","category"),fr(CategoryScale,"defaults",{ticks:{callback:_getLabelForValue}});function generateTicks$1(o,s){const _=[],{bounds:$,step:et,min:tt,max:nt,precision:rt,count:it,maxTicks:st,maxDigits:Ut,includeBounds:ct}=o,Ft=et||1,ut=st-1,{min:Qt,max:pt}=s,ft=!isNullOrUndef(tt),mt=!isNullOrUndef(nt),ht=!isNullOrUndef(it),Vt=(pt-Qt)/(Ut+1);let Rt=niceNum((pt-Qt)/ut/Ft)*Ft,Dt,Ct,Mt,yt;if(Rt<1e-14&&!ft&&!mt)return[{value:Qt},{value:pt}];yt=Math.ceil(pt/Rt)-Math.floor(Qt/Rt),yt>ut&&(Rt=niceNum(yt*Rt/ut/Ft)*Ft),isNullOrUndef(rt)||(Dt=Math.pow(10,rt),Rt=Math.ceil(Rt*Dt)/Dt),$==="ticks"?(Ct=Math.floor(Qt/Rt)*Rt,Mt=Math.ceil(pt/Rt)*Rt):(Ct=Qt,Mt=pt),ft&&mt&&et&&almostWhole((nt-tt)/et,Rt/1e3)?(yt=Math.round(Math.min((nt-tt)/Rt,st)),Rt=(nt-tt)/yt,Ct=tt,Mt=nt):ht?(Ct=ft?tt:Ct,Mt=mt?nt:Mt,yt=it-1,Rt=(Mt-Ct)/yt):(yt=(Mt-Ct)/Rt,almostEquals(yt,Math.round(yt),Rt/1e3)?yt=Math.round(yt):yt=Math.ceil(yt));const Yt=Math.max(_decimalPlaces(Rt),_decimalPlaces(Ct));Dt=Math.pow(10,isNullOrUndef(rt)?Yt:rt),Ct=Math.round(Ct*Dt)/Dt,Mt=Math.round(Mt*Dt)/Dt;let Zt=0;for(ft&&(ct&&Ct!==tt?(_.push({value:tt}),Ct$=_?$:rt,nt=rt=>et=j?et:rt;if(s){const rt=sign($),it=sign(et);rt<0&&it<0?nt(0):rt>0&&it>0&&tt(0)}if($===et){let rt=et===0?1:Math.abs(et*.05);nt(et+rt),s||tt($-rt)}this.min=$,this.max=et}getTickLimit(){const s=this.options.ticks;let{maxTicksLimit:_,stepSize:j}=s,$;return j?($=Math.ceil(this.max/j)-Math.floor(this.min/j)+1,$>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${j} would result generating up to ${$} ticks. Limiting to 1000.`),$=1e3)):($=this.computeTickLimit(),_=_||11),_&&($=Math.min(_,$)),$}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const s=this.options,_=s.ticks;let j=this.getTickLimit();j=Math.max(2,j);const $={maxTicks:j,bounds:s.bounds,min:s.min,max:s.max,precision:_.precision,step:_.stepSize,count:_.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:_.minRotation||0,includeBounds:_.includeBounds!==!1},et=this._range||this,tt=generateTicks$1($,et);return s.bounds==="ticks"&&_setMinAndMaxByKey(tt,this,"value"),s.reverse?(tt.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),tt}configure(){const s=this.ticks;let _=this.min,j=this.max;if(super.configure(),this.options.offset&&s.length){const $=(j-_)/Math.max(s.length-1,1)/2;_-=$,j+=$}this._startValue=_,this._endValue=j,this._valueRange=j-_}getLabelForValue(s){return formatNumber(s,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{determineDataLimits(){const{min:s,max:_}=this.getMinMax(!0);this.min=isNumberFinite(s)?s:0,this.max=isNumberFinite(_)?_:1,this.handleTickRangeOptions()}computeTickLimit(){const s=this.isHorizontal(),_=s?this.width:this.height,j=toRadians(this.options.ticks.minRotation),$=(s?Math.sin(j):Math.cos(j))||.001,et=this._resolveTickFontOptions(0);return Math.ceil(_/Math.min(40,et.lineHeight/$))}getPixelForValue(s){return s===null?NaN:this.getPixelForDecimal((s-this._startValue)/this._valueRange)}getValueForPixel(s){return this._startValue+this.getDecimalForPixel(s)*this._valueRange}}fr(LinearScale,"id","linear"),fr(LinearScale,"defaults",{ticks:{callback:Ticks.formatters.numeric}});const log10Floor=o=>Math.floor(log10(o)),changeExponent=(o,s)=>Math.pow(10,log10Floor(o)+s);function isMajor(o){return o/Math.pow(10,log10Floor(o))===1}function steps(o,s,_){const j=Math.pow(10,_),$=Math.floor(o/j);return Math.ceil(s/j)-$}function startExp(o,s){const _=s-o;let j=log10Floor(_);for(;steps(o,s,j)>10;)j++;for(;steps(o,s,j)<10;)j--;return Math.min(j,log10Floor(o))}function generateTicks(o,{min:s,max:_}){s=finiteOrDefault(o.min,s);const j=[],$=log10Floor(s);let et=startExp(s,_),tt=et<0?Math.pow(10,Math.abs(et)):1;const nt=Math.pow(10,et),rt=$>et?Math.pow(10,$):0,it=Math.round((s-rt)*tt)/tt,st=Math.floor((s-rt)/nt/10)*nt*10;let Ut=Math.floor((it-st)/Math.pow(10,et)),ct=finiteOrDefault(o.min,Math.round((rt+st+Ut*Math.pow(10,et))*tt)/tt);for(;ct<_;)j.push({value:ct,major:isMajor(ct),significand:Ut}),Ut>=10?Ut=Ut<15?15:20:Ut++,Ut>=20&&(et++,Ut=2,tt=et>=0?1:tt),ct=Math.round((rt+st+Ut*Math.pow(10,et))*tt)/tt;const Ft=finiteOrDefault(o.max,ct);return j.push({value:Ft,major:isMajor(Ft),significand:Ut}),j}class LogarithmicScale extends Scale{constructor(s){super(s),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(s,_){const j=LinearScaleBase.prototype.parse.apply(this,[s,_]);if(j===0){this._zero=!0;return}return isNumberFinite(j)&&j>0?j:null}determineDataLimits(){const{min:s,max:_}=this.getMinMax(!0);this.min=isNumberFinite(s)?Math.max(0,s):null,this.max=isNumberFinite(_)?Math.max(0,_):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=s===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:s,maxDefined:_}=this.getUserBounds();let j=this.min,$=this.max;const et=nt=>j=s?j:nt,tt=nt=>$=_?$:nt;j===$&&(j<=0?(et(1),tt(10)):(et(changeExponent(j,-1)),tt(changeExponent($,1)))),j<=0&&et(changeExponent($,-1)),$<=0&&tt(changeExponent(j,1)),this.min=j,this.max=$}buildTicks(){const s=this.options,_={min:this._userMin,max:this._userMax},j=generateTicks(_,this);return s.bounds==="ticks"&&_setMinAndMaxByKey(j,this,"value"),s.reverse?(j.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),j}getLabelForValue(s){return s===void 0?"0":formatNumber(s,this.chart.options.locale,this.options.ticks.format)}configure(){const s=this.min;super.configure(),this._startValue=log10(s),this._valueRange=log10(this.max)-log10(s)}getPixelForValue(s){return(s===void 0||s===0)&&(s=this.min),s===null||isNaN(s)?NaN:this.getPixelForDecimal(s===this.min?0:(log10(s)-this._startValue)/this._valueRange)}getValueForPixel(s){const _=this.getDecimalForPixel(s);return Math.pow(10,this._startValue+_*this._valueRange)}}fr(LogarithmicScale,"id","logarithmic"),fr(LogarithmicScale,"defaults",{ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}});function getTickBackdropHeight(o){const s=o.ticks;if(s.display&&o.display){const _=toPadding(s.backdropPadding);return valueOrDefault(s.font&&s.font.size,defaults.font.size)+_.height}return 0}function measureLabelSize(o,s,_){return _=isArray(_)?_:[_],{w:_longestText(o,s.string,_),h:_.length*s.lineHeight}}function determineLimits(o,s,_,j,$){return o===j||o===$?{start:s-_/2,end:s+_/2}:o$?{start:s-_,end:s}:{start:s,end:s+_}}function fitWithPointLabels(o){const s={l:o.left+o._padding.left,r:o.right-o._padding.right,t:o.top+o._padding.top,b:o.bottom-o._padding.bottom},_=Object.assign({},s),j=[],$=[],et=o._pointLabels.length,tt=o.options.pointLabels,nt=tt.centerPointLabels?PI/et:0;for(let rt=0;rts.r&&(nt=(j.end-s.r)/et,o.r=Math.max(o.r,s.r+nt)),$.starts.b&&(rt=($.end-s.b)/tt,o.b=Math.max(o.b,s.b+rt))}function buildPointLabelItems(o,s,_){const j=[],$=o._pointLabels.length,et=o.options,tt=getTickBackdropHeight(et)/2,nt=o.drawingArea,rt=et.pointLabels.centerPointLabels?PI/$:0;for(let it=0;it<$;it++){const st=o.getPointPosition(it,nt+tt+_[it],rt),Ut=Math.round(toDegrees(_normalizeAngle(st.angle+HALF_PI))),ct=s[it],Ft=yForAngle(st.y,ct.h,Ut),ut=getTextAlignForAngle(Ut),Qt=leftForTextAlign(st.x,ct.w,ut);j.push({x:st.x,y:Ft,textAlign:ut,left:Qt,top:Ft,right:Qt+ct.w,bottom:Ft+ct.h})}return j}function getTextAlignForAngle(o){return o===0||o===180?"center":o<180?"left":"right"}function leftForTextAlign(o,s,_){return _==="right"?o-=s:_==="center"&&(o-=s/2),o}function yForAngle(o,s,_){return _===90||_===270?o-=s/2:(_>270||_<90)&&(o-=s),o}function drawPointLabels(o,s){const{ctx:_,options:{pointLabels:j}}=o;for(let $=s-1;$>=0;$--){const et=j.setContext(o.getPointLabelContext($)),tt=toFont(et.font),{x:nt,y:rt,textAlign:it,left:st,top:Ut,right:ct,bottom:Ft}=o._pointLabelItems[$],{backdropColor:ut}=et;if(!isNullOrUndef(ut)){const Qt=toTRBLCorners(et.borderRadius),pt=toPadding(et.backdropPadding);_.fillStyle=ut;const ft=st-pt.left,mt=Ut-pt.top,ht=ct-st+pt.width,Vt=Ft-Ut+pt.height;Object.values(Qt).some(Rt=>Rt!==0)?(_.beginPath(),addRoundedRectPath(_,{x:ft,y:mt,w:ht,h:Vt,radius:Qt}),_.fill()):_.fillRect(ft,mt,ht,Vt)}renderText(_,o._pointLabels[$],nt,rt+tt.lineHeight/2,tt,{color:et.color,textAlign:it,textBaseline:"middle"})}}function pathRadiusLine(o,s,_,j){const{ctx:$}=o;if(_)$.arc(o.xCenter,o.yCenter,s,0,TAU);else{let et=o.getPointPosition(0,s);$.moveTo(et.x,et.y);for(let tt=1;tt{const $=callback(this.options.pointLabels.callback,[_,j],this);return $||$===0?$:""}).filter((_,j)=>this.chart.getDataVisibility(j))}fit(){const s=this.options;s.display&&s.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(s,_,j,$){this.xCenter+=Math.floor((s-_)/2),this.yCenter+=Math.floor((j-$)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(s,_,j,$))}getIndexAngle(s){const _=TAU/(this._pointLabels.length||1),j=this.options.startAngle||0;return _normalizeAngle(s*_+toRadians(j))}getDistanceFromCenterForValue(s){if(isNullOrUndef(s))return NaN;const _=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-s)*_:(s-this.min)*_}getValueForDistanceFromCenter(s){if(isNullOrUndef(s))return NaN;const _=s/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-_:this.min+_}getPointLabelContext(s){const _=this._pointLabels||[];if(s>=0&&s<_.length){const j=_[s];return createPointLabelContext(this.getContext(),s,j)}}getPointPosition(s,_,j=0){const $=this.getIndexAngle(s)-HALF_PI+j;return{x:Math.cos($)*_+this.xCenter,y:Math.sin($)*_+this.yCenter,angle:$}}getPointPositionForValue(s,_){return this.getPointPosition(s,this.getDistanceFromCenterForValue(_))}getBasePosition(s){return this.getPointPositionForValue(s||0,this.getBaseValue())}getPointLabelPosition(s){const{left:_,top:j,right:$,bottom:et}=this._pointLabelItems[s];return{left:_,top:j,right:$,bottom:et}}drawBackground(){const{backgroundColor:s,grid:{circular:_}}=this.options;if(s){const j=this.ctx;j.save(),j.beginPath(),pathRadiusLine(this,this.getDistanceFromCenterForValue(this._endValue),_,this._pointLabels.length),j.closePath(),j.fillStyle=s,j.fill(),j.restore()}}drawGrid(){const s=this.ctx,_=this.options,{angleLines:j,grid:$,border:et}=_,tt=this._pointLabels.length;let nt,rt,it;if(_.pointLabels.display&&drawPointLabels(this,tt),$.display&&this.ticks.forEach((st,Ut)=>{if(Ut!==0){rt=this.getDistanceFromCenterForValue(st.value);const ct=this.getContext(Ut),Ft=$.setContext(ct),ut=et.setContext(ct);drawRadiusLine(this,Ft,rt,tt,ut)}}),j.display){for(s.save(),nt=tt-1;nt>=0;nt--){const st=j.setContext(this.getPointLabelContext(nt)),{color:Ut,lineWidth:ct}=st;!ct||!Ut||(s.lineWidth=ct,s.strokeStyle=Ut,s.setLineDash(st.borderDash),s.lineDashOffset=st.borderDashOffset,rt=this.getDistanceFromCenterForValue(_.ticks.reverse?this.min:this.max),it=this.getPointPosition(nt,rt),s.beginPath(),s.moveTo(this.xCenter,this.yCenter),s.lineTo(it.x,it.y),s.stroke())}s.restore()}}drawBorder(){}drawLabels(){const s=this.ctx,_=this.options,j=_.ticks;if(!j.display)return;const $=this.getIndexAngle(0);let et,tt;s.save(),s.translate(this.xCenter,this.yCenter),s.rotate($),s.textAlign="center",s.textBaseline="middle",this.ticks.forEach((nt,rt)=>{if(rt===0&&!_.reverse)return;const it=j.setContext(this.getContext(rt)),st=toFont(it.font);if(et=this.getDistanceFromCenterForValue(this.ticks[rt].value),it.showLabelBackdrop){s.font=st.string,tt=s.measureText(nt.label).width,s.fillStyle=it.backdropColor;const Ut=toPadding(it.backdropPadding);s.fillRect(-tt/2-Ut.left,-et-st.size/2-Ut.top,tt+Ut.width,st.size+Ut.height)}renderText(s,nt.label,0,-et,st,{color:it.color})}),s.restore()}drawTitle(){}}fr(RadialLinearScale,"id","radialLinear"),fr(RadialLinearScale,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(s){return s},padding:5,centerPointLabels:!1}}),fr(RadialLinearScale,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),fr(RadialLinearScale,"descriptors",{angleLines:{_fallback:"grid"}});const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(o,s){return o-s}function parse(o,s){if(isNullOrUndef(s))return null;const _=o._adapter,{parser:j,round:$,isoWeekday:et}=o._parseOpts;let tt=s;return typeof j=="function"&&(tt=j(tt)),isNumberFinite(tt)||(tt=typeof j=="string"?_.parse(tt,j):_.parse(tt)),tt===null?null:($&&(tt=$==="week"&&(isNumber(et)||et===!0)?_.startOf(tt,"isoWeek",et):_.startOf(tt,$)),+tt)}function determineUnitForAutoTicks(o,s,_,j){const $=UNITS.length;for(let et=UNITS.indexOf(o);et<$-1;++et){const tt=INTERVALS[UNITS[et]],nt=tt.steps?tt.steps:Number.MAX_SAFE_INTEGER;if(tt.common&&Math.ceil((_-s)/(nt*tt.size))<=j)return UNITS[et]}return UNITS[$-1]}function determineUnitForFormatting(o,s,_,j,$){for(let et=UNITS.length-1;et>=UNITS.indexOf(_);et--){const tt=UNITS[et];if(INTERVALS[tt].common&&o._adapter.diff($,j,tt)>=s-1)return tt}return UNITS[_?UNITS.indexOf(_):0]}function determineMajorUnit(o){for(let s=UNITS.indexOf(o)+1,_=UNITS.length;s<_;++s)if(INTERVALS[UNITS[s]].common)return UNITS[s]}function addTick(o,s,_){if(!_)o[s]=!0;else if(_.length){const{lo:j,hi:$}=_lookup(_,s),et=_[j]>=s?_[j]:_[$];o[et]=!0}}function setMajorTicks(o,s,_,j){const $=o._adapter,et=+$.startOf(s[0].value,j),tt=s[s.length-1].value;let nt,rt;for(nt=et;nt<=tt;nt=+$.add(nt,1,j))rt=_[nt],rt>=0&&(s[rt].major=!0);return s}function ticksFromTimestamps(o,s,_){const j=[],$={},et=s.length;let tt,nt;for(tt=0;tt+s.value))}initOffsets(s=[]){let _=0,j=0,$,et;this.options.offset&&s.length&&($=this.getDecimalForValue(s[0]),s.length===1?_=1-$:_=(this.getDecimalForValue(s[1])-$)/2,et=this.getDecimalForValue(s[s.length-1]),s.length===1?j=et:j=(et-this.getDecimalForValue(s[s.length-2]))/2);const tt=s.length<3?.5:.25;_=_limitValue(_,0,tt),j=_limitValue(j,0,tt),this._offsets={start:_,end:j,factor:1/(_+1+j)}}_generate(){const s=this._adapter,_=this.min,j=this.max,$=this.options,et=$.time,tt=et.unit||determineUnitForAutoTicks(et.minUnit,_,j,this._getLabelCapacity(_)),nt=valueOrDefault($.ticks.stepSize,1),rt=tt==="week"?et.isoWeekday:!1,it=isNumber(rt)||rt===!0,st={};let Ut=_,ct,Ft;if(it&&(Ut=+s.startOf(Ut,"isoWeek",rt)),Ut=+s.startOf(Ut,it?"day":tt),s.diff(j,_,tt)>1e5*nt)throw new Error(_+" and "+j+" are too far apart with stepSize of "+nt+" "+tt);const ut=$.ticks.source==="data"&&this.getDataTimestamps();for(ct=Ut,Ft=0;ctQt-pt).map(Qt=>+Qt)}getLabelForValue(s){const _=this._adapter,j=this.options.time;return j.tooltipFormat?_.format(s,j.tooltipFormat):_.format(s,j.displayFormats.datetime)}format(s,_){const $=this.options.time.displayFormats,et=this._unit,tt=_||$[et];return this._adapter.format(s,tt)}_tickFormatFunction(s,_,j,$){const et=this.options,tt=et.ticks.callback;if(tt)return callback(tt,[s,_,j],this);const nt=et.time.displayFormats,rt=this._unit,it=this._majorUnit,st=rt&&nt[rt],Ut=it&&nt[it],ct=j[_],Ft=it&&Ut&&ct&&ct.major;return this._adapter.format(s,$||(Ft?Ut:st))}generateTickLabels(s){let _,j,$;for(_=0,j=s.length;_0?nt:1}getDataTimestamps(){let s=this._cache.data||[],_,j;if(s.length)return s;const $=this.getMatchingVisibleMetas();if(this._normalized&&$.length)return this._cache.data=$[0].controller.getAllParsedValues(this);for(_=0,j=$.length;_=o[j].pos&&s<=o[$].pos&&({lo:j,hi:$}=_lookupByKey(o,"pos",s)),{pos:et,time:nt}=o[j],{pos:tt,time:rt}=o[$]):(s>=o[j].time&&s<=o[$].time&&({lo:j,hi:$}=_lookupByKey(o,"time",s)),{time:et,pos:nt}=o[j],{time:tt,pos:rt}=o[$]);const it=tt-et;return it?nt+(rt-nt)*(s-et)/it:nt}class TimeSeriesScale extends TimeScale{constructor(s){super(s),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const s=this._getTimestampsForTable(),_=this._table=this.buildLookupTable(s);this._minPos=interpolate(_,this.min),this._tableRange=interpolate(_,this.max)-this._minPos,super.initOffsets(s)}buildLookupTable(s){const{min:_,max:j}=this,$=[],et=[];let tt,nt,rt,it,st;for(tt=0,nt=s.length;tt=_&&it<=j&&$.push(it);if($.length<2)return[{time:_,pos:0},{time:j,pos:1}];for(tt=0,nt=$.length;tts in o?__defProp(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,__publicField=(o,s,_)=>(__defNormalProp(o,typeof s!="symbol"?s+"":s,_),_),__defProp2=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp2=(o,s,_)=>s in o?__defProp2(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,__spreadValues=(o,s)=>{for(var _ in s||(s={}))__hasOwnProp.call(s,_)&&__defNormalProp2(o,_,s[_]);if(__getOwnPropSymbols)for(var _ of __getOwnPropSymbols(s))__propIsEnum.call(s,_)&&__defNormalProp2(o,_,s[_]);return o},__spreadProps=(o,s)=>__defProps(o,__getOwnPropDescs(s)),__publicField2=(o,s,_)=>(__defNormalProp2(o,typeof s!="symbol"?s+"":s,_),_);const millisecond=1,second=1e3,minute=60*second,hour=60*minute,day=24*hour,week=7*day,month=30*day,year=365*day,duration={millisecond,second,minute,hour,day,week,month,year};class H264Decoder{constructor(s,_,j){__publicField2(this,"worker"),__publicField2(this,"onReceive"),__publicField2(this,"onError"),__publicField2(this,"onReceiveMessage",et=>{const{data:tt}=et;if(tt.error){const nt=new Error(`${tt.error}`);nt.cause=tt.error,console.warn("H264 worker failure",{error:nt}),this.onError(tt.index);return}this.onReceive(tt)});var $;this.worker=s,($=this.worker)==null||$.addEventListener("message",this.onReceiveMessage),this.onReceive=_,this.onError=j}post(s,_,j,$){var et;(et=this.worker)==null||et.postMessage({timestamp:s,encodedFrame:_,flags:j,index:$})}release(){var s,_;(s=this.worker)==null||s.removeEventListener("message",this.onReceiveMessage),(_=this.worker)==null||_.terminate(),this.worker=void 0}}class YUVCanvas{constructor(s){__publicField2(this,"gl"),__publicField2(this,"program"),__publicField2(this,"texturePosBuffer"),__publicField2(this,"textureRef"),__publicField2(this,"height",0),__publicField2(this,"width",0),this.gl=s,this.program=this.initProgram();const{texturePosBuffer:_}=this.initBuffers();this.texturePosBuffer=_;const{textureRef:j}=this.initTextures();this.textureRef=j}draw(s){const{gl:_,height:j,width:$,texturePosBuffer:et,textureRef:tt}=this;_.viewport(0,0,$,j);const nt=new Float32Array([1,0,0,0,1,1,0,1]);return _.bindBuffer(_.ARRAY_BUFFER,et),_.bufferData(_.ARRAY_BUFFER,nt,_.DYNAMIC_DRAW),_.activeTexture(_.TEXTURE0),_.bindTexture(_.TEXTURE_2D,tt),_.texImage2D(_.TEXTURE_2D,0,_.LUMINANCE,$,j+j/2,0,_.LUMINANCE,_.UNSIGNED_BYTE,s),_.drawArrays(_.TRIANGLE_STRIP,0,4),_.getError()}initProgram(){const{gl:s}=this,_=` + attribute vec4 vertexPos; + attribute vec4 texturePos; + varying vec2 textureCoord; + + void main() { + gl_Position = vertexPos; + textureCoord = texturePos.xy; + } + `,j=` + precision highp float; + varying highp vec2 textureCoord; + uniform sampler2D yuvSampler; + uniform mat4 YUV2RGB; + + void main(void) { + highp vec2 yScale = vec2(1.0, 2.0 / 3.0); + highp vec2 yTextureCoord = textureCoord * yScale; + + highp vec2 uScale = vec2(0.5, 0.5 / 3.0); + highp vec2 uOffset = vec2(0.0, 2.0 / 3.0); + highp vec2 uTextureCoord = (textureCoord * uScale) + uOffset; + + highp vec2 vScale = vec2(0.5, 0.5 / 3.0); + highp vec2 vOffset = vec2(0.0, 2.5 / 3.0); + highp vec2 vTextureCoord = (textureCoord * vScale) + vOffset; + + highp float y = texture2D(yuvSampler, yTextureCoord).r; + highp float u = texture2D(yuvSampler, uTextureCoord).r; + highp float v = texture2D(yuvSampler, vTextureCoord).r; + + gl_FragColor = vec4(y, u, v, 1) * YUV2RGB; + } + `,$=[1.16438,0,1.59603,-.87079,1.16438,-.39176,-.81297,.52959,1.16438,2.01723,0,-1.08139,0,0,0,1],et=s.createShader(s.VERTEX_SHADER);if(!et)throw new Error("Failed to create vertex shader");s.shaderSource(et,_),s.compileShader(et);const tt=s.createShader(s.FRAGMENT_SHADER);if(!tt)throw new Error("Failed to create fragment shader");s.shaderSource(tt,j),s.compileShader(tt);const nt=s.createProgram();if(!nt)throw new Error("Failed to create webgl program");s.attachShader(nt,et),s.attachShader(nt,tt),s.linkProgram(nt),s.useProgram(nt);const rt=s.getUniformLocation(nt,"YUV2RGB");return s.uniformMatrix4fv(rt,!1,$),nt}initBuffers(){const{gl:s,program:_}=this,j=s.createBuffer();s.bindBuffer(s.ARRAY_BUFFER,j),s.bufferData(s.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),s.STATIC_DRAW);const $=s.getAttribLocation(_,"vertexPos");s.enableVertexAttribArray($),s.vertexAttribPointer($,2,s.FLOAT,!1,0,0);const et=s.createBuffer();if(!et)throw new Error("Failed to create WebGL buffer");s.bindBuffer(s.ARRAY_BUFFER,et),s.bufferData(s.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),s.STATIC_DRAW);const tt=s.getAttribLocation(_,"texturePos");return s.enableVertexAttribArray(tt),s.vertexAttribPointer(tt,2,s.FLOAT,!1,0,0),{texturePosBuffer:et}}initTextures(){const{gl:s,program:_}=this,j=this.initTexture(),$=s.getUniformLocation(_,"yuvSampler");return s.uniform1i($,0),{textureRef:j}}initTexture(){const{gl:s}=this,_=s.createTexture();if(!_)throw new Error("Failed to initialize texture");return s.bindTexture(s.TEXTURE_2D,_),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.bindTexture(s.TEXTURE_2D,null),_}}const decoderNotWorkingThreshold=duration.second*2.5,warnPerformanceThreshold=duration.second/3,noSignalThreshold=duration.second*2,maxQueueSize=5,maxDropRatio=30/25,numRetries=5,hardwareIncompatibleErrorCode=1282;class H264BytestreamCanvasDrawer{constructor(s,_,j,$,et){__publicField2(this,"_waitingForDecoder",!0),__publicField2(this,"_noSignal",!0),__publicField2(this,"_lostSignal",!1),__publicField2(this,"_overWaitingThreshold",!1),__publicField2(this,"_retries",0),__publicField2(this,"_webglYUVSupported"),__publicField2(this,"lastDecodedFrameTime"),__publicField2(this,"lastReceivedFrameTime"),__publicField2(this,"lastNoSignalTime",new Date().getTime()),__publicField2(this,"moduleStartTime",Date.now()),__publicField2(this,"moduleCreateTime",Date.now()),__publicField2(this,"timesRestarted",0),__publicField2(this,"canvas"),__publicField2(this,"decoder"),__publicField2(this,"yuvCanvas"),__publicField2(this,"webglContext"),__publicField2(this,"frameQueue",[]),__publicField2(this,"minFrameSize",1/0),__publicField2(this,"maxFrameSize",0),__publicField2(this,"decoderQueue",[]),__publicField2(this,"decoderQueueLocked",!1),__publicField2(this,"decodeNextFrameAttempted",!1),__publicField2(this,"numFramesDecoded",0),__publicField2(this,"numFramesReceived",0),__publicField2(this,"hasReceivedKeyframe",!1),__publicField2(this,"medianFrameSize",0),__publicField2(this,"currentFrameIndex"),__publicField2(this,"frameCheckpointMap",new Map),__publicField2(this,"lastDrawnFrameTime"),__publicField2(this,"minJitter"),__publicField2(this,"maxJitter"),__publicField2(this,"start",()=>{const{canvas:tt}=this;if(!tt)return;const nt=tt.getContext("webgl");this.webglContext=nt||void 0,this.lastDecodedFrameTime=void 0,this.lastReceivedFrameTime=void 0,this.hasReceivedKeyframe=!1,this.currentFrameIndex=void 0,!(!this.canvas||!this.webglContext)&&(this.yuvCanvas||(this.yuvCanvas=new YUVCanvas(this.webglContext)),this.moduleStartTime=Date.now())}),__publicField2(this,"stop",()=>{var tt;(tt=this.decoder)==null||tt.release(),this.webglContext=void 0,this.decoderQueueLocked=!1}),__publicField2(this,"reset",()=>{this.retries=0,this.restart()}),__publicField2(this,"notifyWarningTextChanged",()=>{var tt;(tt=this.onWarningTextChanged)==null||tt.call(this,this.getWarningText())}),__publicField2(this,"restart",()=>{console.info("Restarting decoder"),console.info("BytestreamPlayer restarting",__spreadProps(__spreadValues({},this.trackInfo),{Restart:this.timesRestarted})),this.frameQueue=[],this.decoderQueue=[],this.stop(),this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),this.start(),this.retries++,this.timesRestarted++}),__publicField2(this,"onTrackTick",()=>{if(this.numFramesDecoded===0){if(this.lastDecodedFrameTime===void 0){const st=Date.now();console.info("BytestreamPlayer waiting for video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Waited":st-this.moduleCreateTime}))}return}this.numFramesReceived/this.numFramesDecoded>maxDropRatio&&this.warnPerformanceProblems(),this.numFramesReceived=0,this.numFramesDecoded=0;const nt=Array.from(this.frameCheckpointMap.entries()).reduce((st,[Ut,ct])=>{var Ft;return!this.currentFrameIndex||Ut>this.currentFrameIndex-60||ct==="FrameDrawn"||(st[ct]=((Ft=st[ct])!=null?Ft:0)+1,this.frameCheckpointMap.delete(Ut)),st},{});Object.keys(nt).map(st=>{console.info("BytestreamPlayer Frame Dropped",__spreadProps(__spreadValues({},this.trackInfo),{"Num Dropped":nt[st],"Frame State":st}))});const{minJitter:rt,maxJitter:it}=this;rt&&it&&(console.info("BytestreamPlayer Jitter",__spreadProps(__spreadValues({},this.trackInfo),{minJitter:rt,maxJitter:it})),this.minJitter=void 0,this.maxJitter=void 0)}),__publicField2(this,"onTick",()=>{var tt;const{lastReceivedFrameTime:nt,lastDecodedFrameTime:rt,moduleStartTime:it,noSignal:st,retries:Ut}=this,ct=new Date().getTime();st&&(this.lastNoSignalTime=ct),this.overWaitingThreshold=ct-it>noSignalThreshold;const Ft=ct-it>decoderNotWorkingThreshold;if(!rt){nt&&Ft&&UtnoSignalThreshold&&utwarnPerformanceThreshold&&this.warnPerformanceProblems(),ut>noSignalThreshold&&(this.lostSignal=!0)}this.overWaitingThreshold&&(this.waitingForDecoder||this.noSignal||this.lostSignal)&&((tt=this.onCanvasDrawerWarning)==null||tt.call(this,"ShouldDisableControl"))}),__publicField2(this,"receiveEncodedFrame",tt=>{if(!tt)return;const nt=tt.index;if(nt&&this.frameCheckpointMap.set(nt,"FrameReceived"),!(!tt||!this.canvas||!this.webglContext)){if(this.isKeyframe(tt),!this.hasReceivedKeyframe)return console.info("Dropping frame because no keyframe detected"),!1;this.lastReceivedFrameTime===void 0&&console.debug("Received first frame on bytestream player",__spreadValues({},this.trackInfo)),this.checkOrder(tt),this.numFramesReceived++,this.lastReceivedFrameTime=Date.now(),this.lostSignal&&this.restart(),this.noSignal=!1,this.lostSignal=!1,this.frameQueue.push(tt),nt&&this.frameCheckpointMap.set(nt,"FrameQueued"),this.frameQueue.length>maxQueueSize&&(this.frameQueue=this.frameQueue.filter(rt=>this.isKeyframe(rt))),this.frameQueue.length>maxQueueSize&&(this.frameQueue=[],this.decoderQueue=[]),this.decodeNextFrame()}}),__publicField2(this,"onDecoderError",tt=>{this.frameQueue=[],this.decoderQueue=[],this.hasReceivedKeyframe=!1,console.info("BytestreamPlayer decode error",__spreadProps(__spreadValues({},this.trackInfo),{"Frame Index":tt}))}),__publicField2(this,"onReceiveDecodedFrame",tt=>{var nt,rt;const{canvas:it,yuvCanvas:st,decoderQueue:Ut}=this,{timestamp:ct,yuv:Ft,height:ut,width:Qt,index:pt}=tt;this.frameCheckpointMap.set(pt,"FrameDecoded"),this.numFramesDecoded++;const ft=Date.now();if(this.lastDecodedFrameTime===void 0&&console.info("BytestreamPlayer started video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Until Video":ft-this.moduleCreateTime})),this.lastDecodedFrameTime=ft,this.waitingForDecoder=!1,this.decoderQueue=Ut.filter(Vt=>ft-Vtduration.second||!st||!it||ut===0||Qt===0)return;ut!==it.height&&(it.height=ut,st.height=ut),Qt!==it.width&&(it.width=Qt,st.width=Qt);const mt=st.draw(Ft),ht=Date.now();if(this.lastDrawnFrameTime){const Vt=ht-this.lastDrawnFrameTime;this.minJitter=Math.min(Vt,(nt=this.minJitter)!=null?nt:Number.MAX_SAFE_INTEGER),this.maxJitter=Math.max(Vt,(rt=this.maxJitter)!=null?rt:0)}this.lastDrawnFrameTime=ht,this.frameCheckpointMap.set(pt,"FrameDrawn"),mt===0&&(this.webglYUVSupported=!0),mt===hardwareIncompatibleErrorCode&&(this.webglYUVSupported=!1),this.frameQueue.length>0&&this.decodeNextFrame()}),this.workerFactory=s,this.onWebglYUVSupportedChanged=_,this.onWarningTextChanged=j,this.onCanvasDrawerWarning=$,this.trackInfo=et,this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),setInterval(this.onTick,duration.millisecond*200),setInterval(this.onTrackTick,duration.second*5)}get waitingForDecoder(){return this._waitingForDecoder}set waitingForDecoder(s){this._waitingForDecoder=s,this.notifyWarningTextChanged()}get noSignal(){return this._noSignal}set noSignal(s){this._noSignal=s,this.notifyWarningTextChanged()}get lostSignal(){return this._lostSignal}set lostSignal(s){this._lostSignal=s,this.notifyWarningTextChanged()}get overWaitingThreshold(){return this._overWaitingThreshold}set overWaitingThreshold(s){this._overWaitingThreshold=s,this.notifyWarningTextChanged()}get retries(){return this._retries}set retries(s){this._retries=s,this.notifyWarningTextChanged()}get webglYUVSupported(){return this._webglYUVSupported}set webglYUVSupported(s){var _;this._webglYUVSupported=s,(_=this.onWebglYUVSupportedChanged)==null||_.call(this,s),this.notifyWarningTextChanged()}setCanvas(s){this.canvas=s}getWarningText(){var s;const{waitingForDecoder:_,noSignal:j,overWaitingThreshold:$,lostSignal:et,retries:tt,webglYUVSupported:nt}=this,rt=nt===!1,st=_?tt===numRetries?"Decoder failed to start":"Starting decoder":void 0,Ut=rt?"Hardware decoding not supported on this device":void 0;return(s=Ut??(et?"Lost signal":j?$?"No signal":"Waiting for signal":void 0))!=null?s:st}decodeNextFrame(){if(this.decoderQueueLocked&&(this.decodeNextFrameAttempted=!0),this.decoderQueueLocked=!0,this.decoderQueue.length>maxQueueSize){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const s=this.frameQueue.shift();if(!s){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const _=Date.now();this.frameCheckpointMap.set(s.index,"FrameSentToDecoder"),this.decoder.post(_,s.frame_data,s.flags,s.index),this.decoderQueue.push(_),this.decoderQueueLocked=!1,this.decodeNextFrameAttempted&&(this.decodeNextFrameAttempted=!1,this.decodeNextFrame())}warnPerformanceProblems(){var s;this.lastDecodedFrameTime&&this.overWaitingThreshold&&!this.lostSignal&&!this.noSignal&&((s=this.onCanvasDrawerWarning)==null||s.call(this,"ShouldDegradeVideo"))}checkOrder(s){if(this.currentFrameIndex!==void 0&&s.indexDate.now()?!1:$>this.medianFrameSize?(this.hasReceivedKeyframe=!0,!0):!1}}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsK",blob=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){const o=blob&&(window.URL||window.webkitURL).createObjectURL(blob);try{return o?new Worker(o,{}):new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{o&&(window.URL||window.webkitURL).revokeObjectURL(o)}}class RealtimePlayer extends HTMLElement{constructor(){super(),__publicField(this,"drawer"),this.drawer=new H264BytestreamCanvasDrawer(()=>new WorkerWrapper,()=>{},()=>{})}connectedCallback(){this.style.background="black",this.innerHTML='',this.drawer.start(),this.drawer.setCanvas(this.querySelector("canvas"))}drawVideoFrame(s){this.drawer.receiveEncodedFrame(s)}}customElements.define("formant-realtime-player",RealtimePlayer);var classnamesExports={},classnames$1={get exports(){return classnamesExports},set exports(o){classnamesExports=o}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(o){(function(){var s={}.hasOwnProperty;function _(){for(var j=[],$=0;${const[s,_]=reactExports.useState();return reactExports.useEffect(()=>{K0(o).then(j=>_(j)).catch(j=>{throw console.log("Failed fetching device",{err:j}),new Error("Authentication failed, please authenticate and try again")})},[o]),s},z1=async o=>{try{if(await Authentication.waitTilAuthenticated())return o()}catch(s){throw s}},$1=(o,s)=>s?JSON.parse(o):o,J0=async(o,s)=>{await z1(async()=>{try{const _=await App$2.getCurrentModuleConfiguration();if(!_)return;const j=$1(_,s);o(j),App$2.addModuleConfigurationListener($=>{const et=$1($.configuration,s);o(et)})}catch(_){throw _}})},X0=o=>{const[s,_]=reactExports.useState("");return reactExports.useEffect(()=>{J0(_,o==null?void 0:o.parse)},[]),s};function Oe(){return reactExports.useContext(d0)}const d0=reactExports.createContext(void 0);function Ke({theme:o,children:s,parseConfiguration:_,scoped:j=!1}){const $=X0({parse:!!_}),et=createTheme(o==="dark"?c0:o==="light"?P0:O0),tt={configuration:$};return jsx(ThemeProvider,{theme:et,children:jsx(j?D0:CssBaseline,{children:jsx(d0.Provider,{value:tt,children:s})})})}Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);const I2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACGFjVEwAAAAwAAAAAChseJYAAAAaZmNUTAAAAAAAAAAwAAAAMAAAAAAAAAAAAAQAZAAAR67u9QAAAK9JREFUaN7t0zEKwkAQheEVCxvPYGFla+UFbD1CwNY6ra23sPEAxgRNNKBpLWITA6IsBCV6A/txV1svsPB/8GCYah/LKAUA/4hI4xQWAxs7O/X4JNGtY1BkeXCWX4pMm50zBUZx5U3WWmbRVRbhRQ6rUvJl6bnzBbun397W0kvuMowrGZsy0+jmu1Ng/+iaEm8TsWmaubMxO7cO4dVXaT3/xs4AAAAAAAAAAAAAYH0AgOhTVFHYG+UAAAAaZmNUTAAAAAEAAAALAAAADwAAABUAAAAGAAQAZAAAZ7Lt7AAAAWFmZEFUAAAAAmjefZG/S0JxFMXPveKv7wu0paBcAh0iaHYKHGsIJBD6LyQS2qopsCGClpZoaWp6BZo0uDcIEUE/ECG33veJkz6R926DT9OUDlwuX/icA+d+qVT6DBuOU1aQDAAAUo1H1GZqK9XDH7Hu9XOaOGMTowsCQJm209nHDLFmWrCJoImgidEihgM+qJm1pSn4G0FTE/c1sW8gaKI5yw2d/IUJAPbuPs4UJG+IQEGgRGBAJCpIZ7NrT6NkAGi5wWObWA/SGfZgk010LiI0AV9nV9oW4XAIj036wnzbnYABgDrJS030Ml7WJobNXDytPBsT8G2OXIsD+d/UgckiWracSGFUcFzrpYapBNuGX1RBYIh0oxxYnYITD81kxPNeDUjIv4pv8q5o1k/Nl5tFBSlMwqjPhPFYj4Xd8Lsh3qIC/Lt797NhAKh8bUD4JgJJREVqMbg7+FdHwqg24sPnD+oal8W6KwosAAAAGmZjVEwAAAADAAAAEQAAABkAAAAVAAAABQAEAGQAALMDT1sAAAImZmRBVAAAAARo3p3UPWgUQRQH8FUEbcQvLPRACxVRiU2QJGDwNKD4BRHR4oIYJIpK1OJSKBI5gqASBY1E8AOSIim8Yr9mdu4M5FIIKiJiuK/dzO3ebQ4EwUrSqJjn2xyrG6sZH/xhmeK3b94woyhYALDkrT7d8gETfCuyxRhfnlULuUktD6/VPLxTp3Mc16SQtFY6o2pFIFoBXmFyDeymFDKqlZNjehFeYjTEaAObmySfYsLIkMa3PNNLP0b0EowjlF7ACkD1/JhUN4+M8oNhowzPERr9i83rerFdGLln2CsHDfszYvBkMfYxlYKlwtAAcXruGDbcx0SxEaN4ThgJ/thvOu8HTBv+wb48TburhKE+wtuum848YhDFHuvlQakhXyUz40lzBhCDELtr2N8fGvZ2YeQicWKXCJ9DDELsFua26UxIddNNK/09hANiEGB9iN1AKEWcI+LIVHVFgrreWVKBALuMudbA+BWZe9VpuSdP0QokMN2InQ8x6iSltnWUuhOd1IXTCHUtYDzAvl3IljYII/uzfNdBy/t5DKETUYzyF1Ld7LW84QOWB4cwEexXl+nuEUaaqL+mlVW/tltVWIx5bxSZV7CJ1XqbWQ1aEfqDUQ+OW25CGIlPwbIdrJbfjVAzIiHWYXn1wzJHvinjd2xlPiAGIdaGiZNqXGrIGzOz6maEolgL83dKIetIPbY+M1tBDAJsG/OHlP8qnMFqVt+3NtLBb68GzUQnZ+QFAAAAGmZjVEwAAAAFAAAAFgAAACIAAAAVAAAABQAEAGQAAAaksUUAAALMZmRBVAAAAAZo3q3WW0gUYRTAcQu6EUQPUZAVZQhGF6noRkJiYWiKRVgYGEuJSWQkFsUuxYqaUVQqRkp2sSxSY+c+m5BW9JhBsM7uzM7szmw+JD1E0I2k9nRGZ2va19PAgWUe/r8z3zzMZmTgBQDThlllyysc+3fG/7hkWZ8lBUaHB5lReMaE4EUgNGzfI4f7mXAlwyjAY1jCsYGhQMhHDvcySv1jVoEBHAajNiAzo1+GhLeZpPA9JrSyhw1PPMSwDTz5AygPyFt3M8rVO2wY7uO4gGQgoOSRwu2yPu8mF3l/C8NuoI9R3vj9MJ0Ub+Mj1R1cBDpxbOBuCmAUDylsb3aNi7xuw3AaMN6LT0SKX+TU7Zc5NYkA2MANB7jNKi3kF9nIq30tnApXcFIAPsGPTiGcTQr7WGOpn1e/NvEquIF2LsySt/bxWsN5XoMGnCYMX3KAVjaymxSu6x+bc47XLC+GL7gBXg13dY3MIMVP8dGKej4KZzHqBpr5SC35SE7w0ZcIwGkH8E0C0Y9+QVtACtdw+vrjgv6rVoiCG/ByWgd56ypR764WdEAAbKBuCvjp5dR1pHBlwFjoEYxPRzF8zAFOTgL6EHnrCsk4UykY4MHov4C2jxQu71dmHhANrUI0IAVUTQExz3NzNileJsRL94sxQAAOuQFR95KPpESIyWUYTwM+H+HUxaRwoWDmFInxiRIM73WAgzYgGT3krQvk2PVCKQ4IgAtIlgsx2mcsnzHn75DiHwowngJKp4AR8mdsq2TW5EkmIAA7HaAY4yWCcZh2HrjZJskc2YbxNGC8iPoZyw0m8jbIVhIBSAH5NiDGm8kvcrVsDeTKFiAAm/8C33eJiSxSOCdoLs+RrW8IQBrQSt56hfSuMVtOAAKwxgE2StYjcnjR4PjcZcGEkYVxG1iF5742aBX/l//YS4SxzEx5rBWB3qyn1h773m+SXYWCYYXpgQAAABpmY1RMAAAABwAAABsAAAArAAAAFQAAAAUABABkAACqa+X8AAADYGZkQVQAAAAIaN612GlIFVEUB3CLKCgqqA8RFQmStBethPEorGglizLbLJFKLLV9p16FFZK2K9FitFhJvlnuzJgUBkVfwqLSmTfvzbx572W0QH1opYU8nZtvcPTzvRcODPPlx/9yuPdwk5JwAUCnOlGfXI9Fv5N4LU2zuimBpnpNaII6rPuBxnr6jwtWIxirBUEHCSEF6z8aaNzHBasS9G3Vog53sQSEEuhXQl4MYI5dFRpTbor671uIeVFZ0K9xSXdVNMquiQYgCi5aI+gtgYA+lTl2Q7N6XRaNd4iCi95uRRv8fujMHKwQ9Q0XEbqCRdHrCfSO1LSGOUYTlMvBhguIdEDf0+TMwbOSmXZOCraUS0HwopVisJhLs5yUgtWnEUMUXPSSaPyqJMYQ5lipaA8qlczviIKLVlBUMGq4pDsqmUdKJBNOYFH0TAI9T4Kz2DcLaeheLJnxY4hRtLQN1f0PH3ZhD0rmqsOyCYjCcQ9aJhv57PcSr5oDcuixXw7BES8qm5/OBYJ9mXt7iTVunxz6iyh0QE9xaZZdcrhyD0KIggf9U6wYI5ljRZLTb7sc/rxTDoMXPSSHHnBJt5mE9mxBDFHYiRBF91OUWAuYY0ur9a6bSDhcRMLgorsoSkJ2AY8RIo/Yi/KJBQUIUnRrAt1Nwju4bOc6YtXlIdgB/bK5xujPHMsRreG5xPqDKHjRQmJd5JIuW4mcX4sIouCiG4n1t0gOTWTfLPea+6xU7I/ZxAYXXd+KPkniMeBmqnbhcsWGlQhSNMdNqthZzLFpePIvUSKvMhGk6Ko2tHl13csezMEMEklfpEQAUVjWDrX8XJplvmJLCxFb3B79sUJ1BjPH5mhWylwl8nMBQl40S7GruKSboTolsxUHEAUvmqmGfcyxNMnsma46b2eqDnjRDOI85zJN+5RY7jTEEAUXnfcfdXLZ7yUmSFOjT31qFFx0FkWJ82HG/Uhv5t4kEpsyRY22TEXQh9D0NrSES7NMUKNVkxFDFDzor3Q1ksocG629GThOi31DFNqhmiNxSTeyNn5wjBYDRKEDOps5Np687T5ci8VHIeaiE1vRF1zSpda+zhqKCKJA0bEJlM/jCt5rKWr80RAtDhQd0Yo2c3vMSa6NJidr8WcpCKZq8eZhquP7ByfqQHlEWABmAAAAGmZjVEwAAAAJAAAAMAAAACUAAAAAAAAACwAEAGQAAKmGMjkAAANYZmRBVAAAAApo3tXYaUgUYRgH8C2kKDuwqOy+sMNOpAMzFsOSLumgzNKskFLssKL73AorJLtLwsqgg1qoZuadmd2lwA/Rl5CoaHdn59rdRjqgPhSdSD49kw6Osn6M7X3h//35vc/zMMPrcPyjc0tUelxjAu9uMAG4ibnN+OEuxs3461wu6Oig4VQx/uJqLP46xg65x75eQwXAvOnLXLDuChbeBvLe7BAViAuslHGRDTZeZoNgh9QwwXIHLecMG3SfQwBCwIJcZQK/akgghQpAJaMOrmSlbwgBC1JlQh4G7lPTheOsdKyCleAUxoScb4ZcIsFsOhaa1HUtZ6XoCQSYkMoWiN9VW5tAB4KVCo5yEiAETtogp7lAKR1zBNDhEBd64uJCcMwO4aRPFx8Ee1Nh2EeUtP1c6DdCoA3kLDULvZuTa/Zi8QgBG6ShnA+MpwJQxur9dnDy512cDHbIES70mJoubCWhvdsQgBDYhcWbkAMmhCg5VACWu/2dNhFZLiMyWJDdJoSE1M2i0pkKRAlRl5QSBTYjwoRsb4bsIfJOakZpPVF8JYhoA/my9X6gPxWAdYySWkSUBoSAHbKFKNXUdKGQ1y6txcIRAhZkI1F+l3GhqXQstNfolc+rHwuJChZkQxPkqfn1pgKRK6hbVvIq5CPChKyzOsKreVQAMvGPdBmvvcpFhAkpaIEYq30vE6lALCZa1hJeA4TAilYQxUXNQi/kVXYRApa2hnxfJehDqQDME5WR83ntZw4Wb4fk8eodarowW9Ar5vI6IATskFxBdlIByGCl7lmC/naOoIMdspjoz6l51XPykaJMBCAELMiCvxC9iI45wpvOEMLPnEIYLEi2CSH6h9mPtJ5UGKaRSHq6EG6ciQgnFj+rBVJBzUJPEcJ3piMAIWCD/MoStFFUACaK9YPSxMhXhEAriKiz/82sJ3vfHBzgMYKDPVFtmBjVhmNSMKMxqWJEmyBGfkwSI4AQsENmiHr8X/V6euqLe3veQB9MMmYgBiGAEBiBQQiMwcIRAggBCzK1CfLCMZOPJsUTkOgx3D08BiRhTEjfGJCRMSCTmyF/WxhPQCefcbiL14BuCGgPMiQGZFwTxIj/DvjeJyZ469nOXqOxPUj/GJBRYtQYK+jOP0moWT95E2zZAAAAGmZjVEwAAAALAAAADgAAAAUAAAAVAAAAKwAEAGQAAH1y1dMAAAB5ZmRBVAAAAAxo3n3MsQ3CQAxG4c93qZmAOeip2IE9WINpKLJBJmCCjBGIKe4UoQhh6cmy/fsFGOcrcYt0KKhSwYCykSobYZxPxNTvIPpQe7hkC++l5+8nSLyxCitKZOvZdhWDiKf0sxIvxE6wJsXl+MAdC/8Fi2gEHzF0I+cJ3N4OAAAAGmZjVEwAAAANAAAAJgAAACsAAAAKAAAABQAEAGQAAHinmB8AAAQvZmRBVAAAAA5o3sWYXYhVVRTHf/9976iZZfmgYL2kTOaYhigZJcFQWI2pZWZICX1ARUWTfSmIcDFRQ/xAqpcQ66UHH2oUHbGQiR56yAStRHQaxFQsSCGl6c7Z557Vw73n3jNnxmAg716wH849m3t++7/W2nvtJUZoZqaje3+6F2DOklk/SDKug2kkk7u7e0dPKPcfFGp3VcyeW8aMfay1o3Xg/wZzI5k8dqC83OPaPcIDFdR+udz/7vVQbERgMUz0Ai+owgmPW/P9nmO3BQWLoMsj76nBCWIxLm4pbAoK1vHkzD5vfNRQq+rSCJ7r+fLE/GBgAG7M6JIXv3ugOoRHisSOUslcMLCOjtYrHpVStRrD5sybdWJlMDCAE8faPvXiqJfwyrhUfNjd3XtzMLBSSUmsQqcHaySC8NKkcjla3fQNNm+fd53cI+xpAQ7DVVcaFQq6e9mitt6mK5ZahfgdD/2ZJMDDqIGYzUFcmdqLT8w858W2wUkgvFj62VcnFwQDA5Dr3+Sl3xqJUAWsyLaXenqKwcBeWTS3P0Zr64qlgFLb5L8mvRwk+LOl0NZ9p75z2HxX+1MHSFwm5s43lk6/1HTFACTZgEs6PUqyR1VsTKgUbF0wxVLb0HVqt5M9nypWG3GxkMzufLztl6Yrllq/WtZ46Uq1LKqPYjl2O4K4MrWNS6b84Y3N1S0jHeDFQxu6Ti4KBgZQHIi3etQ7eF8TlYLbvrO7d3QwsNLyGVEsWz2k+jCm/lmxN4MEf9be2nf6kIMFje3DcHBVvjJt41NtF5uuWP0cTbTKi7iRCMKjm+KWlvVBFQN4dX/vx854TY3KA2ckDrtv6+JpR4IoBuCL0boILg26IwgXiR2YKRjYrkdnXPZo/ZDqA3f/6wf6ngkGBnB23LlPKujnfJZGZltWHjp+YzCwb9vb4witqpffjbP09pZo7HtBgj9ry/b/utfB4mz14Yx/Rjk3fdfCKWebrli9veDsbY8GstWHFzeULdkUxJWpdXW09nnTTl/tgdRdGsGK5QdOPxgMDMAl0QceXcxnaZQUh9zimwq2b8ldVyNYl0sCYtnso3PPvBAMDODwj3fsjuBIvZ1Vg4yNjQ9/0zc+GBglJVHiOj2yxgUGvGOii7S26dtF3uYdOPNFAVakZ2jtPI0cNvPwwqmnXSgwFL/v4e9cO2uUl9vSUOzrCw+Q2GaMyYM2QIzcxaJeWwkoZOYW6rFhOGvESCGjSHa+qmNyAcY4G/wdyR4R+8/eSrFwBhg/3F6ShXSALA9qOejcOxvu3bUWDDXI40WKxTlg44dTO6k3T8Ch9BLb6OwYqPZ7HrL6LJwyMPVFaeiC02cJwT1FxCmMGPjPPkOSAU0hnTIwOcihqqi2qKGQufIbB+erMXbwwkso2QYaUTdQ14pHu0YYDOe6mrsz785jevZfJmHP8r30AXEAAAAaZmNUTAAAAA8AAAAwAAAAKgAAAAAAAAAGAAQAZAAAcRPiHgAABDJmZEFUAAAAEGje1ZlvaFV1GMc/z+9e3TSt6IWC+cZkmbMVli9EJBiK1WxaVqtRUb2ooMhhWRPG4GLgjLUc9udFIb4L8UXN4VYSMojozQomNsStYX8Ui9CW4vXu/M45Ty/uufeec3YnBS5+PvB7cQ6/+/x+n/M83/M893eEWbDxwfGayUL+S5DG4h0durV2/sN1TXVT13stMxsAk1cLLZXNA0jjZCG/czbWmhUADxb5QAhoBWLXd4dHbr8hAAqGPotYi1AcEMCCzBzpuiEANjzWMGHRD62AFSiDqHn2289H1zsPADBVOy/nifxuiSCKQwIJezWnxnmApqa6Sz6Sq6RRcXhw//F7Rp9zHgBgeKT+Ux/5wQKVIfjCu4OD4zc7D5DLSWiNtllES2KOxuKw4LVfjzWE/8EO9Y0eNvCkRAsaBUG9bGDubn6iftzZCJRMCd+0kC9HQMCKzC1k2Ot0CpWs9dGG36zK+/G6UATRbYe+OLnJeQCAqWy+y8KvJSGXh2T2DQ0NZZ0HeKV5Td4T05F8I4GF+p//Xvyy0yIua0FVPug/9U0GWV8RtCJwsSaUO5/ftvKCsxEAEBENDG0WwooOBCtyWz6jnc5HoGTv9Z0+iOgLgmKiTQj4ZHR12yP1PzobgbKgxdtl4VKqzcgGvul1OoVK1rG14Q8f3VvsVGND2NDdd6rZeQCAYCrssZjxSAPljtUT2bd/cLzGeYBcyyrPE22PN3nFuiDL/wp0u9Mijlt7/9gx0E0SPc1I0JdDG6zY83j9eWcjUDI/lB0W8ZOCZiFzMrtviAgAbD96+iNUXi12qVGBg1DRtT1bVgw7HQGAK1m/0yIX4mK2ggmFXlTFeYADD626aNHd6UbPw6x7bWDsKecBAJYuOPexhZPpZs9X073z2ImbnAfINTb6HmZHSsxYWDrpzX/LaRHH7emjPx0R2GIA0bKgr2aNWXlg8x2/OBuBkhWMvmGRqdR50ryChl1Op1DJ+prqJqzK/iqp1NoyMPaA8wAAGnrv+HA+3Wb4YbY3lzrVcxKgf+tdly3SmTpLwoquHllz5kXnAQDWfr/soBWGy91qqTao7tn49cQtzgPkchL6oWmzoAlBG1lkPOlw9jWatnUDZz4z0Frskcp/QT2DNhzfvHzMuA4QiP+2hSupNmOuJ6a7GIEjfy6kxusBbUQxJhaWDBrvDsv5luzdNXEd6+mnz9G478o8idaiio/oeomo1k7zL/qg8NW5T0BfmqlMJzeTBIpVyth9rfK76UDx1vlaPgwzzFPFwIkswsbYl7jk+5jKR7oAECTpRDTlFEw059qbEYzEN5YEivuo+uCKZ0wYuDdLoKMYlv2rAhONsByh6UBJmMqc9GaST1wQicFMi67MlLZns0jmdQiWAPf954pZBagCk0onrbYZrZImkQ9JRVCTERQ4KyrP/APT7dIdHNFWEAAAABpmY1RMAAAAEQAAACwAAAAMAAAAAAAAACEABABkAgD8ivGfAAACBmZkQVQAAAASaN7Flb1rFEEYh5/f3AWDhQSCEBRJYnIgNiI2MYUggpADPwoRxT9B1CaxCcoJ2gSLQFoh2NhLNKeNH4WIeJWIFjkS9UBRG5EouZvdfS12b+/2ONvNDwZm2HdmnnfejxX/0eTq2o7dFKci3M835dEP5KBLK2snHXoqwAHCSOaVe6dKtwDUb+OhlcZeVwhfCiacGUhLtfLY1TygLzyqPxScdoCMNvBfF3Jg+exkw/XbFBTCRQ8THvASAVw5vPr5YB7A3jTrUSu+Ox07fZGFvi88Wf101JleCeSSkAiQ7Pj7mfEXeUCfWVlfcLK59t0Jh5npWPaFzRSgux7kAY/a4+uWBa/JSa1CeNvD95gh5VAkFjPAI0++nPNo2ktxKJINAXajXi418wKulku/AzQfg3Y4WnCkA1yrDQSmOxmvJLz0bn1z9D45a6o2vuzF24QhjXYKvOvHyGUvlXq98sYc5xXmDVypKAoid82DdRegAIaebww1m8W6jGHXLrK4nTz7NbPvBNuo6ccbDxxcVNKXHcDmVnHeo+E0d+MRtczNss0KFVz38KedpqL6bQyFH4FB0j8MCLwza3S9dpo/ythZZt0ToayNdfpooctOQAHrc3a63iOzQQFFFN5swwJEHecGJO3PXm5ZGAMlhdDTM3ugFc/VcSCyLFSY2PSekZ6t+Ps/kTTHxalO1YsAAAAaZmNUTAAAABMAAAAnAAAAFQAAAAAAAAAYAAQAZAIAtADR+wAAAwVmZEFUAAAAFGjexZZNaBVXFMd/5848Y56hxSCI+IXGBCXdCFnUjRBdNJoYhFJRsKtCLYJBrREJ2EZLm42gNigoSLtrURdqYlT8WkpBFyIVk/hJWosFIyjSvrkzc7qYybyZmNQYX5I/nMUMh3P+93/OufcI74CvunrnGpxWIZxlhF86m2rOM07s7+rdI6odRkGIzABGtbl1/bIu4n9jwueXbs8o8/K3DVTFwdTBNB1ZV9UzHnLbevrLZvrhXQOLo3iKAUTpt4Xgo/YNtZ4ZazDx8q0+UmWB2MQT3Txe5TrXVhc8YVcxnkQmUm2m51rGrNxnXb1zc+L0CeQlW4bDP69bsp33wO5zfVcEXT1U1jj2y1BzNWNSLjC5HzwkbwEriXn/ONrJe8KGwQ6L+IlyCBY+ULHfv1W55p7+5YTmpoBJnQxBD5xuWtJKCdDS3XsEla3DhiN8q3KF0DlkEZPqNTwYFLesgxLhtevvtchzK5KujPlfcvXnH3zqCysjZ4kMIRD55lTD/MFSkTvRUDto0f2ZwUAYlVztyd+nWUxH3ANF1YR7z2YPHqfEmFfx51ELd9K5RiVXkS9vsVA9/DS+MV/fqquzpSbXXl/ve5gd6VwjDkTtxYHKaWHQL1BpVJMmdeDajcZFq5lAbOy+f1ag2YyqXBjss1AZXR0yZIGHu50Jxr9Gd1qkMGJZay49WmqRLRbBz0yonrjVOP/ORJM7s7b6gVX5ccSBsL45YCE3rNdeoXzLJEFD7zsf/sr03Oyex6tcMVeThzi+FI3S9rBxYQeTiIbuh1+4yddJdQIZOKjJCyAYAYEBDdzDTDI+vrnop0S5Dy/88SXoMROrluxXsOnZmgW/MgWIyF3/u6K8UOgTZU76/XSE3158Mm8FIjoV5FwA1/PaLDJHBAzJvaaq4a6pIhYpd/npAsLwHko52Z0qMKpPMit0Su6in2a+08q/4aPFBdLJbDjgoG/EdgnCdoiIAYRF4o6ILM4m0mxijQcnQ0gzSU08XAJDA4aghJolF8Q+6Rj/AQB4LsR2B2nNAAAAGmZjVEwAAAAVAAAAIgAAAB4AAAAAAAAADwAEAGQAACn7SAcAAAOxZmRBVAAAABZo3r1XT2gcZRT//b7ZLc1APfRqttSmEDSkHgKBiJdSikibiGxJQYh/DlLwYPEQO2CkkZYQuhZXRA+C1autpqlbElAQFL15CWiT7aLm0Cw0h/6xSZudb+Z7PUxmdmbapLubrA++wwxv3veb3/d+772P2KJ9dWVhF8Sct4CDBK8Zwcm3Xn12Me7z7fRflwgcIwACUAIoyprvm558/sA/AKC2CkTDfOEBb7vAfg0ZMpDv0z73RY1q4IEGoAFoAi6406hMIfThVkB8Oj3/giJ+I0Cu/xUBGEvvfufogdtx328uXztDYizwE4TsQOHQa0M9P7fMiIjQU/xEA4z+NFhLy3/03k37K1tPusBS4MNo+YbFixfFahnIxJXrI1rQHw+qQbjAR+PjNGn/1196flVTOSnQ0EDv6o75Ey0dzXipalPuLShIjgAo60kIzO2rdfcND9PfiMXPfpj/1QJfrCeugMCtlhjxsOJoIBcxwWDVYEY3AgEAJMVXOKkBU09cQpO7m2bk/ZlKJzwpE2KHybnOxtSZoe58IzE+ni5/DcqbhEQJ3jQjNV8KGrBTueGu0XcajkHX0cB/8RhNATlRqgx44HHNoBZoBvR6RLEw+Fyl0TgfvNJ704NMht/rphgRoQ8UA7nG2CCXV3ZaE80y69fMeQ1VCfOrYSBvXP17xAP70/JzwbEvD3fdbVp5wz2uSznVFCODpartKpwNqIznBubuPOi60GotmhzsvuyBPzYMJMs1RwtzYZ8Il6es0UubyLWhUmD4nga9J8r35ZlKZ9aoMoGEXAlMfXe0K49tsHevlj/PPDFHjSpo0I5rnoBrBA62yVYz3oebMnKotDgAZX5PdFcBSDk3e6TrFLbR1GZyrSkpajDZXYllvQMT2Gbb8Gj6Z/8d0WB/cByMyrCijP3SglxbAtJXqtoa+iwpYXeMumtu5ZkLaIM9Fsia5ToEcgSgyAiIJdyyXDfszOkX+2dudFrwywDs+EhHwdSfR/bm0SbLPDpreAUftIOjiNhwLaMctNESQJ6evTGgYY4HmwtUffIqXh/MVdoJRCXkClOsD8Ph5KWWkfUm0GaLGHlqdmlEM5Sr1OUqGFtqg1wfn6ylqt2R9RcoyKXGv7k79zr70CalPMJIJmscDebI5OVH0Yz+HyACRn6q7oExCxB0IHZbI2CUyGKMnSihmPCTxHOK0aSP1OuFlezkyMD3TwPsCJHFbkaK5L5kUEluIkH5T24uiQ0SLYJ1YEaSQB4CgnuSISYCxzkAAAAaZmNUTAAAABcAAAAhAAAAIwAAAAEAAAAHAAQAZAAApfNfPQAABAtmZEFUAAAAGGjetVddaBxVFP6+u5u0a2IffBGbkGgVEhNrS6VarYp5UMTmpw1tqI1FwScJKIltU4mBQLtNlPQnWPsgiogUyqJ2w6apCBKQIEKfRLPNpmDEbYSqhBqSmJ07M8eH3UxmNj/sJjsHDiyzc8/97nfOd88ZosB245ufuwCe9j6V93c37wivtoaFBDA6OL5VWUaCQKnKBM9sMKtNu/qZlp1TK61ThQShbeOMBks1iCUHLKA0UMRe35n49uv4roCybhBQzJyOACjObwHU88821476woSI0FL2BQ2qbBY0HadF+4L0iPIFRDQ6dlgDz2kAXqfHDeCJ7x8fO1rwdEQiyZBdPHMzAFR66Zd4hoQd7iJVwJ+bNKvqWmpnC8aEUTx73AQqndNndjaJDlOhTYPipCbtW+eCeK9gTHwRS5RZlpUgUOI5LTHU2lTTAABXomMRBRxy/hOAECNoqccaDtbc2jATC5b0aqAkqxb0AtQxp2hhv6uBeS9TLF4IoG/D6bgYi+8yKK2ahMeBi282VScW33t1//akFp7zKAaApjRfufrLS+sGISJM2WpAA8rDAjE9Z8jp7PdTwfleDfyxTDEMnB8ZGQmuqybC0ZtHAuRleqsepN3W0VhzaaU1lwbHX1Nif6my1wBteTNxLpIMmUqdcS4hhwmJz9x755PV1r3VWHXZIEazUgcNnMobxD+h+RMaqFyiNO2pADp66urMVfsDKZbCOxqwl9JHaPK+vNLRHkuUFQkThHglCYmdaqxuzCVGfzTxOShvEOL0l/yYEPSlJekuLmozIMdyDZGicVIDM+4YOYNouzbxlEHV6mpI0AAMmx/17nt0Itc4XU3b75iQPnc9qRw1yZTwrAaYxcI0NxnhfOvKStlnNdStxXrKCcTrQ78dMYV7s7ukCek6/3LtdL4gelpqDYPSmTMThyLJkKakJellIf5A6dSn671x+xqqrprgdzmBkJDRaYAVWQMKtEj7WpLMxUyb7Ro015RofSxRphhc1iUJDn5Vv21/IQait4cSHwfXRMqiDwiUuDVNwAhQThRqNp0Lmt2rMvHC8OSegMiPBOjc8wIQ6L9ev+14Iad0tZokTZF+DdKtBoP4+z/NMApsK6Zj97XJVk3uTaeA7o7X/cOBh+76DuLpSDK0oKxwehQTd9uNb77n98/ggy0DMVNqniRYkZ4V6QJht/+0QUnm9AX2yPDtcgVrPC1JcUkS0V9fefAAfDIPE6aYH5IsSZ/cYcFQEuiEj+aAuH/49h5N+3B6Y8mM5gAFA5P7yif8BKEWJWnRHkh3SbgmJvUXi80wfLYgAGy5PnVUk09mPt8cSSrY3VMvPvyv3yCISDIU2oJxCiqyJuGxu5vLd6KOpt8g/gfmUtaG5klergAAABpmY1RMAAAAGQAAAB8AAAAjAAAADwAAAAcABABkAAC7TR7vAAADymZkQVQAAAAaaN61V11sFFUU/r47C1ipUR8koiGSWLBLRZO69UFsDG8KJUvAWGLE6IM2UQnUStDU2JXUoobKopLYxpioMUoNv21Rn4xBTQho1MTWtStEEGOr1loxdefO3OPDzuzPQGF3s3OS83Jzz3z3O/c795whZrHj+7/tBNhdtCh8sGn98ndRJVMXWvz80A/XafBpB4ABIN46gQWookUutKiN3aPAWnqnIwBCNCLqUKjgH+8baXTgbiSzoHlw7Lkr3pCuJnhR2kWErjJJDSoNIu+Y1DKnG1W2IuYHD36/gUAz82yzpxM+t3pd9M/QwAcGztRkOL3D8oHFT7mMjv/+Xz9CsBy4PffcVgA3GB+cWXAFtLe1xXQY4ASAtwdT17uumyIwv0BgIGT4gbUNLYUB7x8YXRyh2a0EyyzKp2SkIx6v/6di5jPG9BCYH1C3FlodwQADs88BGhUBF6wj3BoAGytinjycarLEHGM204V1nWyLL2sv3Pze0HdXO05kMrtP/EOKRWlujd/8Rdml5ookNUANwHcb+MO1nO3BzWMnlv9tA2ez+3KlSFvU7kRCVNngGrijuKYJh9L1WMstfwU3JxI0GkgUHtTz2xbfOvpw+eAENAs/JCPTV4zPWloT30TfssnjmkTOAdhkT9/AT1eWydxj7H0oY+HJxMqVzmwBiQSNFmzRgOQOTEITC9x5mc5y055j7UAGu1qin1wqqGNt9EsN7PWe3gLn5tf3jy6thLl2LHmq1EDjRLZq4N+AXubaFnrLu3MAtuFrO1ZHfyw1cNv6Jb/YkJ3FegE02LLzcOqe0pmTk5xnv1CuWqcytS9p8Oe8+LLizYi80td3Yk5Jd+5AOnfd3TBZLviu+xbN2MS2Atb+FdaPL6x9vIS0c2Rh7dk3K20OL665aa8GPwvWvg12PXNk7JqLg4u0X6y0SjHbwhYNuoEB5Cpqd/slu1o1bNPgWD8hjygpGkSMKHV7b0vdVyVPr5WY1nxWg1OFwtOEco1JQoShgr+xrm5Ck92BpgNN3vnEcPreUMEBQF079aoGU+c1HkHvo4O/Xh4qeH8sprVRmwLCgwYWGZ7rCE1whdY6lB5WwCrlDaKe+GYErH9nzY2nQ2Gee/ddbNZgJtvxcl5jaHpCS7tvH8br0g6xJ5h+G7x/w9DJ5lDBASBD87wGfgs8vbQhSX/kCg38o1VLpm2orvN7Phq/jp18KDTB5aceUUebTh0jECsSn8iEfRmWhgoOAM1H0iuUqKPKG8398VxBXg4dHABWDJ/6gECr9z/g/xvY/wMSR7zfnh0m2AAAABpmY1RMAAAAGwAAACcAAAAdAAAACQAAAA8ABABkAACQMqAdAAADhWZkQVQAAAAcaN7FmF1oHFUUx///u8nqdpFCHwStobRpNVp8qAgigtiHomaThvpQjClSEPTBB9102ypRWdQ0taUmLXlSFMWPhwpq2AbrB6QK+qI+CBLcxYRiqqJGUUp2mzkz9/iwXzOTzTbNx/TAebgzw8zvno//vXeIJvZ2Lr/R87w8gaQBwIob4kxfz23dWGNraXbzkqdDAJIE4IMThckgAlsUbjQ3eYdjtY8gAnCqo0/0dOSjgDONLqoq5605KYARADUn/plz9GVEZLFGF+M7Hn5EybQFUXUFYamZ/oe2fxUV3IK0vnp6JnHRFI9YaCWNlSaATl667o/XEKEtgJtNFA8ZxSZTqTWyDAej/dmdO90o4egfpHP5ja3KPKFB6YDmXtrdsRsRWzByiqMCJAnWu5OQmLEZXAWrwT05XrjLsexjpdZMtd5UR4+lbi0s9wODY4WUge0lMBs3PN7ffcuvVyYlqpy3HBaAAqLm5Kx68ReXC5bN5Ttdak6IPpd4qmT1y+Of/pC8IrhHz0z3uuDdAU0r69oLI3s2/7tcOFHsC0yYbC86icNLhuvO/bZOjB4VAv6oOeCPNyYvvL6SmnHJPxdMWDUzMD65aUlwraZ0UJRtlUj5nOmVSodDnBJwPlAqQMJ6sWNLgnMVB8uz8r/AjL3f1f7FSrttuOvmaQFGylmpOiHg3gNjhXsvCydgMhR6x6MeWi05mFM7KDC/CxnIjEuMZLNqmsOVU1j28qxOfZRqL6wW3Js9HRcd6nPh7Ljkjr/v/Hn/ZSJXj5pD/FUSDq62mLZ9t/UtgX4bbg5HMfT451Prm6W1Phvw+XMrkI5F9S5LKzRPC6i+xoAA13sl++xSIjdp1p1/Y62Wone7tn4jBqdrdVdPb3p/bmrbIjVXqTdq+twa7zocakbAYki24kJ9pVnkPv6+c8tna72Qf9i57YIDngjpHgTY0zs+vatRzTmuthxGRHZNsXVIgF9Cuod51eH7JiZagnCKkz+lbipEBffB3raSCw74olb17euLbY8F4Bh3BxGxnU1tfs8hvg7pK0R55P6zMxtqcNO72v+LfBdJqgMeEECDzcEN8GSg4TY9artn/Pw7hO4rHwe0uvsWGNw+8eCWvLmacNbGnhFgLrS0tboWJwCA134yM2V8p+vgrwcNjIOHntAzWk9DzPccAcSgDd5dG99A1cSCe4oH/geA/qt59cXVmAAAABpmY1RMAAAAHQAAACkAAAAOAAAABAAAABgABABkAADVd96AAAABxGZkQVQAAAAeaN7N1E1PE0EAxvE1mhg9Ga/GBF+KaSkB1AIK2k0LKqRo0VaBKm0VtLE06Dfo3XjxM8ClB8DOS/XEhS+gCQc7s7tdqx5IuOGhl47PgjUYE4+bmeR32jn8D7OPYfznFFl9qEhEe4nUVQmW4VUV3ou3hhZHqSMLVGw9J0K9gAK8BETvvv6wfVqLxiyxMjkiVR5hT+EZLO4H1wtaBKYrzRNzVLoZKtVjhD6BechRuV3e3DymRWSKWOUUtdRDRD6CGZiFDBG3tAhMkC9n7lJr7x4ip+E+PIAUtTcMXc4daq9MUFtNIiwBU4Do1jSzurUINLkzHGd2e4zZahxuA6IVot9oMzmjzN66yRwVRZwJsQM75rpzSovGCG9khhB4Da7DCNw44Nvk5DdEKF8V0RIXx//5eIX8ODnAG83LvKGuIiwCgzDMnM/pijrqRyDm7l1n7rJEynn8wH9dCDOnHEZgL/RBPwx4am7cl13mInR47ua8uaNy7c+FCx+/n73E3Z+ggggLQY+n5vo2OUkizMNzl0akFz3LZWz/Qhf/unoOgefhIgSgm7utIGkG/IqcwBvE3H37PXcq2dloZn3yntsv5ZpZTXufdM4AAAAaZmNUTAAAAB8AAAAvAAAADAAAAAEAAAAhAAQAZAAAQRf7KAAAAX9mZEFUAAAAIGjezZUxa1NhFIaf9yRIYiS4FUoIiv0BLpZ2M0OXZnITrLuT4GQXoUsWt44OTt261EFau3bqD2hLcLCF3CxO1UFK7809DrnJvUluO38vfHDPx7mH57x8nCNK9OL7ry2T9gxQdrLvdyfdp18IRNX5i/X9Qf3GRj0B5l6Ev6g9vPpKQFqA//so2RZqCzCpAJ9+OO10kpDgVQxWDqOWMeoLGkbuuuDb2eaTVwSmGecTTz5Laoydnrp+a175SICawi8dRmux0tdjYMc8c93Zvey2foYIbwC4a6R0NwbFQIyIJWLZbz1IegSqKkDzaPg2llYtc30yGo3003Dj2Z9Q4cX+oF5v0pfTnpvr59e11nM6SkKFt2qT7Ri1x8+E6Ulc70MEf3lw+Zgdt7Hzx9E/nDr5FkWQmvtVcbtaYbbmeT4Tl2zkPMfzuVwp5Amo4CW1C/FkWYqaOctCkZG+ET8iv2sBzIL4XMEyYC/5b7GZ6STj/hqljWTNGIr+A3aWb1YDMT8GAAAAGmZjVEwAAAAhAAAAMAAAACgAAAAAAAAACAAEAGQBAH8nJFcAAAQ9ZmRBVAAAACJo3s2ZT2gcVRzHv9/frKnrxnhvNGlpDq1BsGmwleAhoCht2pqqEBN6qJd6EUmJbaW0eGhSK1aM1oNFBS8eFgoJadeDnkoFT0XBxmyotrBpQYvRRpRk3sz8PMzs7OxmTTfJ/pkvPBbmzbx5n/f7895vlqiyrk1e2+i6iSyA5uh1Kke6X3riXLXfJ9UecMlNjHklkwdgmJBJ1ECJag525eKPXQ54kAAECglWiMQnO/Z33qgFQNUsoKq0xfrQEGIIGDDf5j194DRqpKpZIDNxfUCAZwQEoRD6q2MpT/Uc2PZHrQCqYoF0Opc0wBkDwG/h6v+curt4ATVUdSzQtPCWAdtFA5/P+z8x3H2429QSgOsd4MupbGvCdbIEUvmgFQBQXnq5//G9qLHWbQHHdc8omGI4eYUAxhIZQR20LoBPp6a7HBdDXmBKH4AQ4Pyr+7dm6wGw5iBWVS55GDekGBKGDAIY87atp1EnWWt9sHn7wKCSwwpAAXgAlIQnGHn9QOeVegGsyYU+SOeSi/hnLBq0hILA9MLDv11AHbUmgL+T/x6Fsl2gKKROAqpH3untdeoJsOo0emIq2wpFVoCizANg6tS+rftQZ63aAkuKdwVMie8ywYZFY4k3ggZoVQBvXp7daTwM+W7DEICefnx277bZRgBUnkZVuaQ8Z0AaAmED5u0NzigapIot8NqlG4MG6IlsVr4FqCfOv9A5H2uAV9K5pMHSWJlCZbo1dfszNFAVATC5eMyQbcyvvuYPbDpc77S56jTaN5VtbWIiyzBthhaY/Kqv40U0WPe1gDJx1g6Oyiz4v50gjiIGWhHg2czNXbbqoAAQLRQqFvSji3s6ZuMAICulTVv1fQPQwE+ZDgkD3qWxRhET/a8Fdl6+OeSQPSWFCoQ8OdG/+a9YAzydziVtOqNlCpXpxEO3PkeMVBZgodk5boFtYeBqfvV1+GqD0+Z902hHZu5RC+6MQCOZBxBg4ofdm/oRMy2zgKPOex6ZKjouQG1V9xhiqCKA1szcLkNvoLhQAagc/2XPltk4Akg0bRp64w5Ag6BIJ2ETv2uTM4qYKrRAy9e3D9rkU0WFit9O/vrclntxBfCDOJ1LJlswI4q24sDV6/MPPvYkeunE2gLSwrcN0CbUQuAqkBAdjvPkfQt8c6cNnjcDRTIsEf3V90RxS4quhX0ovZ7frRmem/yPTvl+K+iL3g8AlkbGUt6B8Pj3u9u/qxwgM/cFBIfK+Vb0m084SV2hr9j9lt1bugDL+nyYextUNl/ta/+zIheioFfLneUAuEFjsCcEu3HhxRrtK50UIYxMWKMALA9PQoBHHAs7AHxbEYB6+AmCTSvWBBGY6NeIEEZL6uRlLsbwHxtGYIrGKmQ/hzTZyoOY1huAuxFAVyUPeMGvG11JRiwQgSnvYgUYgQb3hzALFvVI9vmOXKUA/wHPJ3pHqnUMtAAAABpmY1RMAAAAIwAAABsAAAAoAAAAAAAAAAgABABkAAAH2SvHAAADw2ZkQVQAAAAkaN6t1n2IFHUcx/ExlbpQz8cyT82uy/OhujxFvRCpRDMtkkCs6zCCMEsKQ3ugUE+xIktFCPEBQzqT2Lyd55k9jBa74+jsfLrd2b19mN2d2yUpuL86Ag/uvn3GnTnX88R/vgPvf+fFb/jMMILAfF2WL8/4M9j1L6LSOpsjO7gt4WKw6/RwCPVfkq0qVqiz+VotbjxwByZ2HWaFiGgUTvX7CKfq7QjGp7BirWL0jXbc/I87sW2sUHugvew3MZK7IEaoNRghF+0oQrHO451jWTEjaO1uEaP0KzCgdAFgm4ueu/oiK6SqVysUMdqnATORj4bFiMo+9YBk/dgsWiQCAUoe2m/K16pZoSY1VvuTZA38LFkElIbQYPQQ+9RPybHW01KMmhBQctFfJKs3ELAms2JHpXj9MSAn0Q/IR89KsfdZoUOBfNkRKZ77Xo7TUXT8FmqFw+ExrNg3cmLPd3I3HQZ0BPnoCSnOO/X9aqJiv9zd9zWwA2gIVeIK+9R3KYmmPUqC9ind9CUgD+0/GIzPZYV2SsllnymJwc+BAaVGD/1Kjh8UmLc+aruSatuhJOljBJS+KKK9jSHmqW9VU29uU5P0IdoOzEU/cVE1uZUV2oipv6OmnC1qit5DPvqRkrQauafeoKYa31LT9DYgoOSjH6ipNbynwtQ3aXZfvZamBoBDqJaS2Kf+qmafeU2zaSOwTchDb2zWbd6pv2Rkl6/T7MFXgG1APvq6lv6Wfeov6Jm21XqG1moZWg/IQ//ZIGYnslrPapmGlXqWnge2Cq3x0HV6+l1WqA5TX6pnnTpgK9BKQEXUtp7jnnqNkd27yMjREkDL0BBqZHinXmUUZi4wcn1PAqtBtbdQkX3qlXru7BOGQ9UIKD1VRG/UcE+9wigsn2U6g3MAVSIXnQdsoZ47wD71h8yejulmD1UgoOSijxvO35Xn7XJWa4JR2DzJzNMUQEDJR2ebzhbmP818WVko74wDNgGVoFEhTLxTvy9U2DcmVKD7Q3kCSj46ucVZzXuq83/NFloK/wnAgFIJOgDULkeTzB57KnoYPYJmIjxe+zHDsavQXITl2gvR0+gZtFjP2vgw2HhlrqzQc/VFLJQ/5UKluehYD33QO2m5e1I8WqAElIASUHoUIwJKQAkozcd63XcUKPkfBqADdWpmKbBCejh2N3T8COiMm6hzG1pdgtZ46GIt+6kgmAXlbthw9AEXNW9Hp42AVpagC3xUd14Gdn0ObnjpXqDb6BHQiSXodA+dVYLiw9A/z8zd/NX7HzEvJHngoXNkAAAAGmZjVEwAAAAlAAAADgAAAAUAAAANAAAAKwAEAGQBAJ/K/NgAAABTZmRBVAAAACZo3mOQ2f74uvyOB7UMDf+ZGEgB4tsf/ZcEYuntD9NJ0igE1CQCxOLbH68iSSPv9sf/+YFYaPvjepI0cux4/I9r+5ON4jtfcJOiDwCu9COhqRjjzAAAABpmY1RMAAAAJwAAAA0AAAAFAAAAAAAAACsABABkAQAanuSfAAAAYGZkQVQAAAAoaN5jYNj2RIZhx5OvQPyfCYhZgJh9x+P/nDsfr2PACXY8ngvSgIyBmn8ANarg0fTkDromhp2Puxjwgu1PNqFpesGw+y4/AU3PFYAKz0I1PGbY+ciOgQAAAF9eSoCTwHWxAAAAGmZjVEwAAAApAAAAGgAAACMAAAABAAAACAAEAGQAACJuQm4AAAK1ZmRBVAAAACpo3u3VW0gUYRTA8cmNLqggGmSJYCYUCUKBoBTZBQJNIioqhCipEIokySCwixRZgd2IioouqGRsOLNz25nNaCkwNAV1173O7s6us0ZFPRRhkeTpTO7m4vPpqQ78nwa+H99whmEYwnltHcrr73J97WddkNpAl/sYpcPgoe0zEezHAOdeSob0sa5yPHRyJvSGG24lQ5qbIe0l6+7rYd3Qm4qwrveD3GAWGaTaPLXdnBteYK8QM8G+KeggGcLz/kyeG3krcSOgYiboxPCGg1ar1UIGddq8F602D7CcBxCEJPiMdVWQIQ+6goWPbN7v7TYvdCKWBAXO84R0nW/xPv4OIvcxBKEDIQTHOzlfARlyWQxsvMr74AaGINxNgA85TzPdOjuds1t4v+sS74dWLAne5n1Gm2M4nQxqEoP1p4UAnBX8cB6hJHid9+4mQxpUT3ajEPx4AqEm7EwCvMD7ewBgFhl0SNJu1otBaBCCcBwzwZNC4OcpIVBKhtTatBUHRG2iTtTgMDYNavdI17lGDjv2iCHYhwiCkAC/HFW9i8iQLVJ423YpDDulENRgJliL0H4h1EiGVNq1uZVSJFiN0FbMBHdNgaEj+IwMWitFmjbIEdiEIQhJcIccriZDSmU9t0zWP6+WdahAKAlWSZFu0gUoUaJtK+1RQBAQhDVT4MR6VSsmQ4rsetkye2yyGKESbFUCLJf1K3RXwa88X432LrHHoAhbjkgC/FSuGtlkTo4S27tQGYXFWL4Sgz+gotfR3cb5ISNDMcayFANyEJoGR4cYK9D9ntMc8ZY5qgHzsUzETHABQrmKsY7uNs9jhYwa/4aBBUsBn5KuMwLXTCQ1iyM+Pk/RC4gh4/FMiHHEzzHkoxhVePhkChRiHO/Smb8yanwzo4x1/H6NopHH/J9/Yn4ByYxYN7/uQDkAAAAaZmNUTAAAACsAAAAVAAAAHgAAAAUAAAAJAAQAZAEAs3ud4wAAAfBmZEFUAAAALGje7dRPSBRhGMfx8Q9pggUZFoqBEQgSgQSCZbSQXhQURA8S5GE7FJUHFfKgsHkxaS9FeglBUC97mNnZd+Yd96Kgl7IlaLfR3XF23d1xV7xIFyFEfXpGZmnxEjx63B98rx/emRdeQTjHvonhhe9iGM50SAY1MdyyLEVO1sQIfM1D16WfXhLo8UCxJOnrivQLghji4OB7IV/oKgmdkzbci34dfJiEaA5fkSJuEjglRyun5c3sF/8GzGF5+A/7C0jopBzzfpCj8FHehBnMwU/m/fojEjgqm3fGArE/7wIxmETY6+B48gXyjb9mhjoUMOAtouPYRCBq4wfvmX6LBA4o8U4324IX2BtmwDDiozbOjDES2OfTL/WyeLRfMeEZM8HGX2KDzEh5WLaChLYpiZEOJQ7dWC9m4wOIP1eMHhL4IGhWt6rbv11qAtqxHN6nxJfJl9PIk7NNPAnN6jY8xBz8qEtO3COBNTzZVM9Txw08BXcR/ocnPtOOCFB0TUuv3tDSUKel4DbCDr5/n2Wvk8ySoPW0fMmCSs2CKoRvOni9mnxFOyXfKhOWdiwMSrDLiF+xcZ6OCCtQSnwsLZcN5leKlWs7T+hPOt9tPIsKwYwonHta5lMeagrMqhUuZPaJufX49B8XVlhh/99fDnKESFU/MpsAAAAaZmNUTAAAAC0AAAALAAAADQAAABAAAAAIAAQAZAEA9UdUDgAAAThmZEFUAAAALmjefZBPK0RhFMZ/58wted+ZspYssFCWslBKFkpZsGEhn0EpCwsLyp+NBWXFN7DRlBQb38ByjJpYkJKbycJcZsY9FjNu103z1Ls4T7/zvKdHyOiqWO4tfNfvAsinfTFZC7Jw1Zp7X6J5j+HMyLXshgRa/APvn92OhsKyx4gwHEZ76WhsbqSiCWkmrzk9CEU1FCX13qrN3DZAkrx0fr8Uik60UsEBHiGCjYXF4bcEHj997H7Vxq4zTb53rVNKXYXnk9/AAKCaj9c/0f7srZ/Y6vHUVDNppPviqc9JXHaY92Y4wJnhseLl7MB8uoAgUtuKUB/9SaVe0++1bK0ByCRADaEmgjejJvFhODNUycKKUUobHyIvYdDc4R8p5FaAm/b8hMSLTA++01HXDz1smnZCfgAx7nr6AIqbTAAAABpmY1RMAAAALwAAAAYAAAAEAAAAFQAAAAcABABkAADHjO1dAAAAQGZkQVQAAAAwaN5jOL32cuzpdZf+o2CgGMOZtZeL0SVAYgyn115SAuIvCNVANlCMAQROr7lgeHrtxTlgDGSDxAAF5EHBroZQLgAAABpmY1RMAAAAMQAAAA8AAAAJAAAAFQAAAAUABABkAACeX6S1AAABHWZkQVQAAAAyaN6Nj0ErRGEYhZ/3u/d+N5ntWFpM2ZgNo252UhaSYiFlMT/BD7DzF+QPyMKsJKXLykZJjVm4UmpCMigsxuY2zL3zWhjCqJlnc+qczqkjAKoqld0oaCkZJzXP4jVfCnOFB7og1bDq1xvxPsjkn+xVIRLkSFvpVrAwctFRLm+fFxHdpDsVQdf7EreUX8y/A5hD1x04djxOHY/IuFwal2vjUBPDkxjqIsQICYwpshG76U1552wJQKb2bnMeaWTRfotiAattRbH6qf5vX63qrAAQ3o9ao8u+as6iWR8GrWrme6BjULFQkn/fraphvJYDMw1aBIKfsQF8dE3ohYO7AFgBmW87VzR1orfyF+HjMCRZaJwwM/T2AQyzafxz+v/6AAAAGmZjVEwAAAAzAAAAFgAAAA8AAAAVAAAABgAEAGQAAK3aH+QAAAHSZmRBVAAAADRo3q2Sv2uTURSGn3PviSVEu0h1cwhULEG0igHHDoI/0IBWQaEKXcRBSgfBRcg/UEUUXIMFhThUqSZxdq2KFQcbRDEZFFOhQ0oa/b7jkDb9Uqsl2hcul3Pv5TnvuedIoVDu6WssFkGG6NSCwawgLywMHqSH97+jC8mzqbcjHrnvMRTwBorhAdf59qVgd+I/9WHqXKq5Edh9Q3fURKiJ+219F8eCCHURGsjBH0iursHHmak3V/L5vP+r41tP55ISBLMKCQ+otdwq0K4ich65e+UCLg8N751ZFwxw40l50Etw1UNSzfoU2eWxrauQPyZsaMjFzOnUo3XBa5XNmmsMfkjGCI6qMOLN0u0ERBKYoRCqyNilzMDdDcFrNT79Pu1DuaZiZzxI27W1v8YUxscye253BV7R6HT5cAzuKezrBBseTJHR7Kndua7BAMcK5Z7e0E167GwLHGkwVt/iggM3TwzMuW7BxeP9S+Fi8vy8SK4mwvzyaC7via9hLIeZdO14tcPm0oc+TSpc6Ghqq4oj/w4Gdj7/kugNll4r1h8dSzWu/xcYYHvpc8Ybj9uuDWLGSTZDrlSdiJWqzXip0txWrE6wqcpX4uQr8ZXwF/buq2nt8Lx5AAAAGmZjVEwAAAA1AAAAGQAAABkAAAAVAAAABQAEAGQAAFT/qnAAAAKNZmRBVAAAADZo3q2UT0iUURTFz3nvUxOFKKyFRgvD0PzXTDLYrhZhRFJqDrWwRUHQosIoajm7Ni3KJLdmYDAFkxgTQUTQpiIxLbUU0ijaJIHZ92b8M99tMc44M/ZHne/AXbzN+3HPvecSAESEL/uGfVpQqGPqO3MWpr1HvN/gkhgOT+TlRqOPNbFfC6ABaAg0MCPAMMEX4sR6fcd2j6wbEgqNtmk4PfHPk4B4yfKbwAAht/IXrXuV/sr5tUCUDdlqSBgSBhnF5YqCe+bBbtuKTb4JDZ0NBoN61ZB5JydkQDv+KZAOxAqgTRYbUbdLrIrXrx68q1uVXQDQ0TfiyaU6p0RKtWCLBrZroPBv1iVtJaLKkZP7mmvu/xeSqUBA1DbPaCmgDmqRNg34/gF0LPDCgabKzjVBMtUV+uiz6FzWkBYN8A9A0ZD2xqbqm+uGJNTZP7ZXO+jSIrXLtiW7EktwqqWpsjsrCAB0hCfynIXFuxpojXeSOifYuQ69x5srxtO2a62Q84fK5ornyk/Yoroz19yQBbNK7gQCorKCAIDfz1j07c7ThuhNzxZgyPoiz5g/K7tSdenJUEHeXP6ghpQlZxNfhFEzWF4dCNBZdycJXW+otW3yTFpwSRiqXdrz4WhWdqXqRmPZ8wj5bMVporriGgQAZqmu2SBsEDaT58nX/nCs2jVIz+EdTw04mOgiAYzonHrXIABgk/0Z6wwD1ACA5RYkQgxr4VL6GQ8nWeUuRPG9coi0cyNSlXVOUtUaFP2pYOqXBjak3rSY6M2uQQCgIjz1VQMlKZ3A0SxWbkIMOJlxYn6iaHraVUgEuGrImaXtWjTExYG6ugVX7QKAjY8+b4KGVytr/EdDyRcA+A3D0hL1rKSxAAAAABpmY1RMAAAANwAAABkAAAAiAAAAFQAAAAUABABkAACrOn62AAADL2ZkQVQAAAA4aN6t1llIVFEcx3FLWqAeCgLDoEXKAsnQ9oVWi6IgKgwLRSEKFNswKorKQikyipKixcwsra7jXeYu0+KWWWpOonM9M+M4zThD9dJLkNBLzb+fmS2itHgOfGFA8MOZ//9eJiwMh4iGVMlsfq3UuqrBYsbWKc2RYTyPYXSMsIltVY+kNqqQTKpGtaJJz0XzQ4PoqG0SzdyXlpaYQSHlkjNFAmBFOnqIngCqQk+B1aF60UFNosNuF1tTmcCG/zNSKrGsBzIjC5Ik1j8m/cReio63dqk1XRCE8L9GCss9UcWys6sEyH1UhkRgChAN2dBjVAmoBj0D9qIHe9VoMef8NVSgsLhC2VV4W3HW3JUZuyezjwKwcmAyABUZqJ+5fWoUHYn/NafsbBp6R2FT7yssE1jjH7AvdZIjc9AbWCKxeZhbGeYWGmBJQpjbXi7rXiq6FuJ2Lf3PzQxVSo40LtAlPFdYEmGAJemqEF3RXCBBoPAimd3CkhCWhH5bEtms754pF6j7HxXKrKRIdtIdVAqo93kTxbYkbq+k4keto65LTs9NIH0wxu023Sdfci2/orjoGoACdAvh4aYSxdzM9SV7QXFVXgJ0GV0FcKMHa+SK5MmehHOKm4DRD+zb7VwzuUI5iqv5DKA8dB7AxR5sJ1fkhLX95ClrO+UC+QXL54octnq2HAVyHJ1EOVY3nba6q7kiexX39ANWDx0CcAQdQ9nW9vdckUS8Bfaonk/7Af2KHdYcY7lCu9SOtxlqB+1WPbQPUBY6qLj5/ihJU73vdgABRukoE1gmTySt2j9yu+b9nKJ6CRh9x0IZAhvNDdmk+mZt0V7TVs1L21AyoFTVG+T6Va3VfMkbgGxEm1EioCTNa+OKJBi+vDW6j9ZpPurFcLuz3IDZdvuwJbo/sAzISrQa4Wa0HrfjhsTbAslzdT8tQIvRUiArdN8XgJO4AJOxVTFGp3+W0UnxqBdbpPslbreYogdSphkBmgEAGMWiODTHCCzmhkx4GMyaaAvQFEBT0XQUo3dqXLcqQgtEjbcFuybYgvQd64rS30SH8T5jjM64cbZgQQSKxOe+f/8KwVMMQUzpBO4AAAAaZmNUTAAAADkAAAAZAAAAKQAAABUAAAAFAAQAZAAAmL3pFAAAA+1mZEFUAAAAOmjerddrbFNlHMfx6jKQiC5DvOEUMycacUNAmQuKI6BGYzQi4I0Fb4iYEYKXKF5ivRAFJBIVvOEmOHAetnO/tCIdDpAVq1l7+uy0Xdv17AzemBiMBF4o+/sbQ6yAyVifk3xfrp895/88zzqfDw8RnRWSWXVIis5qb7GrdiuJcT6ej2l2j9TFeMiS4vQd2iHZtBPtFu2DP4qx9rBor9zX0jmxIESQuupEiZECQEeDmH0C2yXaBIzCYiwSEaMLmcBGnDGyVWLPfyszakESABUZKIC2AwmhH8RjK6O9wPaJsf0RKbpEEISiISMNranyJpkd+gaIgFqxKhmAhkwURN8DakPtgPagDmA/ibGfwy32jUOGNips8ibZafhaYTu3yowB+2OI2JGIGJs3rDn5/XS2oLAKVI95hf87r/jJ8zoalmL1Be9AQWLTRJFtw7z6T5nX4E7s75Ciy7hsd0F0arA5Ov9nc/TvkWKPcTtXrTLGdvp5Hdoldk7gsyKBirDlG089X8Bkey9hplyggc3RLLMt27DtT8aCYvwhblfS5mD0XBzm1GkOM/PzWs3A0yg5tU1yF504zPLg+dJFew7XS7ZBcnZsAoSbg/JujjBX5HO5a/ZGII1oM9oCpPkY5lRyhTYozi+fAcjHmpT4Iq7IOtV582PFoU8QVkZfoq8k9hFXZK3qPPABgA/RevQp+kLuauOKvK0krlmlJOh9lIf9yhUZuAXeURJH3gWyGq0Fsg5t0GOlXKE31OT+t9QErQTyHlqDVvH+UrJCSx54TU0SMPoH44r423rOeUFN/fUSgFfQ68ivJvv9AhvNDVmqJSct01L0nJqiF9HLQF5Vk71cX9VivXvBEq2b6gH9iyUtrsjjemrNU0AWo2fRUkDLldRqbsDTkUjxAi3tLtTS9ASAReiZgVVhddyQuVrm0fl6mh5GwOg4dvRJIzue21/Ie/UMu1/P0Fz0IKBHUJ2Wlrit4k4jW3eXnqV7ANyH5qB5aL6Zns4FqDW7y2qN7G+zjCzdgfKwEBdg6vZMyc1GT3i60UMz0EwgsxFWRncb2RkFA5W6WzrJzHVMMXN0EwBgdAu6DQCw5oKBci1zxQTTjV8HoBLdgKYCmIZqjJxXE/DGDPvDK/DN8TLLXTHedH8vN126Gl0LYCKqQpPN3OEpevbW4f/6+J/yAssNXWT10qWozHIJGOVhh6833NsLekWjDK/6fMujUgBj0cVoHLoc2JWme/AqPTez4DkUB73qUQGPRgMqQWMAXIgusXq9Msur4nPi8LqKAn2hEYCOY3+WWH3rz9MOjOV6y/oweF+gr6442Ld8ZMCrOJMf/RuAQ7maj2/maQAAABpmY1RMAAAAOwAAABkAAAArAAAAFQAAAAUABABkAADdrYtsAAAEPmZkQVQAAAA8aN6tl01oXFUUx//nnjdNUlMkgl2EGtqhak2aSWvbMYW6iAjmo9Km1QErqVAholJEQQKCMAvBjS7EqktThYijJq2RaWnVVLPQSkQz6aS0oYSQGBctxZSkybyPe1y8eW8+Mm2TybvwmDswc3/vfP3vOQQAIkLnTo9HQ2JXG466rkKhG/sObJtFQIuSyYkKZylzhgktDIAhYAAsmGNQSkGGWTt90ed2pMuGJAbGuwzIF/7h/uPDvP2fDPm4yja+aog1mKuBKBuy0SLAIoIF5D3Z7+TtaZcF6l0wnMmRgdFXE4kErxiypEMDFrDgHki5w30QuaAcrNYW+nSLse2Pi9+O7V6RuwDg5On0Tog6bpAOs+BBBupYUF3owrx9zoVLDBzdfSjyzT0hxSseF1W/czysgFbW0sVAtHSsAIZog/DGns7IiVVBitfAQDpKIm8z4TADVAImTPrN5s6mj8qGeKu///JeJuczBppKuFAMkmN7OyO9a4IAQDI5UWGamS+V4PllLtRYUOQ8/uShHVcLsmu1kPb2hzOm2fCCBepdloUK99mKT0pc1JogABCLkTM2Wv+yTdS3LOUFzT9F0rE1Q9wMJH27yu42gYnCQibYhHfjedaotQjf0WeaFizo7hKFXP9E5NLBQCAA0NXZeMES9bMvQR6MqCcwCADYJO/7wc/CTKLoqVOpxsAgxw7W/2gBfxUIK4AMqebAIABgKRosTmlbUwQAjKAgJpAyiKABaBH3k2h7oJCM0CWBf7gH2l6WrNxpJRLCUxVX5hlSmX/DClsPBBaTWIwcC7hZkGUAHGddVWDuygaftAi0ABpufNYFmV3xoclKS7AxW4ieJaIyzq3ALLk1bz4aAlgDueBDZl6PNcwHBnFINcJL3WyWOaB0oClsQZo0Za0QNx5K9FhgFd89MhKyhGIFLRQAG5wKzJLb/9bEDEid5yYNgibRJvNwIJbE46IckndyzZ+vX99/0hGeCsSSv/dMvshC9QyBplw8ROODsruV/NWWnNiktEoxUFPUuQz17d/6lPe7si15+vy1+02TvmNCjVvhuXgIOfH835YF2ffDVM2iqc8wENWem5BVXqKv+zse+XVNkF2D1+oWoZMMNPiZlJP4GYdDrxX/Z+WQhPBjG6ZeWRK8x0BNweXkiuGiI3Lkl9aHbq66Ta0dnF3PbL+kIG8ZwNZlPTAAFllUkAMXO8LnV9ZwJ6arqtc7m1mpCBNaGXKYQRv8w2XZyDenNDpH928euvvocHb6CEA9BIQZecOPlBiA3Df39v8octqvtIVTdx+Czk5HAfotv/pV/psKSk1bwoTPqyyj5+qztTfu5XIDQEuxvPh3gqtBWWUFNEg05BxExWfbNv2+0pwxQJSG3OGOyGXOfxqSEI0Tcx11Y6ue492YzHwI4DiAUFbfrgO4DGAMIsOotJNo2bJUrjr8DzgKCvJ3CR9TAAAAGmZjVEwAAAA9AAAAIgAAACsAAAAMAAAABQAEAGQAAHrt1WoAAAS9ZmRBVAAAAD5o3r2Yb2iVZRjGf/f9nunmZrbAPoiKDu2Pc5t/h4J+MKJsM3SaByxUMDCKIgoi6NP5EAQRQWT1yVADo1M2TZuW2aQRWExkm1NKzcbUCEUU57Zz3vM+dx/On51zXDVl573h4cB77ufl4rru+3qf5xbGGGYmJw90Nzqjygv0qpT51xatXXSFcQoZS1Jb27mJ1cODhxVZpYV/3TToFqTDXLC38ZkFvSUFcry1Z7MaexRQjPTvqJtPCvZhRSryeW20Nnk3QHQsSUl40BfwBXwkt1KAK0xdbMiuwUhwsbO168V4PO6NLxBnrT5y20fIASoABQFgI1ummcnHsyOP/PrLVz1Lxk0agAMHehdGAveKitZ42FTBZipUKaBGTq586TIxLLBlyfr6L8cFSHHEYqbLFp6p8VywWpDNCo2FoApqySG8urSlfse4AymOI629jWrBG57IBgUZhSUTsdcaWxo+KCmQbBz+unu5J/KJQkMOyAhLJsK25S31u0oOJOs7kkx8psbGfInUQI3bSLBo5foFv99119xtNDXNTdxKntnkw678zvIFfKUyUG+3xUxLDgQgGo0GnV21z6dgr0+h//jGsmP1vdGSS5Mfe77rqqwajJxSbO5I8YLCmRNdtXWxmLiSMpKNLU823E7gtvuSJ1F6zVtSf3pdyaXJj00tdcd948e0IwtZUCmRN0MFAuCLvFPAiEBKpHH//rN1oQLZum7eDz6cSn8s0x9MH0hIsCxUIAAp7GAqVyMZeZzUA0TCBJJQ7Y4YqI2YXCAyP3Qggclpw1CRPLe1+aH4SH7E4+b1T/xtQLHyfE8Rz38g1BqJRiXw4XqB7QNBMKEiVGkAfEXUZdlIS5QIW5pY+8Vydys5oODlzimGJRPBfaEyMjSQfHgERIYR4VIsWjsQKhDfaZ2KFR8le0Nv36RnDZ5lT2zp+hBzPaE66/bOzrKUSbTgSgKk8LpDZST115SowMz8blHB4XkdoTESi5kmRd4q9g8fvvmouaYvNEZ6l55/Tk3mqWRtPc0IjvdCOyqubzs33TntVqgu6pb2vWvmPJbNKykjjx+9MGU4IfsEqy7wDsCTIJafWzIgKw71VbtkcDgpNCqSadk0GyLyxcHmh34qOZAVBy/MNFybj9TmpJAcG5fwyl4q3hMBmHKor8Y8b60K1264oThNcxP3AmBj3Lw/Jve9kHD2tuRqQvLvwEOe8eyx1TOu33HlLGu7vFDVdShUZu6o59Xs/cogsvvK09MGxwJg8cErkwa9xFZFXleYk3foyb/HDCm29ufmmqOjX8KP9O9UZFvxKEGNW4rsE3NHIs51Vwx6f16KzhgCmB7vr/AmBbOcar1ntlqFDQqT73jHyLopjpaTa2a1//tY4kj/TpBt2V6+Y+BSMF5gIPO8SotzjVEAGAqXRVzT6adquv97dOV0B8IQmdFTUHTKLhxVUeUjVUXumMnLrtxz89FP/WDCgv8DMWJoh/vrEX0X7IlikxsDS8VymMD3YkHsctPsE/c23vy2vw6VlxGiwP2jTf5GqaVse95QI17m2PF384ye8Zmztl8sZzjShMhKoA54FJgKlGU2+QpXFc4qrkdNOobKU22smj18r97zD55t9cK/Y9FxAAAAGmZjVEwAAAA/AAAAKAAAACoAAAAFAAAABgAEAGQAABkw4gcAAAUQZmRBVAAAAEBo3s3Ye0yVdRzH8ccbitc0BS+EhCh5AWaa6PA6pcuareFMVzKrpYU6rbTbWo1yrmY1ui1npdSapUd5nnN4riiCl0oOUIPznEeQA+f2HPynDZk43Fzy7fPAOXm42JDg8Py293Z2+D0Pr/34nd+eA8P8z+GSXCMr2OqSCtZBXWouZx0XKlj1QPmpqvnMYI2yAjW7vDuupyor2eqtmkWLiijwYoG69zdWpUtAlKFeYBsrueoci8UyLCLA4gJH4jlOvXEByIvIwP7eO+wf9lPq4oggz9i0hWdZ9WgJp54DVjvPqi29xN6sZB0bI74vc3NpaKlNSyrlHLuAtXfF2jsjb1dgHjOY4yynLTnHOk4C22Zgf+2ObSvnqvcwgz2KWccybIOqUk6l88E9G4YF0vH8oCMlnJunrU5LMZDAUidsgXrDzlbNGXSkccTInDO/iHPSaQA7Ya3qJcIeHnSk8UHiOecxEUhgKRxbzDo3M2YYRUXVYzjOWVcInIBCWIVzarlmWEVjnOTU1QWcRhyyAmdgeQPMqlmMWcYJTjtrsWp0EoVh7aYB/mi9vO4YcD+j4yiEtVprUkyD/MF6+U9A6ScUwp6wObeZBvitVfvge+COImCpHctpX5kGeKiwZsMhWw0dBuw7FMSWmgb4ua02+UsAv0bfoCD2L9MALRYa9pmt5mYeYF+gEJYx0/jYVtt40FZLnyJgKc9swP187dUDwH2EgCUDaxpcbqln1PuFV/7OLbxCH6L9hbUEbJtpgG/xV9LeAexd9B4CloD1mwb4us215Y3COnoTvQ1cECubBrhbqPvkVb6OXgNwL9pnYG11B02B215ZOSKHd/l28i7aBeRutAcZq9oxg2hIquhJX4SM15EGvsi7nnsJuO3oZQQs7eBdt3eK7plMEr4jzJO9JfMlL6WgNLw23ovkk3W2UK9t5evpBcCAJQO7jXdx7ROSRF/2bMlHc9BDAM5DC0TPK5ECbhZd2ZuFenoWbQEyGxnYrbb6jPYJMyXvvgTgHkSzUBDblCQF4gYalyW54jYIDU2INgK4CQWxJf9Omi55F86Q/RQn+ygehbBYWXvimYYJA4Vbh3s/KTTY1wP3FHoaZSED+4xYt7LT5Cmy/5dYIKehcCxWtyxe8E3sb9xy3DNTdJc9KrrpccFNTwAFLBnY9aL7eLcLxiv6pEmyX58MXAwKYae3Y/1OrGR8v+H4hvhVgse5Grg1aC1ah4JY/TFYerxwnOJfMUHWWyfKOgFLXbBNwO5g8EjUV9hGXPuI4N2RLnqalokeykDL0Uq0qgPbulZwr/jPm4wp8mWOBXIckMBSOHZKB9Y1VfLnTOevju4tbBHmpkqenDTJ61qIE+JhtBioJQhYCmJbM0R3Zq9uOEoJrIlW9ObRik7AUgh7Xyes7zpWNz9W8m+aJnjnxln06ND1xuuZeG8WfjZb9OUnS77rc0PHV+isRWHY5nTBu+ae/hxRsp46vCgQGAnkKGRgx/SAvf/OytJU2d+CbdCCPUsPtH/AOk6ERONECB5fyeFnbQc2sEB2p/Zt0/BXJw9V9CPDlEDbCCVAUfeGbf+Azbg7ti1Z8h+Zg9/RD/8vCyxllEZlCKDA0t2w43vAxnTHtsVLPiVB8izt/5NV1FMYOXCYUQLXgKWu2OgesBNDWMV/LUbWD8ca9xjwgUdzRtazAM1DxcA2Antr+B3sLWAbgS0eq/jzAM1KMK7p4/gHhfht8rs3/k0AAAAaZmNUTAAAAEEAAAArAAAAKQAAAAIAAAAHAAQAZAAAz3myWAAABXlmZEFUAAAAQmjezZhtTJVlGMf///s5xwAxZFM+kJKedL4Qh0wF23JFs0zAEp3HmlqrNluu1mpzbs4P50Nf2lxby16/qLWsKCIlEULFjbVpUY5DUFMZAidaL5NShMPzdvXhwHl5eBEQOefant3bc5499++5z/++7uv6E1MYP1Y07wTl43E8+hMh76Sars9yfbn6eN+vphJWB7JMADYAGfvRlQIe7nNZ7Y2VTS+Vl5dr0w5rQyoN4Q0DhAHCBGCNDZ4twvcWupb+cP6r5lU3ez8xxVF3rGWFZtmvaISHgrkEchSQTgjU4ISjrFCIwDOrNnu/nDZYZ/j9oh5a0erRbOtxCncSKFCQCDTjIWwQr64u8x5MCKwzTle2FGhi7VHgFgUwDB0HL0J5raAs/+2Eww7Fqa8DD2jk+wTylSAGVqAAUcTzBWXew0kBCwDV1ZfumKEPfEKRrRFYiYw33LTuL9x838Xbkg0mGsXFiweu6q1PG+DhcAYBDA5eCjND0I6IX1RSwAKAz+ezzjXlvqADR4dSXgz4mtPeFl9SyCA2amubZob6tAsEFsemOAKt55py8/x+2ipZYNevz7+hQ3ZFVjV6LV/l/WVTUsggNraW5Z01gTMGCZNDpyBhknuTSgZD8ek3resAqXNIAW4or0o22O2blp8ywAtxGw3AAK01SQcbrt6kKqrZMLRu0+tKRlhLqYAtACWm+CHvdQHArqrutD7071GQZZqg/tDGez4CKQmDNdEsGkAyplKTXAUAPew7alL8BrFNV/hgx4m2/Ylc2SxzaZsBhOJTGOeqrXVtGSb4hEPQOxJ7qtEywKvOTeYa6HPPtDWD0eUmCMxKtG4NBdIeSl1hOahrd16/ZoDiODmyHq5vT0kUqL++PcUUZhlktLABRJ0tyu3ViWD4JsMXqKX3ypJEwfb36kt0QItNXQYZVABggi1xYiYwQOQlTAK2ynPq1QBaVDgJs3lYeaaQnyhYU5N856FgCJsVABhiBxxpAobQt7Kx0T3doLsaG92G0BenVwImGFAAIESDQdpRzQIGkOP+a45v2lf1jwyfAeTErSpoD7i0BgUAF0o8HSZwPKrZMLQO7ENMWzEdbbtF7huhpj3+bomnIwJigAdGKnzzV3duny7Y31Zf3q4Dy8OpirFFzIFh9aznZMcZJShytMU9Lri8geJ5wdsJurn60jzaKkAg0+He1B8tXfTIsE7BsOkfttHAzJBYFZ66tozbBbquri1Dt1WFDmQ6tAqTtn/UhjG7pvNzCrZFXBIZsnjkvGlzQ2fp3T1TCVrybUemTuukAgrDnkHUnQH5RVWJ56lRW/FecLcBBGNOjnDqIAup0OCpasuZKtAHq9pyemE3GEBh1DOInKJBXXPvvqkjk1nTuVYJagmkOnshBfQQ2N91ff6H8NGaVGNYLlpnWseLpLyhgEzHHgGBfiVYf7rU0zAu+yijtuNR2OqYAlKdduXgeJmCt8RyHenemN03HsiVVd1phjbwrAJfV8CiuE4gOvYD8uT3JZ66CRlz6TXBIohUEsiIqdgdL5frCqyAoMZt2wGrT7sS9M3vB4B55V2pqWnWAirlhcjjirJFAbMccIN7Q0DgP01Ydr50Qf2kLM8ZJ7u8SqFaCe6KmGbD/zbn2Dv4e3q8Qxj3kc77v7toF/+8wRO4NTO5qnuO2229SeC5iKcqN508MkY+bGRw0SCHLGvG3osbs/8ZC2NiJkd1cI2m6CfkMQWJdhcjQoy66kMfJkrwHWD7rxQvPDee6SfnyJzoylOKL5PwEZg9DG6sVSf+pbAcNg7+WTK/eSLT3pp9VN+egpCrWJFrBcjTgGUE5iqIexDOoOBvDfgVlGYlbJidYlZfKVoYmsx0/wMN5mfvJKM07gAAABpmY1RMAAAAQwAAACsAAAAMAAAAAgAAAA8ABABkAACqQq/DAAABy2ZkQVQAAABEaN7Flb9rFEEYhp939k7QQhC0sbQwel4uihYRIRCIpL0IHng2VmlFUayELQOp7O1EkUsTibExqKUIGjgTA0YL/4FgYSB7s7ufxW72stff3QvDwvxgHmaeb1YMZHl1px1IjwU4s+X7zYuvGGI6nU5wslp7LrjnMAQ4yL7G55lu/YZCpeR9RZbe/Jwx0o8OXL4odamuP1yY+DJM4DA0d3Vq+0UA7T6s4QBMd+Zu1V+T9xcLIuyZF84LPODBRYHNMuSEodJjJ5JFD7v5vniER8TiaRiaK8FGV3abXlw+nOQlvCDGthlB5uen9nvYYrY/R1vtWmOrWYKNxaOBSXjc1+TbhXeMKLcXJj/F8MFLxMpPFhFLTwpnH6zvTFoSdAuxD51JdXOpeX6DEebl6o85sPdlFqjiGg4gSqvTXlC0zJnNUYMC3G3WNjzaLHTMbzlSMu0APNboD2a+xs7WGFN62NpgofVSNSoZLPXBY3epuuOCTZzrpgYy6/NI9UpWXLokK/taCYLv44KNTFsBhqQjPwiru/bbP6d6cKbsrA7+7p/7PS7Ys9HELw8HpZdJOu3+JTpe8hXwYm+lpWRcsK2WEo/2BovsP/LZyUqNvyewAAAAGmZjVEwAAABFAAAADQAAAAwAAAAFAAAACAAEAGQAABBMi7MAAAFBZmRBVAAAAEZo3n2STSuEURiGr/vxamws/QKbySTEwlYWVlNGGSULRWyUhY2NmrK0kI+yQ8LGYhpZSfIPSIMiSxtsKd5557GYDzMac+p06vRc57rPeY5oMtxdF9l8CmPMnHeCaG042fui/4Cz7G2/S9vmGhRggOA5isUSDaGT3N24OQdy2gynBqIFHwr+Ake5u4XQ2TAwCQyVIAfhFGSvddBe7n4xdNYFKp3sVYMJQFsTo4n7aryd04dpK/qugWrjlNe8ebQ0leo+p7zPZvap06xwDbRXi90rsXJR8Dk5nxz4rAiCTMbt2x4PDdrrDBJy9jvC+Gw6paj2Gtba95gO8cEQ8TuhII7fbuIz6XQ9ABAUxErV4BWTnoqxr7lMRsVGLQlC6BIqFQsMR/K55ZGej/8aH4T1r4Shy9Vk/KrZ9/oBXY1omw5NKvUAAAAaZmNUTAAAAEcAAAAgAAAAKQAAAAsAAAAFAAQAZAAAZJZ0ogAABJ5mZEFUAAAASGjexVhdbFRVEP6+ubtY/mxqJCYVGmwEhA1bfrdoNBpDFIuEtOBNwKiJJBBJfNCEF+PDPpj4QGJCJDH6QEpIUBZL25QAK5ImEuVHLG1xG40U+an1AUJCKOz2nnvv+LA/7K5tLbRcJzm5D+ec+31nZs6cmSHGKV3tXdVqwo97lj8LACxPrjNsbixbv2wQExCONnH22+4Ixdqs0BcIRAFUjrL0lgK9BE+q7+2PbVySemACqURqyo2QbhLo+wIsJxSSWyTj/+cvhH4+1Q19HbEjzrgIJBIJqyq8cCugHwtYnQekooiAFohwLNXdk0FSP7lkfv/Ktm1vVALt7RdWiI8vBVxWDFAO+F+ExnIf3+e2+o2Lz41IoKUtlaaiYkTAwlchwBCBqwJcz5GZRaBGgBnjMFWGwNsrmqIHyydCBqggAQGzP9ACIAicJbgvLDz20/lFl+Jx+sWb43GVF5f21Vq+t4bKtwjERjFVhQLf/Nza+8TKxujuEg3sa+vTshMogRYodtqNkbP349EnWlMxS70dAm4QgCOYSpX6QayxbleBwJ62Pi0sIHtCHt7b3LTw1ETu9veHep+1yC8I1GU1WmJKFeLdWGO0GQDEADAAjKI9LXeemyg4AKxuip5KP1JR75IHDYHCAGFAOj53nznUPT9LgIQBmx81CzdsW7fiLiZJGhrmDd90+jYZsDkLXEREMD0Da6/GVcQl9l/vfmaLbdPDJItt297pnsgWB9ifOz2KyKw6EU3Z3Jnsmb7j1bo7eIiSTPZMz9y1zhOYV3bN+4iA5GDrhZcE0vkAEXXy5EBr6gSJl/PxRu7vjZm4uOSnBoBb5JCBagAAmtv6ugRYmg9SEjQBB9pRiD0gQkET8ER6fQWo2dMHTmBY+asFBcngnRAAqocXXDRAJm+GwAnYNj0D3sxHxcBNAABGQPrjyqYmX+Kdf1bgtjMEwPpfnDA95CywACsfjgMnYHxZ7FMLiW3gBFxL63w//yIy2Fuw9dy5sFHahiy8BYFqwP270vazqTyIgANRPK7ikR8VMqLcCEwDv628+CaVi0hAlIWkRKJHBmY/bPCmI3/MNiq7/pWcEp2SUa+l9nh/5cMCX328v9LxpcUBqvJPcH649ONiiBiMlaw5fKVqssHXHr5SRYdJQ8bKbe+QBxJr5/8ghoBL1lNwsrajv2aywJ/v6K8Zgn/SAPX31E7k6pABxwpvz1VGOZWQEScU7p5z9Op2JNR6UOA3EmrVH7683RXpNkSkpBbIjrQBNifXzLkJAHzs6FUdoSS/SMVn6oX2Dq6rHle1tLxjcJqxht8R8EMBns5nPGX/TQO6/se1tccLxenMo9d09KaE3hawBYpjYd/v9e5alwfsOWkAmJ24NnXqNG8uRaJQXSPUDQLMHLHHoAoCtyxl45nX53aWlOcVyWsDoniytPtR0iMo/w7l5meUVr5jdlf+CtFv6Hqttrdcc5JxrCUG2GMIvVfFll6XYu81wIzsyDqUm4vrbm7eze11s3vVA/ZkvClLRgIv7ZIdGVhlCeOEviJQFiKVjtqyGev0KorvAD9+ueGp02P5zj9F+PJVVhzSogAAABpmY1RMAAAASQAAAA0AAAAJAAAAGAAAAAUABABkAAAnmz+BAAAAvWZkQVQAAABKaN5jOLPhovn///8ZGUgBp9dd+n963cV9t7fdZidRExCvvRxLtKZTUE1n1l4uRpc7tuqC9Jl1lyecWXdpyal1l4Pg3ji67vL/42svfTm99pISsgaQc4GG3YG7BIiBFhw/u/6SMcOBdZfnHVxz1RDdluPrLzsga0DC33E6+9CGq1rHgIqOA/FJiC1wjXj9e2j95UmHgM4/AsRgbwA1nCCkCQT2rr/stn/95csH1l/+DzLgMBADAOTpoMvneFgUAAAAGmZjVEwAAABLAAAADQAAAAwAAAAeAAAACAAEAGQBAGnzyCEAAAB4ZmRBVAAAAExo3u3OoQ3CUACE4f+uzENQtaQz4NiDKVAsQepKXRMGAE1SdgHxDlH/cCh+fV9y8O/H6dvgennsm+ggwCXH7W59rqJpmNuQm8EiGIqcblVDb6Uj2IAQBqvoVEWvktkyJghYMJvqvSTqx+e9gVaAs8APAjUhlh67PNsAAAAaZmNUTAAAAE0AAAATAAAAHAAAABsAAAARAAQAZAEAxHV91wAAAgZmZEFUAAAATmje7ZQ9aJNRFIaf935plUgt2bVoKREsouLP5KI4tKbiH1bQwa0FR0dxCOIiOrjo6CgqOLSVOhQJKA5CcYhIK1okpeomiNGafF/ucciPSe3fl7kHLme55+U57zn3wkZsxLKhdorMTPfHZkfkdFRmM879uj168uDvRDtid8dnriPdcGYIcD65HzjdFtmtsdkPgrQDhOHASqXOVFtkoaNLHqpiwoG0KdwSmyyb+7yZn+UiEDTIDAtLla2xyRaL5V0BBKKJTCxkh/uLscVC7/Z41YynnnkPEFssCmyv99REVM3GO2qk646R6emO0DQcSoSicSKUj00Wfese9tDTNEUEPkoEr2KRZbPmKtK1EBFC8xm/l+ktxCKbPfTpkky7JXCmuvHguRPrbZ6d/LhN3uUFqdrG18VyD4f6jtXvrUl2fGquu1ziqSC1xCsCVbLNd1cVyzwrpMrlyvNQHJa17BVIjycy6ZfrEjsyMddTxE8K+h0gtezVggUdV5bW/Cd2/okF88nCaCS76SH1r62GV4sOLr4Y2P59xc/xwMTXZBiULjt01UGfrMXoel4EO/U60zu17E+bnpy/gNmAk51z0LWkuNaWIfgRmM68GdqRW8maRBl75NQ6pWajBTjpS0L+xPTgzvxqA3P1dxbVNrqaRYQIkVXgwZ9K5763g735tdboL3R+tcS6Adb4AAAAGmZjVEwAAABPAAAAKAAAACkAAAADAAAABwAEAGQBAFnJ6ywAAAUEZmRBVAAAAFBo3s2YW2xUVRiF1/rPmdISSJ0IPFSug1EotIRbig8kNlGRUmILMgZMVKKBKBCjkfiCySSaGKPBeEkML6KihgypTa29IEo1jREJiLYpJC0FWgaMYqiGXpieOef3YWbOXCvl0nZWcjInM3Nyvqz97/3vvYibUEewI6/P1M2A7hLocgFAADLSA8qnVm4sOYDbkDmaPwWDQcPrWbjtD9h7BCwiAFEiAajIBktgBm5TNwSsq2tfYTjYZ4HLiCiUQEEiAZUGG/0OAwKtHVPAQ3UdmyKKzxxofrJDArr3hEKisP0C9BK8QsU5U+WDsscXnbtdQI70wxd1HTtF8R4BkTiMZgzncQEPiKD52Knic4EAHdxhZQXcX3f6RSreFYBZakwJ1JiKt6urFx3HGCsD8KOvzzxjOPoxAbrOxT/J3w0bz2/ZsPBnjJNSAN+v7ZovEjlFYKpbbxoteirqbHNwy/b1KwYxjnInSSCgMiydnwswNWVCkBDFJ3dbC57zV9PGOMtdtjxLO/0R6CoLROICLOLLP39b8KzfP/5w7hAHAipc1tku0OLoTHUd7JL88NLda5YMYIJkAkB4aVeVARQLmLQAK2jrttcmEM4FjBCvOOkzFjz6evWCHzDBMl9qOFNi2XhAkNauHL6JHJAZdjyrSAep3YKn9lbd911OAFrQ0sQmACAVQq1Hjsi0wMWMtbJY7UEctOUMYIRYBE1yEArTMNpzBnAYmB5fWqI1yOv9A77uXBripH2egsTVQxPUNUYATF7/CP7PHnEiJBapbt+NXjMebDmfnzOAw0DIImCR0Qs0pvTr/TkDGAE7ktyDRSBMlOSQg2zP2GIJluRODarTluIgCEvpX37ihCcnAJVotUgnWn8u6GzPX9P8406jym0NnWU7GjrLoEp3w7q48UItgKq0Q9Lpk8fnlGAMjpLZtKuxa9KAjSYC5TGGlkkG1gqiw/pO2lIDCyhesrL3yfEy76otWy2wPGkulA9G4HcXZV9Tz1FRlz4eYfSZMEvbKmaGxhJuQ2PXTNNhmwBeJm37DMVu99BkOQxkTBbQG1a7xneku3Cs4DYd6S60HamxQG/aYQ1hU79PaWtFzb0HRfEEoRBNzmL0l2GHa3sr5/TdSbh13/R4HdhNhJZlhATAwa8q529Oifb6wReGgZAFJjoLAQssE0Grr7579p2Ce6i+e/YQnFaLKIt1MCTNg5Bh5u3IGn14m3tXi+KwAAUJB9267BNwT8+1WftwizueTUE1Lk3u2S7UNwh43bgu8Z4hUaw5XOlrHTE8Kjzc8zAdqSO0IN362P1ZUey1bfPTy+uLRhWFLK+/PBlG+Gk4fFmo96YNZ7yUhgA89uM635Ebxm9TmkPlVK0lUOjmgBl1otcErBFFszhOmz1oXAj5Zw0BwMzgxYKCyfZcU7SUKo+SulGSMx8A1JTU7F9DWf1T5dyWUeWDAJDXdLHUEDSKg3tSHdRsrsZd6I8lrFOylMgIz+AS6FT8utbXNuoA01X95Wl5HvstAlsFYPLszpZPpzkcS8iyDicYzRr3F9h5r55cX/T3TSWsGWoMrTKFAYHziJsd3gA2q+vR7EcF+JZwAmcr5h27pQh4RDVcLBHhTiH8AtyV9uLsDsa/I/4RZZAOPgytmzWqk+Otnz9azufjulkh5GoBSgAsNKDTBfDEYC0CVwQ4Y1DbqWydmh9pvFA+7/rNvOY/L9Lne0Dh1moAAAAaZmNUTAAAAFEAAAAiAAAAKQAAAAIAAAAHAAQAZAEACVOYiAAABG5mZEFUAAAAUmjexZhdTFxFFMf/58xdCtiKKO0DSqtoVBahUkqkMTzw4AdtSYrVNdZE22hqNBgToyYaHvZNjUbjx0t9INYa06yhZEUoVdPW8GBsGlE2iIFCC2yIESOmLCwwe+/x4S67e7fAbgl7Pclks7tzZ35z7pnzPzOE67TBwGDeVSP2FINeZqA24wNCz9QdrDqRqZuRLUAgEFC3eCqOTsNsY+FSBsAQ2J8ArfIcAduyGT8rkO5gaDdbOBYD7bIAMNmTs1ACJBUq6Q3MCaRzQ0BOnRp8Qot8wUC+PVHK5JScPA4VYciEAqYJGCOxPql7/P6xbEBorT9PBgdbSfARA8ziXHVKu8CwThisen/s9475/WRhHbYqyPHg76+Q4EOG0DWTC4RFOhTRe80tlRewAbYiyGedQ4eJpJ2BNAgBE35TJr/oe6ziJ2ygXQPycefIncyxfga22KtP2RmC4JIxf+iF5t3z2GBzBKvfL6x5+MsEBAAmikNYn9+svc8faSETOTDHbvPUDPs0pF6DYDdAA1gifPXnr97nfL7cQDhejd8vTLuGQwzx2jsk0UaQv1jz+iM755BDS7yaxZqRAwrwMiiesAQsgLLk6Js5hnCAxAivWY4dQmDC2baWe8/DBTMAoLV7qEqb2OPImhAYFr0Nl8wAAMvy1GuSZOYUgEH97xy4+wdXQTSkmlJ1hASKpAsumgEAS6D7nDpCiFkYcB1EEyqTkm4DKaVCroIc+na8WENvTdQYILBgYXaufNRVkIhJBawoXdj++TqHWXRFkCiAvPT8kaFOyYnW6Btnr2oiSdUWDWw7fO5yvqsg5xsrIxoIawI0LYsdqb8jco+rIHYeocGEN8hui4Sq/wMklJT++Cti7HQfhGkgJT6gQYgJ+WovXvS4ChK1zD5NZNkxkgDa7vmrxOcqyNC+8nENfGPHCCWbyFvwC7sGAgAm6P20LYwYkbembuJpN0Aciav89PhZFjSmHSFnGEb1wN7bwq54BAC0Rf7UgI23Yi1mR+33o0WueQQASnsnTrLIk8kCKaFBP2+yqCm0f8dMzj0CABHQS0ugsMZy0MbjBfRAlNFX3jW63RWPAEBx70SDEpxRQIFDlW0PzSiitkuzZcewToVu6hnZFBPlI0iJR4xg9/4dY6uqbNGZ8YeURUF2wCShSHBJgT5YMI3jU82lWR1Ba7umCgvV4rNk0atM1l3x8eZA3LCm3G/uDTcqkU4Gila+khCwYFYJOoioly1rIDqvroR9ZVEA2BOYLFgsNG8HSzUJP8qwDjqOs4kxqD1j3XHD6clqAnoYuDX9ZmgFqOXvkfhvm1fsK5J+zdGeVQG0pWuqxPSY75LgiPOqQjIBYc2+NlDUIHrwuioxT0+4XrH4GXiYJRPQalCJvsKg7wwy3/ilqXxgXSVhXvdkFTFameBjwU0ZV+4E+peBgBL+9I99ZaGs7tAy2rnL+XkLxl4iaWBQlRJUMLCVAU8cSDMwzaAhRRIioT4jP9ZzpfGOhfSh/gMVwbrySbrr8QAAABpmY1RMAAAAUwAAABkAAAApAAAAAgAAAAcABABkAABi76wSAAAD82ZkQVQAAABUaN6tl19oW3UUx7/nd25qx+i2yLqHyWqpaFlqMtturnvYQxEVVwKraEAHMlEGSsUHFYbsIS8iQ1F0T/NB1MnASC2x3daqbMMJwzGpa4kdq22Xtfig4sD+W/O7+R0ffkmam9k2ae6B30O4uefD+Z7f+XMJFVoqkapZdNznBPQagPY1XxB6wSnXeSKR4B2B5iPzkj1GoO3lvkfANirnj98lR3c7BidZ0MYAGAK2DtaIAvMAImtGMvBN6llX5AsBag0JDAAjBFMEK7I5Am4J8BeASYg5seeZRyZXhSSSqZ6MwUcsUAaAgXVeArvCJKccxYNtw6FJipMp9bMi5FTyt9ddkQ+FQAYEIznHFiZZMb1M/N5j3S1XysjL3fZJ39hhh+RTBigvCQNgARzINSXmlejTkcsVJN9rH/eNP+Aod5hF6grO8/oLkhudxeej0d0LlVx7j1zxuChXXf9SgDpDOf2XZfosoEMvR7spW2ltqeIfgdYbMQ3q0CBowB4iZBSdvvlr6KVYrHKAR654XBS13RhlkZBHImBc12Za33py1zzWaQW5llrHDzIQsjIJjOSurJEj1QA8EE14s+iKwhBgIOePdu+8iCrNAYCeM2NhbbAvX8kGNtkw6l34YA4AuCbQYSC2kqVQ2cPvHHzoB98gS5CIU5Ap3zKkHz6ZjQT0sEDg6U/AiK8QTWix/Wk5Hy7zqG+QroF0UMOttzkpdNY7C/NNE75BOEsbNN/Vxv/5ep3V/b+QRQAOqCCThQnBR1N60+y/miCefgXadvjCVK1vkIudLXMamNFkm2EOxn/PSbNvkNwVThUiycFcQthXiAaN5mQqSOYq7PIVsqRopCgf9ghi7VevBnyDZEz2kiYyNicFWMPGP7fGfIOMdTWlNfBtfhLmYRmRtxEX5QsEADKg90vHrgZCe/dMHaoW4im6pnPp8yzodIrXIOB2ADry84EHZ6qOBAC0obhbnHwbVXBJanrbv5/Y7Atkuqvhx4yir7w3DdAkj2rNQ+GBdLBqiNWPXtVEtgN4o9oLJZfa+ycaqspJ3uoHb+1nwRADG3KbY/EmedshHGuevf9kuZ16xW5771D6ccdQ0oIAFkHJPvY7Qz4IZO/5/Jfo9oV1QQBgy+BMpyOmj4HNRftwKWyWhXqZzGCNoRFa4JuXYzsWy4YAQPDcdIQgZxm4r2T5LoUtH4M5Jplk0PGfuhpPlzWc6vr/2MqB7HEWedF+TuQ/JWRlkH1mlJF9FU3ATWdnOpgkzpAnlmGrR+UYObquMRs8Mx0mhR4mibFgy2owJRStapY3Xpiqnb3jHFAk+1ko7EB2skg9AwEGNJOcuP5U4xv/AaU65cQdibPpAAAAGmZjVEwAAABVAAAAGQAAACcAAAACAAAACQAEAGQAADJpvUAAAAOJZmRBVAAAAFZo3t2WS2hcZRiGn+//T0wKtiWg4iKNEK9M2tTEFuNCMbiwTRxsREfQjaAUFMGNLhQXs/KCoqgg6EK8IVKsYazSeKEpZCENhWhCFBKTknQ2XrBQc5tz+T8X58zNVJPMnJUvHGZz5n/O+36Xc4Qt6JvC9AHreMdCn1WwKBYwm/1RWQF6vM3uK3w+80Cg+qGDNofiBJwKjipMqrcvCywp/A4soO6tg/ffvPCfkGOFmSdDxxuqGAc44sOdaPwbwyY80Y88Y0f7JjMLkhf3z3Pk3wAfFH56yqq+bkEsUBuTBbXKcU/klbuGuyc2S+OSkHdHfn7EiL5XAVQPxyo/tmj0ePa+nu/ZojZA3hyZu9aYcNLCTqs1hwOeauFyb+2hbPbAKttQXU3yeTXrZvZjD3ZawIokT69Y9P3WIPNYdlgitqm6LjS9s7kQ7Q8Q4gsCwDfyyfkfMo/mctsH1MWVz6txfbPTFjIWTQoNHsxFbaXeZ+7ev0KDqsS12jt3xEAmzl+wEscUOT36bBOAOogvPG3Lc0AyByKnnh++6TRNygM4+tX8vsC52xyK0/LQKTh5kRTkAYRO+7USU9K2KpMvH7nhu/Qg0BPHVF0datwJUpKX1GOvRZKo4nqok6l0IUi3ReOOQrAKvjXTqUGGvlxsDwivdLWdJayHK13zqUH8SHYYKzVLUPDQPz9rcLovCVkFWiUpeKUmIqQo07Lrr4sBogEQCAQiBMhVd46da0sNcnqge9mHoo8QX+ALtnVZb0wNAhAYmSlv3PL2LQn7UoX4julAJIkqBkXG7E/byZQPSVRxZCXV3C1nz7ak6CQaDxBXiSx21Wl+uyKXGuTcUNdigH6x4Y0Iz5FXkwokWS2v+pJEVu20zN6DSw83C6kbuqtPLp6yyEDt69fChVZsz9RgR7FpJwCRk3yljSudRvuaRse7vp3fnYoTgPbR4qdG3YPV762yKz0TOjm8dM81F5pyAhChT/hIsW4442671RjGu07MdzbtBKBtdOl2T+VrCzvqPlFjZxc9x0tG/Nd+Gby+1JATgPVDneOBcff6hrW6nRZ33q6SkRd8uewkqtKwk8p7YLQ4YNERC7ur3VbjzEl/cWjPmYaclBUe6hgrKXf4SDGQ2gVaHdiG46rT4T1TYWB6fZG3fZGwPLAlZOzXwY6JpuPaoNHz1xmRrFX+CNzaMbZY+P+P/gZjNJnGDOT1EQAAABpmY1RMAAAAVwAAABMAAAAmAAAAAgAAAAgABABkAQCkfZTAAAACtmZkQVQAAABYaN7tlF1oT3EYxz/P7zn/mYtdSEYWeSkzMwu74I4bJMqUv+JGWZMoJa642J28lCgXSigvabI1TJJQklqrsTVqa5mQi2kXspdz5n8eF+f/Nm32P3O7b/3q/OqcT8/zPd/nEQpUY2OjliXK69XktMLCid6RQkDPWrpqXMhVhXVqoIBi6F/v6VSgpqbuPaHwKEQWhQihEB2EMF2L5J1Jdael+6galxRcVJHhMb4yhTbFbjmnTyeFXWv5cEyNiwqS9yFpqKnxwBM5v622su2fnl1++PGAGtcVRC0PhKHCe025w8ndFW+n/AHnmnuXO5fqUKwkBwE1Q42WMW9436GdNcMTFeHlXxoazI1oz23PKFHkL2/kZunYyrpkraQms8blX0bW9iQD2OCL4IvgAz6CL3L3x7uVB5PJyUHjotHQYG5k4eA9Q+YZYICJYOJ6i2aN7jhVtyCYKkbZNr/X9O7yTFYphlquxYSk6k9urR4qJNxZWGByIhV5g0raK3Mvzu4sf1XoyHkA+1v7qgKzjZlgpg3HOTtDDHkAw6FsUAEViyoz8LCOGztWPI8NCyRc4xCycRDjNzwipjwA37nVaulgZn2TzunBTCqjUZHs/AnWFRtW9fjzHJ9w3rjEC6Nzh5b1xYZ5RTI7+C25+YuiMXh/irRPCBtOz1RkfBYqTENuMFH800fMJzOL4IuUbnr5qTg2bGBz6a9A5GsABEj6oAO+lceGEVXTnd0Ukt4UplXTggVIV7ZFMutHqqdbWWeuRSEAAiO5vr09ERs2GuprXyT0hVybIov7B+bvjQPLReDpl2aQXfmr2pn0DxWPVbB56WjBlUVP7gJAKu+vjoktKfYTe2K1CcCWsjdAa+aag1IaHxYRjgP5K3oo9FLN8T3L6Mm3tWh4JIK7K2wv62BGM/o//QFuzQanlLTaOQAAABpmY1RMAAAAWQAAABQAAAAWAAAAAgAAAAgABABkAQDPl48GAAAB/2ZkQVQAAABaaN6dlL9rU2EUhp/zna/SpYOgi0UcioGmVlHuUP8ClxZUMIOToBQFQRAFB4dsDgri2EXEFikRkagVBREHQSnYUIMorYmIOAgVUdqbSJsch+ZHbzBtcl84cO/H5eE953vPFTpUJpPR/p7BcWd2VWGXtPlOOoHNZPOBqzKhcEgBBdRAMRRw3QCnsx9OOOOuGr11QLOsFb68KXAi+/G8N7ul4CIAQK3xPKvIJI5nb3PJYlvgjeynCx67qSAtABTMYw+8cT11bGh2yxmmHy2cUqq31WqwDe48zLsK584eH3zT0aVcfrg4IGo5xfoiMAOFbNktn0yPBWG7znzEWdrcD/95SqFPkTpkvYQ7C+XEmfspqWw29403TiEopEJkJEQIEUIRQoFQ5F7PXOL0VrBIy+m0ufmgmPdYsiVri2vbwoOTRw6sdJLZRsuvg+JRjyQjORPwZuPTHcIiwJJzl9ajIU13Zi+fju19RRfyAMMz34ZDKodb3Sl2jS7lAUKpjnikBmlsQu7d6MCLWMASsl/FUJMG0Is9JoZqDmVfs81akKvyPjawJAy5liA7NB8P+OTr9r/ITgDXnGG5vNJfiAf01lt/qdZqVeQnHWzF/1dvx9IS2J/IqfGFmHIEwSrmLgJrtbPfOLkSF9j8fT3/vpuqJahU5hjd8ysu8B/6h7Fbz1BUNQAAABpmY1RMAAAAWwAAABUAAAANAAAABQAAAAgABABkAQBGTvCFAAABdmZkQVQAAABcaN6tkcsrrVEYh593rfdzGVBmcimlk8gIfwIx2RNlIspIKWXCzMDEhHLSGZ2JtJXBV9KXS+r8Aaf2RAaKhHIZyOiULdvlew32pYNNmzy1Wq3eelq/3yt8QBiGviZoHQ2waW9SpxgeED7m3XkyOujy8dNvFTo8oJYVekABj6GWf2dnABjpotK56GBAsaSHCs2LctKCEPAGit14OAuQa2fxSZl3v95IJ6PDcSeyqJgrSCwnyf9KLBWYrATEOxe7bSczMxK/G39o43jCYz8VkyIxzRtr6mx+NtGSKqnTnq3TEW+25DF58ats9D2BsWTix19KQADat8+alXhXzape96YQlccVgxuJultKxGMm7vjfZkak+Q4hI8KdZO8Mbrk+3TS03l99zycQ3bnsFuyPYrltFnpcvUo1DvNqCaWgj8SdIDwg/zUsRzgd/YoQwCGyXyTAFL21ab6Io7dhE1gAHnJngb76iG8hPK8kPK/8DtUztGqCyuea2MoAAAAaZmNUTAAAAF0AAAAPAAAABgAAAAwAAAAIAAQAZAAAeXELuwAAAMFmZEFUAAAAXmjejY4xTgJRGIS/yXv7HlcQsDK21FyAxNBQk3AMD2BHY6VH8AIGjJBY2e4BoCBsAR3barbZ3d9iSTRbqF8zyZ+Z+UcAD4vtNBr3iVk3YAQg2FkxgjXq+EamW41W+3FS8RJAP42xFWwVfrrSDfybwsx56RcjoeYjyA4JlkeUeZWPq8l15kGnCigQhQB03kUKeoJ6TdrPuFNNC7E89kj0Dlw1J3sG5txcpvxB8+Z1F6EzBJ8zvtjwT74AljFC6d2II+4AAAASdEVYdFNvZnR3YXJlAGV6Z2lmLmNvbaDDs1gAAAAxdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBBbmltYXRlZCBQTkcgbWFrZXKphWVeAAAAAElFTkSuQmCC",z2=()=>jsx(D2,{children:jsx("img",{src:I2})}),D2=createStyled$1("div",{target:"e1ho5dd50"})({name:"hmtpto",styles:"height:24px;width:24px;overflow:hidden;img{height:100%;}"}),at=({device:o,id:s,cameraName:_,height:j,width:$})=>{const[et,tt]=reactExports.useState(!0),nt=async Ut=>{await Authentication.waitTilAuthenticated();const ct=await it();o.addRealtimeListener((Ft,ut)=>{ut.header.stream.streamName===_&&Ut.drawVideoFrame(ut.payload.h264VideoFrame)}),o.startListeningToRealtimeVideo(ct),tt(!1)},rt=async()=>{const Ut=await Fleet.getCurrentDevice(),ct=await it();await Ut.stopListeningToRealtimeVideo(ct)},it=reactExports.useCallback(async()=>{const Ut=(await o.getRealtimeVideoStreams()).filter(ct=>ct.name===_);return Ut.length===0&&console.error("Error: Camera name is incorrect or doesn't exist"),Ut[0]},[_]),st=reactExports.useCallback(async()=>{const Ut=document.querySelector(`#${s}`);Ut.drawer.start(),await nt(Ut)},[]);return reactExports.useLayoutEffect(()=>{if(o)return st().then(Ut=>console.warn("video mounted")),()=>{rt()}},[o]),jsxs(T2,{height:j,width:$,children:[et&&jsx(z2,{}),jsx("formant-realtime-player",{id:s,style:{display:et?"none":"block",backgroundColor:"transparent",height:"100%",width:"100%"}})]})},T2=createStyled$1("div",{target:"ee073z40"})("display:flex;align-items:center;justify-content:center;width:",o=>o.width?o.width:"100%",";height:",o=>o.height?o.height:"100%",";");Chart.register(...registerables);const App$1="";function timeout(o){return new Promise(s=>setTimeout(s,o))}function App(){const o=Oe(),{camera:s,isTeleopModule:_}=o.configuration,j=s0(),[$,et]=reactExports.useState(!0),tt=reactExports.useCallback(async()=>{if(!j)return;await j.startRealtimeConnection({sessionType:SessionTypeConstants.OBSERVE,maxConnectRetries:10,deadlineMs:1e4});let nt=!1;for(;!nt;)nt=await j.isInRealtimeSession(),console.warn("Waiting for the main connection to establish."),await timeout(2e3);console.warn("Main connection completed"),et(!1)},[j]);return reactExports.useEffect(()=>{if(!(!j||!s)){if(!_){j.startRealtimeConnection({sessionType:SessionTypeConstants.OBSERVE,maxConnectRetries:50,deadlineMs:2e4}).then(()=>et(!1));return}return tt(),()=>{j.stopRealtimeConnection()}}},[j,s]),jsx$1("div",{className:"App",children:$||!j?jsx$1(z2,{}):jsx$1(at,{cameraName:s,device:j,id:"rtc-video"})})}const index="";client.createRoot(document.getElementById("root")).render(jsx$1(Ke,{parseConfiguration:!0,children:jsx$1(App,{})})); diff --git a/examples/realtime-video/dist/index.html b/examples/realtime-video/dist/index.html index 2884c9266..975925d82 100644 --- a/examples/realtime-video/dist/index.html +++ b/examples/realtime-video/dist/index.html @@ -5,7 +5,7 @@ Vite + React + TS - + diff --git a/examples/realtime-video/package-lock.json b/examples/realtime-video/package-lock.json index e29638bc3..60b8c046e 100644 --- a/examples/realtime-video/package-lock.json +++ b/examples/realtime-video/package-lock.json @@ -1,25 +1,27 @@ { "name": "realtime-video", "version": "0.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "realtime-video", "version": "0.0.0", "dependencies": { - "@formant/data-sdk": "^1.51.0", - "@formant/realtime-sdk": "^1.4.0", + "@formant/data-sdk": "^1.80.8", "@formant/ui-sdk": "^0.0.60", + "process": "^0.11.10", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "setimmediate": "^1.0.5" }, "devDependencies": { "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "@vitejs/plugin-react": "^3.0.0", "typescript": "^4.9.3", - "vite": "^4.0.0" + "vite": "^4.0.0", + "vite-plugin-node-polyfills": "^0.24.0" } }, "node_modules/@ampproject/remapping": { @@ -132,6 +134,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "devOptional": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-environment-visitor": { "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", @@ -400,17 +411,6 @@ "stylis": "4.1.3" } }, - "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@emotion/cache": { "version": "11.10.5", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", @@ -546,169 +546,489 @@ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" }, - "node_modules/@esbuild/linux-x64": { + "node_modules/@esbuild/android-arm": { "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", - "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.15.tgz", + "integrity": "sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==", "cpu": [ - "x64" + "arm" ], "dev": true, "optional": true, "os": [ - "linux" + "android" ], "engines": { "node": ">=12" } }, - "node_modules/@formant/data-sdk": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/@formant/data-sdk/-/data-sdk-1.51.0.tgz", - "integrity": "sha512-8/7IQb6VaiLVx+31e8y3iRNNC4f9LLjhJwAK5NNJNceagz6oezPkfvsKa362scyf2oXLkgsOMC2A/20UMD6gPw==", - "dependencies": { - "@formant/ui-sdk-realtime-player-core": "^0.0.2", - "@formant/ui-sdk-realtime-player-core-worker": "^0.0.4", - "@types/validator": "^13.11.8", - "base-64": "^1.0.0", - "base64-js": "^1.5.1", - "date-fns": "^2.30.0", - "eventemitter3": "^5.0.1", - "google-protobuf": "^3.21.2", - "lzfjs": "^1.0.1", - "pako": "^2.1.0", - "validator": "^13.11.0" - }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz", + "integrity": "sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^18.12.0 || ^16.13.0" + "node": ">=12" } }, - "node_modules/@formant/realtime-sdk": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@formant/realtime-sdk/-/realtime-sdk-1.4.0.tgz", - "integrity": "sha512-nxUxm8PlYDsjI6X0KAO/JvYIGE/UlL1O0k+vYlOwQjAMvX9xGXAz6QhO2GJKDO3Z8HurhTaZnmExxUU0q0Q9kg==", - "dependencies": { - "@types/generic-pool": "^3.8.1", - "@types/google-protobuf": "~3.7.0", - "env-var": "^7.4.0", - "generic-pool": "^3.9.0" - }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.15.tgz", + "integrity": "sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^16.13.0 || ^18.12.0" + "node": ">=12" } }, - "node_modules/@formant/ui-sdk": { - "version": "0.0.60", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz", - "integrity": "sha512-emHwiZXwPONTEgtEgE+EKifiIlcCLNGvnpcydPR/o8EQu4SXrGS96qUv8kNqz4/bvKFhqrQuH4RZoJsoKqSa7g==", - "dependencies": { - "@emotion/css": "^11.10.6", - "@emotion/react": "^11.9.0", - "@emotion/styled": "^11.8.1", - "@formant/ui-sdk-realtime-player": "^0.0.9", - "@mui/material": "^5.6.1", - "@mui/utils": "^5.6.1", - "@types/lodash": "^4.14.182", - "chart.js": "^4.2.0", - "classnames": "^2.3.1", - "grpc-web": "1.2.1", - "lodash": "^4.17.21", - "react-chartjs-2": "^5.2.0", - "react-device-detect": "^2.2.2" - }, - "peerDependencies": { - "@formant/data-sdk": "^1.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz", + "integrity": "sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@formant/ui-sdk-realtime-player": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz", - "integrity": "sha512-umNyNLWzv5TMw5Q+cLFHMlaTKi9HgU5R9LupzwqgroVlghgNFV2UxIZSDc5G7ZpMVsnwaNxPeLBdm90oJiyFjg==", - "dependencies": { - "@formant/ui-sdk-realtime-player-core": "^0.0.2", - "@formant/ui-sdk-realtime-player-core-worker": "^0.0.4" + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz", + "integrity": "sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@formant/ui-sdk-realtime-player-core": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz", - "integrity": "sha512-RC8z90dMvtXDAnxnSLYH2d4m27SgPI7fJasMu4X98QEwo4eOg4yRXT5TNbnpdjI7bqARbaSlosWtc7ba8d42Ng==" + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz", + "integrity": "sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@formant/ui-sdk-realtime-player-core-worker": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz", - "integrity": "sha512-yQ0VJNdrFkTHRA9mBkmfBzrgSrdOTTukETtC1Jit2A5yj2B765IngA20Lf8ny6BePTsozHFk89KM5cU6MNuMmg==", - "dependencies": { - "@types/offscreencanvas": "^2019.6.4", - "h264decoder": "^1.0.0" + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz", + "integrity": "sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@formant/ui-sdk/node_modules/grpc-web": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz", - "integrity": "sha512-ibBaJPzfMVuLPgaST9w0kZl60s+SnkPBQp6QKdpEr85tpc1gXW2QDqSne9xiyiym0logDfdUSm4aX5h9YBA2mw==" + "node_modules/@esbuild/linux-arm": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz", + "integrity": "sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "devOptional": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz", + "integrity": "sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "devOptional": true, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz", + "integrity": "sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "devOptional": true, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz", + "integrity": "sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=12" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "devOptional": true + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz", + "integrity": "sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "devOptional": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz", + "integrity": "sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz", + "integrity": "sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/@mui/base": { - "version": "5.0.0-alpha.115", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.115.tgz", - "integrity": "sha512-OGQ84whT/yNYd6xKCGGS6MxqEfjVjk5esXM7HP6bB2Rim7QICUapxZt4nm8q39fpT08rNDkv3xPVqDDwRdRg1g==", - "dependencies": { - "@babel/runtime": "^7.20.7", - "@emotion/is-prop-valid": "^1.2.0", + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz", + "integrity": "sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", + "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz", + "integrity": "sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz", + "integrity": "sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz", + "integrity": "sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz", + "integrity": "sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz", + "integrity": "sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz", + "integrity": "sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@formant/data-sdk": { + "version": "1.80.8", + "resolved": "https://registry.npmjs.org/@formant/data-sdk/-/data-sdk-1.80.8.tgz", + "integrity": "sha512-Z27vyShcFIQRb76WLYGHFRc3z+IdRcdy/QMrSVlR0rF9RFknZIKpEZ+QWeidpPon20lIu52F1hYPSQW+iM9uWA==", + "dependencies": { + "@formant/ui-sdk-realtime-player-core": "^0.0.2", + "@formant/ui-sdk-realtime-player-core-worker": "^0.0.4", + "@types/validator": "^13.11.8", + "base-64": "^1.0.0", + "base64-js": "^1.5.1", + "date-fns": "^2.30.0", + "eventemitter3": "^5.0.1", + "fast-json-stable-stringify": "=2.0.0", + "google-protobuf": "^3.21.2", + "lru-cache": "^7.14.0", + "lzfjs": "^1.0.1", + "pako": "^2.1.0", + "validator": "^13.11.0" + }, + "engines": { + "node": "^18.12.0 || ^16.13.0 || 20.x" + } + }, + "node_modules/@formant/ui-sdk": { + "version": "0.0.60", + "resolved": "https://registry.npmjs.org/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz", + "integrity": "sha512-emHwiZXwPONTEgtEgE+EKifiIlcCLNGvnpcydPR/o8EQu4SXrGS96qUv8kNqz4/bvKFhqrQuH4RZoJsoKqSa7g==", + "dependencies": { + "@emotion/css": "^11.10.6", + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", + "@formant/ui-sdk-realtime-player": "^0.0.9", + "@mui/material": "^5.6.1", + "@mui/utils": "^5.6.1", + "@types/lodash": "^4.14.182", + "chart.js": "^4.2.0", + "classnames": "^2.3.1", + "grpc-web": "1.2.1", + "lodash": "^4.17.21", + "react-chartjs-2": "^5.2.0", + "react-device-detect": "^2.2.2" + }, + "peerDependencies": { + "@formant/data-sdk": "^1.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@formant/ui-sdk-realtime-player": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz", + "integrity": "sha512-umNyNLWzv5TMw5Q+cLFHMlaTKi9HgU5R9LupzwqgroVlghgNFV2UxIZSDc5G7ZpMVsnwaNxPeLBdm90oJiyFjg==", + "dependencies": { + "@formant/ui-sdk-realtime-player-core": "^0.0.2", + "@formant/ui-sdk-realtime-player-core-worker": "^0.0.4" + } + }, + "node_modules/@formant/ui-sdk-realtime-player-core": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz", + "integrity": "sha512-RC8z90dMvtXDAnxnSLYH2d4m27SgPI7fJasMu4X98QEwo4eOg4yRXT5TNbnpdjI7bqARbaSlosWtc7ba8d42Ng==" + }, + "node_modules/@formant/ui-sdk-realtime-player-core-worker": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz", + "integrity": "sha512-yQ0VJNdrFkTHRA9mBkmfBzrgSrdOTTukETtC1Jit2A5yj2B765IngA20Lf8ny6BePTsozHFk89KM5cU6MNuMmg==", + "dependencies": { + "@types/offscreencanvas": "^2019.6.4", + "h264decoder": "^1.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "devOptional": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "devOptional": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "devOptional": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "devOptional": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "devOptional": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" + }, + "node_modules/@mui/base": { + "version": "5.0.0-alpha.115", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.115.tgz", + "integrity": "sha512-OGQ84whT/yNYd6xKCGGS6MxqEfjVjk5esXM7HP6bB2Rim7QICUapxZt4nm8q39fpT08rNDkv3xPVqDDwRdRg1g==", + "deprecated": "This package has been replaced by @base-ui-components/react", + "dependencies": { + "@babel/runtime": "^7.20.7", + "@emotion/is-prop-valid": "^1.2.0", "@mui/types": "^7.2.3", "@mui/utils": "^5.11.2", "@popperjs/core": "^2.11.6", @@ -927,19 +1247,70 @@ "url": "https://opencollective.com/popperjs" } }, - "node_modules/@types/generic-pool": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz", - "integrity": "sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ==", - "deprecated": "This is a stub types definition. generic-pool provides its own type definitions, so you do not need this installed.", + "node_modules/@rollup/plugin-inject": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-inject/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@rollup/plugin-inject/node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, "dependencies": { - "generic-pool": "*" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@types/google-protobuf": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.7.4.tgz", - "integrity": "sha512-6PjMFKl13cgB4kRdYtvyjKl8VVa0PXS2IdVxHhQ8GEKbxBkyJtSbaIeK1eZGjDKN7dvUh4vkOvU9FMwYNv4GQQ==" + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true }, "node_modules/@types/lodash": { "version": "4.14.191", @@ -1036,23 +1407,53 @@ "node": ">=4" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "dependencies": { @@ -1089,31 +1490,156 @@ } ] }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/bn.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "dev": true + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "fill-range": "^7.0.1" + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">=8" + "node": ">= 0.12" + } + }, + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" } }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, "node_modules/browserslist": { "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", @@ -1142,6 +1668,89 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1179,6 +1788,14 @@ "node": ">=4" } }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/chart.js": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.2.1.tgz", @@ -1190,33 +1807,17 @@ "pnpm": "^7.0.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/cipher-base": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true, - "peer": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 0.10" } }, "node_modules/classnames": { @@ -1245,11 +1846,29 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -1265,6 +1884,81 @@ "node": ">=10" } }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/crypto-browserify": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/csstype": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", @@ -1302,6 +1996,67 @@ } } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + }, "node_modules/dom-helpers": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", @@ -1311,20 +2066,59 @@ "csstype": "^3.0.2" } }, + "node_modules/domain-browser": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz", + "integrity": "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.284", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "devOptional": true }, - "node_modules/env-var": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/env-var/-/env-var-7.5.0.tgz", - "integrity": "sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA==", - "engines": { - "node": ">=10" + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1333,6 +2127,36 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.17.15", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", @@ -1380,48 +2204,107 @@ } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/eventemitter3": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ==" + }, "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/generic-pool": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", - "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 4" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { @@ -1433,18 +2316,41 @@ "node": ">=6.9.0" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "is-glob": "^4.0.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/globals": { @@ -1461,6 +2367,23 @@ "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==" }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/grpc-web": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz", + "integrity": "sha512-ibBaJPzfMVuLPgaST9w0kZl60s+SnkPBQp6QKdpEr85tpc1gXW2QDqSne9xiyiym0logDfdUSm4aX5h9YBA2mw==" + }, "node_modules/h264decoder": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/h264decoder/-/h264decoder-1.0.0.tgz", @@ -1485,6 +2408,91 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -1498,13 +2506,31 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/immutable": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, - "optional": true, - "peer": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/import-fresh": { "version": "3.3.0", @@ -1521,23 +2547,43 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-core-module": { @@ -1551,40 +2597,86 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "is-extglob": "^2.1.1" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isomorphic-timers-promises": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz", + "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">=0.12.0" + "node": ">=10" } }, "node_modules/js-tokens": { @@ -1626,6 +2718,21 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -1643,12 +2750,11 @@ } }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "devOptional": true, - "dependencies": { - "yallist": "^3.0.2" + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" } }, "node_modules/lzfjs": { @@ -1668,39 +2774,117 @@ "node": ">=12" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 0.4" } }, - "node_modules/node-releases": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "devOptional": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==", "devOptional": true }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/node-stdlib-browser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz", + "integrity": "sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==", "dev": true, - "optional": true, - "peer": true, + "dependencies": { + "assert": "^2.0.0", + "browser-resolve": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^5.7.1", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "create-require": "^1.1.1", + "crypto-browserify": "^3.12.1", + "domain-browser": "4.22.0", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "isomorphic-timers-promises": "^1.0.1", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "pkg-dir": "^5.0.0", + "process": "^0.11.10", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^3.6.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.1", + "url": "^0.11.4", + "util": "^0.12.4", + "vm-browserify": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/object-assign": { @@ -1711,6 +2895,99 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", @@ -1727,6 +3004,23 @@ "node": ">=6" } }, + "node_modules/parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "dev": true, + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -1744,6 +3038,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -1757,6 +3066,54 @@ "node": ">=8" } }, + "node_modules/pbkdf2": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", + "dev": true, + "dependencies": { + "create-hash": "~1.1.3", + "create-hmac": "^1.1.7", + "ripemd160": "=2.0.1", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.11", + "to-buffer": "^1.2.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pbkdf2/node_modules/create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" + } + }, + "node_modules/pbkdf2/node_modules/hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1" + } + }, + "node_modules/pbkdf2/node_modules/ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", + "dev": true, + "dependencies": { + "hash-base": "^2.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -1764,19 +3121,38 @@ "devOptional": true }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", @@ -1801,6 +3177,20 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -1816,6 +3206,75 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -1889,18 +3348,18 @@ "react-dom": ">=16.6.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "picomatch": "^2.2.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8.10.0" + "node": ">= 6" } }, "node_modules/regenerator-runtime": { @@ -1932,6 +3391,16 @@ "node": ">=4" } }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/rollup": { "version": "3.20.2", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", @@ -1948,23 +3417,41 @@ "fsevents": "~2.3.2" } }, - "node_modules/sass": { - "version": "1.57.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", - "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" }, "engines": { - "node": ">=12.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/scheduler": { @@ -1984,38 +3471,183 @@ "semver": "bin/semver.js" } }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" }, "engines": { - "node": ">=4" - } + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dev": true, + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", @@ -2028,6 +3660,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "dev": true, + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -2036,18 +3694,24 @@ "node": ">=4" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "is-number": "^7.0.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": ">=8.0" + "node": ">= 0.4" } }, "node_modules/typescript": { @@ -2107,6 +3771,38 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/validator": { "version": "13.12.0", "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", @@ -2164,6 +3860,58 @@ } } }, + "node_modules/vite-plugin-node-polyfills": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.24.0.tgz", + "integrity": "sha512-GA9QKLH+vIM8NPaGA+o2t8PDfFUl32J8rUp1zQfMKVJQiNkOX4unE51tR6ppl6iKw5yOrDAdSH7r/UIFLCVhLw==", + "dev": true, + "dependencies": { + "@rollup/plugin-inject": "^5.0.5", + "node-stdlib-browser": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/davidmyersdev" + }, + "peerDependencies": { + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -2177,1518 +3925,18 @@ "engines": { "node": ">= 6" } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "devOptional": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.14", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz", - "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==", - "devOptional": true - }, - "@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "devOptional": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } }, - "@babel/generator": { - "version": "7.20.14", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", - "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", - "devOptional": true, - "requires": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "devOptional": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "devOptional": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "devOptional": true - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "devOptional": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "devOptional": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } - }, - "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "devOptional": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "devOptional": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "devOptional": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "devOptional": true - }, - "@babel/helpers": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", - "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", - "devOptional": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.13", - "@babel/types": "^7.20.7" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", - "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", - "devOptional": true - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", - "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "devOptional": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", - "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", - "devOptional": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.13", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@emotion/babel-plugin": { - "version": "11.10.6", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", - "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.1.3" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - } - } - }, - "@emotion/cache": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", - "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", - "requires": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" - } - }, - "@emotion/css": { - "version": "11.10.6", - "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.10.6.tgz", - "integrity": "sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw==", - "requires": { - "@emotion/babel-plugin": "^11.10.6", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0" - } - }, - "@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", - "requires": { - "@emotion/memoize": "^0.8.0" - } - }, - "@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" - }, - "@emotion/react": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz", - "integrity": "sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.5", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", - "requires": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" - }, - "@emotion/styled": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz", - "integrity": "sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.5", - "@emotion/is-prop-valid": "^1.2.0", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0" - } - }, - "@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" - }, - "@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" - }, - "@esbuild/linux-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", - "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", - "dev": true, - "optional": true - }, - "@formant/data-sdk": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/@formant/data-sdk/-/data-sdk-1.51.0.tgz", - "integrity": "sha512-8/7IQb6VaiLVx+31e8y3iRNNC4f9LLjhJwAK5NNJNceagz6oezPkfvsKa362scyf2oXLkgsOMC2A/20UMD6gPw==", - "requires": { - "@formant/ui-sdk-realtime-player-core": "^0.0.2", - "@formant/ui-sdk-realtime-player-core-worker": "^0.0.4", - "@types/validator": "^13.11.8", - "base-64": "^1.0.0", - "base64-js": "^1.5.1", - "date-fns": "^2.30.0", - "eventemitter3": "^5.0.1", - "google-protobuf": "^3.21.2", - "lzfjs": "^1.0.1", - "pako": "^2.1.0", - "validator": "^13.11.0" - } - }, - "@formant/realtime-sdk": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@formant/realtime-sdk/-/realtime-sdk-1.4.0.tgz", - "integrity": "sha512-nxUxm8PlYDsjI6X0KAO/JvYIGE/UlL1O0k+vYlOwQjAMvX9xGXAz6QhO2GJKDO3Z8HurhTaZnmExxUU0q0Q9kg==", - "requires": { - "@types/generic-pool": "^3.8.1", - "@types/google-protobuf": "~3.7.0", - "env-var": "^7.4.0", - "generic-pool": "^3.9.0" - } - }, - "@formant/ui-sdk": { - "version": "0.0.60", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz", - "integrity": "sha512-emHwiZXwPONTEgtEgE+EKifiIlcCLNGvnpcydPR/o8EQu4SXrGS96qUv8kNqz4/bvKFhqrQuH4RZoJsoKqSa7g==", - "requires": { - "@emotion/css": "^11.10.6", - "@emotion/react": "^11.9.0", - "@emotion/styled": "^11.8.1", - "@formant/ui-sdk-realtime-player": "^0.0.9", - "@mui/material": "^5.6.1", - "@mui/utils": "^5.6.1", - "@types/lodash": "^4.14.182", - "chart.js": "^4.2.0", - "classnames": "^2.3.1", - "grpc-web": "1.2.1", - "lodash": "^4.17.21", - "react-chartjs-2": "^5.2.0", - "react-device-detect": "^2.2.2" - }, - "dependencies": { - "grpc-web": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz", - "integrity": "sha512-ibBaJPzfMVuLPgaST9w0kZl60s+SnkPBQp6QKdpEr85tpc1gXW2QDqSne9xiyiym0logDfdUSm4aX5h9YBA2mw==" - } - } - }, - "@formant/ui-sdk-realtime-player": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz", - "integrity": "sha512-umNyNLWzv5TMw5Q+cLFHMlaTKi9HgU5R9LupzwqgroVlghgNFV2UxIZSDc5G7ZpMVsnwaNxPeLBdm90oJiyFjg==", - "requires": { - "@formant/ui-sdk-realtime-player-core": "^0.0.2", - "@formant/ui-sdk-realtime-player-core-worker": "^0.0.4" - } - }, - "@formant/ui-sdk-realtime-player-core": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz", - "integrity": "sha512-RC8z90dMvtXDAnxnSLYH2d4m27SgPI7fJasMu4X98QEwo4eOg4yRXT5TNbnpdjI7bqARbaSlosWtc7ba8d42Ng==" - }, - "@formant/ui-sdk-realtime-player-core-worker": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz", - "integrity": "sha512-yQ0VJNdrFkTHRA9mBkmfBzrgSrdOTTukETtC1Jit2A5yj2B765IngA20Lf8ny6BePTsozHFk89KM5cU6MNuMmg==", - "requires": { - "@types/offscreencanvas": "^2019.6.4", - "h264decoder": "^1.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "devOptional": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "devOptional": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "devOptional": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "devOptional": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "devOptional": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" - }, - "@mui/base": { - "version": "5.0.0-alpha.115", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.115.tgz", - "integrity": "sha512-OGQ84whT/yNYd6xKCGGS6MxqEfjVjk5esXM7HP6bB2Rim7QICUapxZt4nm8q39fpT08rNDkv3xPVqDDwRdRg1g==", - "requires": { - "@babel/runtime": "^7.20.7", - "@emotion/is-prop-valid": "^1.2.0", - "@mui/types": "^7.2.3", - "@mui/utils": "^5.11.2", - "@popperjs/core": "^2.11.6", - "clsx": "^1.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - } - }, - "@mui/core-downloads-tracker": { - "version": "5.11.6", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.6.tgz", - "integrity": "sha512-lbD3qdafBOf2dlqKhOcVRxaPAujX+9UlPC6v8iMugMeAXe0TCgU3QbGXY3zrJsu6ex64WYDpH4y1+WOOBmWMuA==" - }, - "@mui/material": { - "version": "5.11.6", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.6.tgz", - "integrity": "sha512-MzkkL5KC2PCkFiv8cLpkzgLUPXSrAtnvJBR0emV7mLVWbkwV3n5832vjBx154B6R032fHjFTziTh7YEb50nK6Q==", - "requires": { - "@babel/runtime": "^7.20.7", - "@mui/base": "5.0.0-alpha.115", - "@mui/core-downloads-tracker": "^5.11.6", - "@mui/system": "^5.11.5", - "@mui/types": "^7.2.3", - "@mui/utils": "^5.11.2", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "csstype": "^3.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - } - }, - "@mui/private-theming": { - "version": "5.11.2", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.2.tgz", - "integrity": "sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg==", - "requires": { - "@babel/runtime": "^7.20.7", - "@mui/utils": "^5.11.2", - "prop-types": "^15.8.1" - } - }, - "@mui/styled-engine": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz", - "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==", - "requires": { - "@babel/runtime": "^7.20.6", - "@emotion/cache": "^11.10.5", - "csstype": "^3.1.1", - "prop-types": "^15.8.1" - } - }, - "@mui/system": { - "version": "5.11.5", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.5.tgz", - "integrity": "sha512-KNVsJ0sgRRp2XBqhh4wPS5aacteqjwxgiYTVwVnll2fgkgunZKo3DsDiGMrFlCg25ZHA3Ax58txWGE9w58zp0w==", - "requires": { - "@babel/runtime": "^7.20.7", - "@mui/private-theming": "^5.11.2", - "@mui/styled-engine": "^5.11.0", - "@mui/types": "^7.2.3", - "@mui/utils": "^5.11.2", - "clsx": "^1.2.1", - "csstype": "^3.1.1", - "prop-types": "^15.8.1" - } - }, - "@mui/types": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz", - "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==", - "requires": {} - }, - "@mui/utils": { - "version": "5.11.2", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.2.tgz", - "integrity": "sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w==", - "requires": { - "@babel/runtime": "^7.20.7", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - } - }, - "@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" - }, - "@types/generic-pool": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz", - "integrity": "sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ==", - "requires": { - "generic-pool": "*" - } - }, - "@types/google-protobuf": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.7.4.tgz", - "integrity": "sha512-6PjMFKl13cgB4kRdYtvyjKl8VVa0PXS2IdVxHhQ8GEKbxBkyJtSbaIeK1eZGjDKN7dvUh4vkOvU9FMwYNv4GQQ==" - }, - "@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" - }, - "@types/offscreencanvas": { - "version": "2019.7.0", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", - "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/react": { - "version": "18.0.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", - "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.0.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", - "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/react-is": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", - "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==" - }, - "@vitejs/plugin-react": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", - "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", - "dev": true, - "requires": { - "@babel/core": "^7.20.12", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.19.6", - "magic-string": "^0.27.0", - "react-refresh": "^0.14.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true, - "peer": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "devOptional": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "caniuse-lite": { - "version": "1.0.30001449", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", - "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==", - "devOptional": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chart.js": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.2.1.tgz", - "integrity": "sha512-6YbpQ0nt3NovAgOzbkSSeeAQu/3za1319dPUQTXn9WcOpywM8rGKxJHrhS8V8xEkAlk8YhEfjbuAPfUyp6jIsw==", - "requires": { - "@kurkle/color": "^0.3.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "devOptional": true, - "requires": { - "ms": "2.1.2" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "devOptional": true - }, - "env-var": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/env-var/-/env-var-7.5.0.tgz", - "integrity": "sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "esbuild": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", - "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.17.15", - "@esbuild/android-arm64": "0.17.15", - "@esbuild/android-x64": "0.17.15", - "@esbuild/darwin-arm64": "0.17.15", - "@esbuild/darwin-x64": "0.17.15", - "@esbuild/freebsd-arm64": "0.17.15", - "@esbuild/freebsd-x64": "0.17.15", - "@esbuild/linux-arm": "0.17.15", - "@esbuild/linux-arm64": "0.17.15", - "@esbuild/linux-ia32": "0.17.15", - "@esbuild/linux-loong64": "0.17.15", - "@esbuild/linux-mips64el": "0.17.15", - "@esbuild/linux-ppc64": "0.17.15", - "@esbuild/linux-riscv64": "0.17.15", - "@esbuild/linux-s390x": "0.17.15", - "@esbuild/linux-x64": "0.17.15", - "@esbuild/netbsd-x64": "0.17.15", - "@esbuild/openbsd-x64": "0.17.15", - "@esbuild/sunos-x64": "0.17.15", - "@esbuild/win32-arm64": "0.17.15", - "@esbuild/win32-ia32": "0.17.15", - "@esbuild/win32-x64": "0.17.15" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "devOptional": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "generic-pool": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", - "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "devOptional": true - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "devOptional": true - }, - "google-protobuf": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", - "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==" - }, - "h264decoder": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/h264decoder/-/h264decoder-1.0.0.tgz", - "integrity": "sha512-uFoa7RPOjKia91ziteLynrDkoIIx17zfIhJbTy2SXAg/Eu89H8sFVDw9lpWv3i4evIO1QlCdjrub0f4kRIgtcQ==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "immutable": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", - "dev": true, - "optional": true, - "peer": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "optional": true, - "peer": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true, - "peer": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "devOptional": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "devOptional": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "devOptional": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lzfjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lzfjs/-/lzfjs-1.0.1.tgz", - "integrity": "sha512-P1x9feLT9xHg9OpfgWcDlWtndf7wYTJk5LgIeVE9tGo6CptVnDi34/mcT8REskWNdQCSiPGhSLQ80L7zTQXUVg==" - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true - }, - "node-releases": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", - "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==", - "devOptional": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true, - "peer": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "devOptional": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "optional": true, - "peer": true - }, - "postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "dev": true, - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-chartjs-2": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz", - "integrity": "sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==", - "requires": {} - }, - "react-device-detect": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.2.tgz", - "integrity": "sha512-zSN1gIAztUekp5qUT/ybHwQ9fmOqVT1psxpSlTn1pe0CO+fnJHKRLOWWac5nKxOxvOpD/w84hk1I+EydrJp7SA==", - "requires": { - "ua-parser-js": "^1.0.2" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true - }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "rollup": { - "version": "3.20.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", - "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "sass": { - "version": "1.57.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", - "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "devOptional": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "ua-parser-js": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz", - "integrity": "sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==" - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "devOptional": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==" - }, - "vite": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", - "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", - "dev": true, - "requires": { - "esbuild": "^0.17.5", - "fsevents": "~2.3.2", - "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "devOptional": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" } } } diff --git a/examples/realtime-video/package.json b/examples/realtime-video/package.json index 807b05a87..51e7e9c8e 100644 --- a/examples/realtime-video/package.json +++ b/examples/realtime-video/package.json @@ -9,17 +9,19 @@ "preview": "vite preview" }, "dependencies": { - "@formant/data-sdk": "^1.51.0", - "@formant/realtime-sdk": "^1.4.0", + "@formant/data-sdk": "^1.80.8", "@formant/ui-sdk": "^0.0.60", + "process": "^0.11.10", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "setimmediate": "^1.0.5" }, "devDependencies": { "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", "@vitejs/plugin-react": "^3.0.0", "typescript": "^4.9.3", - "vite": "^4.0.0" + "vite": "^4.0.0", + "vite-plugin-node-polyfills": "^0.24.0" } } diff --git a/examples/realtime-video/src/main.tsx b/examples/realtime-video/src/main.tsx index f42b110b4..97c2da9e9 100644 --- a/examples/realtime-video/src/main.tsx +++ b/examples/realtime-video/src/main.tsx @@ -1,3 +1,4 @@ +import "./polyfills"; import React from "react"; import ReactDOM from "react-dom/client"; import App from "./App"; diff --git a/examples/realtime-video/src/polyfills.ts b/examples/realtime-video/src/polyfills.ts new file mode 100644 index 000000000..3f0121be6 --- /dev/null +++ b/examples/realtime-video/src/polyfills.ts @@ -0,0 +1,26 @@ +// Polyfill for setImmediate in browser environments +declare global { + interface Window { + setImmediate?: (callback: (...args: any[]) => void, ...args: any[]) => number; + clearImmediate?: (id: number) => void; + } + var setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => number; + var clearImmediate: (id: number) => void; +} + +if (typeof window !== "undefined" && !window.setImmediate) { + window.setImmediate = function (callback: (...args: any[]) => void, ...args: any[]) { + return setTimeout(callback, 0, ...args); + }; + window.clearImmediate = function (id: number) { + clearTimeout(id); + }; +} + +// Make them available globally +if (typeof globalThis !== "undefined") { + globalThis.setImmediate = globalThis.setImmediate || window?.setImmediate || ((callback: (...args: any[]) => void, ...args: any[]) => setTimeout(callback, 0, ...args)); + globalThis.clearImmediate = globalThis.clearImmediate || window?.clearImmediate || ((id: number) => clearTimeout(id)); +} + +export {}; \ No newline at end of file diff --git a/examples/realtime-video/vite.config.ts b/examples/realtime-video/vite.config.ts index 5a33944a9..27e34bcbe 100644 --- a/examples/realtime-video/vite.config.ts +++ b/examples/realtime-video/vite.config.ts @@ -1,7 +1,19 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' + import { defineConfig } from 'vite'; + import react from '@vitejs/plugin-react'; + import { nodePolyfills } from 'vite-plugin-node-polyfills'; -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react()], -}) + export default defineConfig({ + plugins: [ + react(), + nodePolyfills({ + include: ['process', 'buffer', 'util', 'timers', 'events', 'stream', 'crypto'], + globals: { + Buffer: true, + process: true, + setImmediate: true, + clearImmediate: true, + }, + protocolImports: true, + }), + ], + }); diff --git a/examples/realtime-video/yarn.lock b/examples/realtime-video/yarn.lock index 56c795053..a89e9448c 100644 --- a/examples/realtime-video/yarn.lock +++ b/examples/realtime-video/yarn.lock @@ -2,401 +2,347 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.27.2": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.4.tgz#96fdf1af1b8859c8474ab39c295312bfb7c24b04" - integrity sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw== - -"@babel/core@^7.20.12": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.4.tgz#12a550b8794452df4c8b084f95003bce1742d496" - integrity sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.3" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.4" - "@babel/parser" "^7.28.4" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.4" - "@babel/types" "^7.28.4" - "@jridgewell/remapping" "^2.3.5" - convert-source-map "^2.0.0" + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.20.5": + version "7.20.14" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz" + integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.20.12": + version "7.20.12" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" - integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw== - dependencies: - "@babel/parser" "^7.28.3" - "@babel/types" "^7.28.2" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.20.7": + version "7.20.14" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz" + integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" lru-cache "^5.1.1" - semver "^6.3.1" + semver "^6.3.0" -"@babel/helper-globals@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" - integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" -"@babel/helper-module-transforms@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" - integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.28.3" + "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== +"@babel/helper-module-transforms@^7.20.11": + version "7.20.11" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" + +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" -"@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.20.7": + version "7.20.13" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz" + integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.13" + "@babel/types" "^7.20.7" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== +"@babel/parser@^7.20.13", "@babel/parser@^7.20.7": + version "7.20.13" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz" + integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw== -"@babel/helpers@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" - integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" - integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg== +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== dependencies: - "@babel/types" "^7.28.4" + "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-react-jsx-self@^7.18.6": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" - integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz" + integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + regenerator-runtime "^0.13.11" -"@babel/plugin-transform-react-jsx-source@^7.19.6": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" - integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326" - integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ== - -"@babel/template@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" - integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.3" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.4" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" - debug "^4.3.1" - -"@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" - integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@emotion/babel-plugin@^11.13.5": - version "11.13.5" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" - integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13": + version "7.20.13" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz" + integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.13" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@emotion/babel-plugin@^11.10.5", "@emotion/babel-plugin@^11.10.6": + version "11.10.6" + resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz" + integrity sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.2" - "@emotion/memoize" "^0.9.0" - "@emotion/serialize" "^1.3.3" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/serialize" "^1.1.1" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" find-root "^1.1.0" source-map "^0.5.7" - stylis "4.2.0" + stylis "4.1.3" -"@emotion/cache@^11.13.5", "@emotion/cache@^11.14.0": - version "11.14.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" - integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== +"@emotion/cache@^11.10.5": + version "11.10.5" + resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz" + integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== dependencies: - "@emotion/memoize" "^0.9.0" - "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.2" - "@emotion/weak-memoize" "^0.4.0" - stylis "4.2.0" + "@emotion/memoize" "^0.8.0" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + stylis "4.1.3" "@emotion/css@^11.10.6": - version "11.13.5" - resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.5.tgz#db2d3be6780293640c082848e728a50544b9dfa4" - integrity sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w== - dependencies: - "@emotion/babel-plugin" "^11.13.5" - "@emotion/cache" "^11.13.5" - "@emotion/serialize" "^1.3.3" - "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.2" - -"@emotion/hash@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" - integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== - -"@emotion/is-prop-valid@^1.3.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz#e9ad47adff0b5c94c72db3669ce46de33edf28c0" - integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw== + version "11.10.6" + resolved "https://registry.npmjs.org/@emotion/css/-/css-11.10.6.tgz" + integrity sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw== dependencies: - "@emotion/memoize" "^0.9.0" + "@emotion/babel-plugin" "^11.10.6" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" -"@emotion/memoize@^0.9.0": +"@emotion/hash@^0.9.0": version "0.9.0" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" - integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz" + integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== -"@emotion/react@^11.9.0": - version "11.14.0" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" - integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== +"@emotion/is-prop-valid@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz" + integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== + dependencies: + "@emotion/memoize" "^0.8.0" + +"@emotion/memoize@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" + integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== + +"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.9.0": + version "11.10.5" + resolved "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz" + integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.13.5" - "@emotion/cache" "^11.14.0" - "@emotion/serialize" "^1.3.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" - "@emotion/utils" "^1.4.2" - "@emotion/weak-memoize" "^0.4.0" + "@emotion/babel-plugin" "^11.10.5" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" - integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== +"@emotion/serialize@^1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz" + integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== dependencies: - "@emotion/hash" "^0.9.2" - "@emotion/memoize" "^0.9.0" - "@emotion/unitless" "^0.10.0" - "@emotion/utils" "^1.4.2" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/unitless" "^0.8.0" + "@emotion/utils" "^1.2.0" csstype "^3.0.2" -"@emotion/sheet@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" - integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== +"@emotion/sheet@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz" + integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== -"@emotion/styled@^11.8.1": - version "11.14.1" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.14.1.tgz#8c34bed2948e83e1980370305614c20955aacd1c" - integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw== +"@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1": + version "11.10.5" + resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz" + integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.13.5" - "@emotion/is-prop-valid" "^1.3.0" - "@emotion/serialize" "^1.3.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" - "@emotion/utils" "^1.4.2" - -"@emotion/unitless@^0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" - integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== - -"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + "@emotion/babel-plugin" "^11.10.5" + "@emotion/is-prop-valid" "^1.2.0" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + +"@emotion/unitless@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz" + integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz" + integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== + +"@emotion/utils@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" - integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== - -"@emotion/utils@^1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" - integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== - -"@emotion/weak-memoize@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" - integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@formant/data-sdk@^1.51.0": - version "1.80.7" - resolved "https://registry.yarnpkg.com/@formant/data-sdk/-/data-sdk-1.80.7.tgz#6beef5c753462080ce4c3d57453b54bfad498b56" - integrity sha512-/2g7xx/gWzzpfXM/Q6GK4qD4Q5lz0Psxv5Mr0E4JjOwXcZqcpN5kcb++MQ988aJOW5yWCXRs0uHbWMAVfRW4Eg== + resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz" + integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== + +"@emotion/weak-memoize@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz" + integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== + +"@esbuild/linux-x64@0.17.15": + version "0.17.15" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz" + integrity sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg== + +"@formant/data-sdk@^1.0.0", "@formant/data-sdk@^1.80.8": + version "1.80.8" + resolved "https://registry.npmjs.org/@formant/data-sdk/-/data-sdk-1.80.8.tgz" + integrity sha512-Z27vyShcFIQRb76WLYGHFRc3z+IdRcdy/QMrSVlR0rF9RFknZIKpEZ+QWeidpPon20lIu52F1hYPSQW+iM9uWA== dependencies: "@formant/ui-sdk-realtime-player-core" "^0.0.2" "@formant/ui-sdk-realtime-player-core-worker" "^0.0.4" @@ -412,17 +358,9 @@ pako "^2.1.0" validator "^13.11.0" -"@formant/realtime-sdk@^1.4.2": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@formant/realtime-sdk/-/realtime-sdk-1.4.3.tgz#c7440c3c92902d3ded0c533b845b22f6fc808808" - integrity sha512-eC8L1JrcDOaJrCgVB/qpBK6nV4nM4GIRrotJun8Hey8yXGfCD6fzu6hLnwWSoBVXEyPBEqyjb6NDibu8yvoAmA== - dependencies: - "@types/google-protobuf" "~3.7.0" - env-var "^7.4.0" - "@formant/ui-sdk-realtime-player-core-worker@^0.0.4": version "0.0.4" - resolved "https://registry.yarnpkg.com/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz#d197fcaad113bd51b6cca53e5f6bb1e441ae6582" + resolved "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz" integrity sha512-yQ0VJNdrFkTHRA9mBkmfBzrgSrdOTTukETtC1Jit2A5yj2B765IngA20Lf8ny6BePTsozHFk89KM5cU6MNuMmg== dependencies: "@types/offscreencanvas" "^2019.6.4" @@ -430,12 +368,12 @@ "@formant/ui-sdk-realtime-player-core@^0.0.2": version "0.0.2" - resolved "https://registry.yarnpkg.com/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz#c4a48e2de2619b3a3633c4808e201234decf0b41" + resolved "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz" integrity sha512-RC8z90dMvtXDAnxnSLYH2d4m27SgPI7fJasMu4X98QEwo4eOg4yRXT5TNbnpdjI7bqARbaSlosWtc7ba8d42Ng== "@formant/ui-sdk-realtime-player@^0.0.9": version "0.0.9" - resolved "https://registry.yarnpkg.com/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz#24737e83582b277c8cc3cad3dd1f3df162dfd9ad" + resolved "https://registry.npmjs.org/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz" integrity sha512-umNyNLWzv5TMw5Q+cLFHMlaTKi9HgU5R9LupzwqgroVlghgNFV2UxIZSDc5G7ZpMVsnwaNxPeLBdm90oJiyFjg== dependencies: "@formant/ui-sdk-realtime-player-core" "^0.0.2" @@ -443,7 +381,7 @@ "@formant/ui-sdk@^0.0.60": version "0.0.60" - resolved "https://registry.yarnpkg.com/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz#bf5dfab2ede331bea4a300c9c1e4014e14b18aae" + resolved "https://registry.npmjs.org/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz" integrity sha512-emHwiZXwPONTEgtEgE+EKifiIlcCLNGvnpcydPR/o8EQu4SXrGS96qUv8kNqz4/bvKFhqrQuH4RZoJsoKqSa7g== dependencies: "@emotion/css" "^11.10.6" @@ -460,175 +398,233 @@ react-chartjs-2 "^5.2.0" react-device-detect "^2.2.2" -"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" - integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/remapping@^2.3.5": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" - integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": +"@jridgewell/sourcemap-codec@^1.5.5": version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.30" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz#4a76c4daeee5df09f5d3940e087442fb36ce2b99" - integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q== +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@kurkle/color@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.4.tgz#4d4ff677e1609214fc71c580125ddddd86abcabf" - integrity sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w== + version "0.3.2" + resolved "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz" + integrity sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw== + +"@mui/base@5.0.0-alpha.115": + version "5.0.0-alpha.115" + resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.115.tgz" + integrity sha512-OGQ84whT/yNYd6xKCGGS6MxqEfjVjk5esXM7HP6bB2Rim7QICUapxZt4nm8q39fpT08rNDkv3xPVqDDwRdRg1g== + dependencies: + "@babel/runtime" "^7.20.7" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" -"@mui/core-downloads-tracker@^5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.18.0.tgz#85019a8704b0f63305fc5600635ee663810f2b66" - integrity sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA== +"@mui/core-downloads-tracker@^5.11.6": + version "5.11.6" + resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.6.tgz" + integrity sha512-lbD3qdafBOf2dlqKhOcVRxaPAujX+9UlPC6v8iMugMeAXe0TCgU3QbGXY3zrJsu6ex64WYDpH4y1+WOOBmWMuA== "@mui/material@^5.6.1": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.18.0.tgz#71e72d52338252edc6f8d9461e04fdf0d61905cd" - integrity sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/core-downloads-tracker" "^5.18.0" - "@mui/system" "^5.18.0" - "@mui/types" "~7.2.15" - "@mui/utils" "^5.17.1" - "@popperjs/core" "^2.11.8" - "@types/react-transition-group" "^4.4.10" - clsx "^2.1.0" - csstype "^3.1.3" + version "5.11.6" + resolved "https://registry.npmjs.org/@mui/material/-/material-5.11.6.tgz" + integrity sha512-MzkkL5KC2PCkFiv8cLpkzgLUPXSrAtnvJBR0emV7mLVWbkwV3n5832vjBx154B6R032fHjFTziTh7YEb50nK6Q== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/base" "5.0.0-alpha.115" + "@mui/core-downloads-tracker" "^5.11.6" + "@mui/system" "^5.11.5" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + "@types/react-transition-group" "^4.4.5" + clsx "^1.2.1" + csstype "^3.1.1" prop-types "^15.8.1" - react-is "^19.0.0" + react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.17.1.tgz#b4b6fbece27830754ef78186e3f1307dca42f295" - integrity sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ== +"@mui/private-theming@^5.11.2": + version "5.11.2" + resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.2.tgz" + integrity sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.17.1" + "@babel/runtime" "^7.20.7" + "@mui/utils" "^5.11.2" prop-types "^15.8.1" -"@mui/styled-engine@^5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.18.0.tgz#914cca1385bb33ce0cde31721f529c8bd7fa301c" - integrity sha512-BN/vKV/O6uaQh2z5rXV+MBlVrEkwoS/TK75rFQ2mjxA7+NBo8qtTAOA4UaM0XeJfn7kh2wZ+xQw2HAx0u+TiBg== +"@mui/styled-engine@^5.11.0": + version "5.11.0" + resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz" + integrity sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ== dependencies: - "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.13.5" - "@emotion/serialize" "^1.3.3" - csstype "^3.1.3" + "@babel/runtime" "^7.20.6" + "@emotion/cache" "^11.10.5" + csstype "^3.1.1" prop-types "^15.8.1" -"@mui/system@^5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.18.0.tgz#e55331203a40584b26c5a855a07949ac8973bfb6" - integrity sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.17.1" - "@mui/styled-engine" "^5.18.0" - "@mui/types" "~7.2.15" - "@mui/utils" "^5.17.1" - clsx "^2.1.0" - csstype "^3.1.3" +"@mui/system@^5.11.5": + version "5.11.5" + resolved "https://registry.npmjs.org/@mui/system/-/system-5.11.5.tgz" + integrity sha512-KNVsJ0sgRRp2XBqhh4wPS5aacteqjwxgiYTVwVnll2fgkgunZKo3DsDiGMrFlCg25ZHA3Ax58txWGE9w58zp0w== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/private-theming" "^5.11.2" + "@mui/styled-engine" "^5.11.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + clsx "^1.2.1" + csstype "^3.1.1" prop-types "^15.8.1" -"@mui/types@~7.2.15": - version "7.2.24" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.24.tgz#5eff63129d9c29d80bbf2d2e561bd0690314dec2" - integrity sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw== +"@mui/types@^7.2.3": + version "7.2.3" + resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz" + integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== -"@mui/utils@^5.17.1", "@mui/utils@^5.6.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.17.1.tgz#72ba4ffa79f7bdf69d67458139390f18484b6e6b" - integrity sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg== +"@mui/utils@^5.11.2", "@mui/utils@^5.6.1": + version "5.11.2" + resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.11.2.tgz" + integrity sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/types" "~7.2.15" - "@types/prop-types" "^15.7.12" - clsx "^2.1.1" + "@babel/runtime" "^7.20.7" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^16.7.1 || ^17.0.0" prop-types "^15.8.1" - react-is "^19.0.0" + react-is "^18.2.0" + +"@popperjs/core@^2.11.6": + version "2.11.6" + resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== -"@popperjs/core@^2.11.8": - version "2.11.8" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" - integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== +"@rollup/plugin-inject@^5.0.5": + version "5.0.5" + resolved "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz" + integrity sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg== + dependencies: + "@rollup/pluginutils" "^5.0.1" + estree-walker "^2.0.2" + magic-string "^0.30.3" -"@types/google-protobuf@~3.7.0": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.7.4.tgz#1621c50ceaf5aefa699851da8e0ea606a2943a39" - integrity sha512-6PjMFKl13cgB4kRdYtvyjKl8VVa0PXS2IdVxHhQ8GEKbxBkyJtSbaIeK1eZGjDKN7dvUh4vkOvU9FMwYNv4GQQ== +"@rollup/pluginutils@^5.0.1": + version "5.3.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz" + integrity sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^4.0.2" + +"@types/estree@^1.0.0": + version "1.0.8" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/lodash@^4.14.182": - version "4.17.20" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.20.tgz#1ca77361d7363432d29f5e55950d9ec1e1c6ea93" - integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA== + version "4.14.191" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== "@types/offscreencanvas@^2019.6.4": - version "2019.7.3" - resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz#90267db13f64d6e9ccb5ae3eac92786a7c77a516" - integrity sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A== + version "2019.7.0" + resolved "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz" + integrity sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg== "@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/prop-types@*", "@types/prop-types@^15.7.12": - version "15.7.15" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7" - integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw== +"@types/prop-types@*", "@types/prop-types@^15.7.5": + version "15.7.5" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== "@types/react-dom@^18.0.9": - version "18.3.7" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.7.tgz#b89ddf2cd83b4feafcc4e2ea41afdfb95a0d194f" - integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ== + version "18.0.10" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz" + integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== + dependencies: + "@types/react" "*" -"@types/react-transition-group@^4.4.10": - version "4.4.12" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" - integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== +"@types/react-is@^16.7.1 || ^17.0.0": + version "17.0.3" + resolved "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz" + integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== + dependencies: + "@types/react" "*" + +"@types/react-transition-group@^4.4.5": + version "4.4.5" + resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz" + integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== + dependencies: + "@types/react" "*" -"@types/react@^18.0.26": - version "18.3.24" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.24.tgz#f6a5a4c613242dfe3af0dcee2b4ec47b92d9b6bd" - integrity sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A== +"@types/react@*", "@types/react@^17.0.0 || ^18.0.0", "@types/react@^18.0.26": + version "18.0.27" + resolved "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz" + integrity sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA== dependencies: "@types/prop-types" "*" + "@types/scheduler" "*" csstype "^3.0.2" +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + "@types/validator@^13.11.8": - version "13.15.3" - resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.3.tgz#67e8aeacbace03517f9bd3f99e750bb666207ff4" - integrity sha512-7bcUmDyS6PN3EuD9SlGGOxM77F8WLVsrwkxyWxKnxzmXoequ6c7741QBrANq6htVRGOITJ7z72mTP6Z4XyuG+Q== + version "13.12.0" + resolved "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz" + integrity sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag== "@vitejs/plugin-react@^3.0.0": version "3.1.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" + resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz" integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== dependencies: "@babel/core" "^7.20.12" @@ -637,9 +633,43 @@ magic-string "^0.27.0" react-refresh "^0.14.0" +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" @@ -648,64 +678,242 @@ babel-plugin-macros@^3.1.0: base-64@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a" + resolved "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz" integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg== -base64-js@^1.5.1: +base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -browserslist@^4.24.0: - version "4.25.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.4.tgz#ebdd0e1d1cf3911834bab3a6cd7b917d9babf5af" - integrity sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg== +bn.js@^4.0.0: + version "4.12.2" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz" + integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw== + +bn.js@^4.1.0: + version "4.12.2" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz" + integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw== + +bn.js@^4.11.9: + version "4.12.2" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz" + integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw== + +bn.js@^5.2.1: + version "5.2.2" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz" + integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-resolve@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz" + integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== + dependencies: + resolve "^1.17.0" + +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: - caniuse-lite "^1.0.30001737" - electron-to-chromium "^1.5.211" - node-releases "^2.0.19" - update-browserslist-db "^1.1.3" + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz" + integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ== + dependencies: + bn.js "^5.2.1" + randombytes "^2.1.0" + safe-buffer "^5.2.1" + +browserify-sign@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz" + integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.5" + hash-base "~3.0" + inherits "^2.0.4" + parse-asn1 "^5.1.7" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.21.3, "browserslist@>= 4.21.0": + version "4.21.5" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^5.7.1: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001737: - version "1.0.30001741" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz#67fb92953edc536442f3c9da74320774aa523143" - integrity sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw== +caniuse-lite@^1.0.30001449: + version "1.0.30001449" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz" + integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== -chart.js@^4.2.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.5.0.tgz#11a1ef6c4befc514b1b0b613ebac226c4ad2740b" - integrity sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ== +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chart.js@^4.1.1, chart.js@^4.2.0: + version "4.2.1" + resolved "https://registry.npmjs.org/chart.js/-/chart.js-4.2.1.tgz" + integrity sha512-6YbpQ0nt3NovAgOzbkSSeeAQu/3za1319dPUQTXn9WcOpywM8rGKxJHrhS8V8xEkAlk8YhEfjbuAPfUyp6jIsw== dependencies: "@kurkle/color" "^0.3.0" +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.6" + resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz" + integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + classnames@^2.3.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + version "2.3.2" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" -clsx@^2.1.0, clsx@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== -convert-source-map@^1.5.0: +convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -714,263 +922,754 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -csstype@^3.0.2, csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +create-ecdh@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hash@~1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz" + integrity sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^2.0.0" + sha.js "^2.4.0" + +create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +crypto-browserify@^3.12.1: + version "3.12.1" + resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz" + integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== + dependencies: + browserify-cipher "^1.0.1" + browserify-sign "^4.2.3" + create-ecdh "^4.0.4" + create-hash "^1.2.0" + create-hmac "^1.1.7" + diffie-hellman "^5.0.3" + hash-base "~3.0.4" + inherits "^2.0.4" + pbkdf2 "^3.1.2" + public-encrypt "^4.0.3" + randombytes "^2.1.0" + randomfill "^1.0.4" + +csstype@^3.0.2, csstype@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== date-fns@^2.30.0: version "2.30.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== dependencies: "@babel/runtime" "^7.21.0" -debug@^4.1.0, debug@^4.3.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== +debug@^4.1.0: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== dependencies: - ms "^2.1.3" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +diffie-hellman@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" dom-helpers@^5.0.1: version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -electron-to-chromium@^1.5.211: - version "1.5.215" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.215.tgz#200c8d69b1270af6126837b6b1f95077c3a347b1" - integrity sha512-TIvGp57UpeNetj/wV/xpFNpWGb0b/ROw372lHPx5Aafx02gjTBtWnEEcaSX3W2dLM3OSdGGyHX/cHl01JQsLaQ== +domain-browser@4.22.0: + version "4.22.0" + resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz" + integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== -env-var@^7.4.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/env-var/-/env-var-7.5.0.tgz#5f0c2d999d2997eaf7cf7f1437b3f857b865bf48" - integrity sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA== +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +electron-to-chromium@^1.4.284: + version "1.4.284" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +elliptic@^6.5.3, elliptic@^6.5.5: + version "6.6.1" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +esbuild@^0.17.5: + version "0.17.15" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz" + integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw== optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + "@esbuild/android-arm" "0.17.15" + "@esbuild/android-arm64" "0.17.15" + "@esbuild/android-x64" "0.17.15" + "@esbuild/darwin-arm64" "0.17.15" + "@esbuild/darwin-x64" "0.17.15" + "@esbuild/freebsd-arm64" "0.17.15" + "@esbuild/freebsd-x64" "0.17.15" + "@esbuild/linux-arm" "0.17.15" + "@esbuild/linux-arm64" "0.17.15" + "@esbuild/linux-ia32" "0.17.15" + "@esbuild/linux-loong64" "0.17.15" + "@esbuild/linux-mips64el" "0.17.15" + "@esbuild/linux-ppc64" "0.17.15" + "@esbuild/linux-riscv64" "0.17.15" + "@esbuild/linux-s390x" "0.17.15" + "@esbuild/linux-x64" "0.17.15" + "@esbuild/netbsd-x64" "0.17.15" + "@esbuild/openbsd-x64" "0.17.15" + "@esbuild/sunos-x64" "0.17.15" + "@esbuild/win32-arm64" "0.17.15" + "@esbuild/win32-ia32" "0.17.15" + "@esbuild/win32-x64" "0.17.15" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== +events@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + fast-json-stable-stringify@=2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz" integrity sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ== find-root@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" -function-bind@^1.1.2: +for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + +function-bind@^1.1.1, function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + google-protobuf@^3.21.2: version "3.21.4" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.4.tgz#2f933e8b6e5e9f8edde66b7be0024b68f77da6c9" + resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz" integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ== +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + grpc-web@1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/grpc-web/-/grpc-web-1.2.1.tgz#860051d705bf5baa7b81fcbd14030060bf16b7b9" + resolved "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz" integrity sha512-ibBaJPzfMVuLPgaST9w0kZl60s+SnkPBQp6QKdpEr85tpc1gXW2QDqSne9xiyiym0logDfdUSm4aX5h9YBA2mw== h264decoder@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/h264decoder/-/h264decoder-1.0.0.tgz#5c3c5bc1f755df10f3689d58e00910264be8a8ff" + resolved "https://registry.npmjs.org/h264decoder/-/h264decoder-1.0.0.tgz" integrity sha512-uFoa7RPOjKia91ziteLynrDkoIIx17zfIhJbTy2SXAg/Eu89H8sFVDw9lpWv3i4evIO1QlCdjrub0f4kRIgtcQ== +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz" + integrity sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw== + dependencies: + inherits "^2.0.1" + +hash-base@^3.0.0, hash-base@~3.0, hash-base@~3.0.4: + version "3.0.5" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz" + integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + hasown@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hoist-non-react-statics@^3.3.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + import-fresh@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-arguments@^1.0.4: + version "1.2.0" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-core-module@^2.16.0: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-generator-function@^1.0.7: + version "1.1.0" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" hasown "^2.0.2" +is-typed-array@^1.1.14, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isomorphic-timers-promises@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz" + integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json5@^2.2.3: +json5@^2.2.2: version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash@^4.17.21: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^7.14.0: version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== lzfjs@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/lzfjs/-/lzfjs-1.0.1.tgz#f26074f55bdca831a6354449f59a1632fe8f6ea1" + resolved "https://registry.npmjs.org/lzfjs/-/lzfjs-1.0.1.tgz" integrity sha512-P1x9feLT9xHg9OpfgWcDlWtndf7wYTJk5LgIeVE9tGo6CptVnDi34/mcT8REskWNdQCSiPGhSLQ80L7zTQXUVg== magic-string@^0.27.0: version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz" integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +magic-string@^0.30.3: + version "0.30.19" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz" + integrity sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.5" + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -node-releases@^2.0.19: - version "2.0.20" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.20.tgz#e26bb79dbdd1e64a146df389c699014c611cbc27" - integrity sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA== +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +node-releases@^2.0.8: + version "2.0.9" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz" + integrity sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA== + +node-stdlib-browser@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz" + integrity sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw== + dependencies: + assert "^2.0.0" + browser-resolve "^2.0.0" + browserify-zlib "^0.2.0" + buffer "^5.7.1" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + create-require "^1.1.1" + crypto-browserify "^3.12.1" + domain-browser "4.22.0" + events "^3.0.0" + https-browserify "^1.0.0" + isomorphic-timers-promises "^1.0.1" + os-browserify "^0.3.0" + path-browserify "^1.0.1" + pkg-dir "^5.0.0" + process "^0.11.10" + punycode "^1.4.1" + querystring-es3 "^0.2.1" + readable-stream "^3.6.0" + stream-browserify "^3.0.0" + stream-http "^3.2.0" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.1" + url "^0.11.4" + util "^0.12.4" + vm-browserify "^1.0.1" object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.7" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + pako@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" +parse-asn1@^5.0.0, parse-asn1@^5.1.7: + version "5.1.7" + resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz" + integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + hash-base "~3.0" + pbkdf2 "^3.1.2" + safe-buffer "^5.2.1" + parse-json@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -978,77 +1677,175 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== +pbkdf2@^3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz" + integrity sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA== + dependencies: + create-hash "~1.1.3" + create-hmac "^1.1.7" + ripemd160 "=2.0.1" + safe-buffer "^5.2.1" + sha.js "^2.4.11" + to-buffer "^1.2.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^4.0.2: + version "4.0.3" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== -postcss@^8.4.27: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== +postcss@^8.4.21: + version "8.4.21" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== dependencies: - nanoid "^3.3.11" - picocolors "^1.1.1" - source-map-js "^1.2.1" + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" react-is "^16.13.1" +public-encrypt@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +qs@^6.12.3: + version "6.14.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + +querystring-es3@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + react-chartjs-2@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz#2d3286339a742bc7f77b5829c33ebab215f714cc" - integrity sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw== + version "5.2.0" + resolved "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz" + integrity sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA== react-device-detect@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/react-device-detect/-/react-device-detect-2.2.3.tgz#97a7ae767cdd004e7c3578260f48cf70c036e7ca" - integrity sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw== + version "2.2.2" + resolved "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.2.tgz" + integrity sha512-zSN1gIAztUekp5qUT/ybHwQ9fmOqVT1psxpSlTn1pe0CO+fnJHKRLOWWac5nKxOxvOpD/w84hk1I+EydrJp7SA== dependencies: - ua-parser-js "^1.0.33" + ua-parser-js "^1.0.2" -react-dom@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== +"react-dom@^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 0.14.0", react-dom@>=16.6.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.2" + scheduler "^0.23.0" -react-is@^16.13.1, react-is@^16.7.0: +react-is@^16.13.1: version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^19.0.0: - version "19.1.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.1.tgz#038ebe313cf18e1fd1235d51c87360eb87f7c36a" - integrity sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA== +react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== react-refresh@^0.14.0: - version "0.14.2" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" - integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== + version "0.14.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -1056,106 +1853,374 @@ react-transition-group@^4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -react@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== +"react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, "react@>= 0.14.0", react@>=16.6.0, react@>=16.8.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: loose-envify "^1.1.0" +readable-stream@^2.3.8: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.19.0: - version "1.22.10" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== +resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.16.0" + is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rollup@^3.27.1: - version "3.29.5" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54" - integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w== +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +ripemd160@=2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz" + integrity sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w== + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" + +rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^3.18.0: + version "3.20.2" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz" + integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg== optionalDependencies: fsevents "~2.3.2" -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: loose-envify "^1.1.0" -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: + version "2.4.12" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz" + integrity sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + to-buffer "^1.2.0" + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== source-map@^0.5.7: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stylis@4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz" + integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +to-buffer@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz" + integrity sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ== + dependencies: + isarray "^2.0.5" + safe-buffer "^5.2.1" + typed-array-buffer "^1.0.3" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +tty-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + typescript@^4.9.3: version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -ua-parser-js@^1.0.33: - version "1.0.41" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.41.tgz#bd04dc9ec830fcf9e4fad35cf22dcedd2e3b4e9c" - integrity sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug== +ua-parser-js@^1.0.2: + version "1.0.33" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz" + integrity sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ== -update-browserslist-db@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +url@^0.11.4: + version "0.11.4" + resolved "https://registry.npmjs.org/url/-/url-0.11.4.tgz" + integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg== dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" + punycode "^1.4.1" + qs "^6.12.3" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.4, util@^0.12.5: + version "0.12.5" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" validator@^13.11.0: - version "13.15.15" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.15.tgz#246594be5671dc09daa35caec5689fcd18c6e7e4" - integrity sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A== - -vite@^4.0.0: - version "4.5.14" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.14.tgz#2e652bc1d898265d987d6543ce866ecd65fa4086" - integrity sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" + version "13.12.0" + resolved "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz" + integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== + +vite-plugin-node-polyfills@^0.24.0: + version "0.24.0" + resolved "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.24.0.tgz" + integrity sha512-GA9QKLH+vIM8NPaGA+o2t8PDfFUl32J8rUp1zQfMKVJQiNkOX4unE51tR6ppl6iKw5yOrDAdSH7r/UIFLCVhLw== + dependencies: + "@rollup/plugin-inject" "^5.0.5" + node-stdlib-browser "^1.2.0" + +"vite@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", vite@^4.0.0, vite@^4.1.0-beta.0: + version "4.2.1" + resolved "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz" + integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg== + dependencies: + esbuild "^0.17.5" + postcss "^8.4.21" + resolve "^1.22.1" + rollup "^3.18.0" optionalDependencies: fsevents "~2.3.2" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +which-typed-array@^1.1.16, which-typed-array@^1.1.2: + version "1.1.19" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + yallist@^3.0.2: version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yaml@^1.10.0: version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/packages/data-sdk/CHANGELOG.md b/packages/data-sdk/CHANGELOG.md index d06c07540..f6b7a642d 100644 --- a/packages/data-sdk/CHANGELOG.md +++ b/packages/data-sdk/CHANGELOG.md @@ -1,3 +1,6 @@ +## [1.80.9] - 2025-09-19 +- Update realtime-sdk dependency to 1.4.9 to include rtc-client v1.1.1 fixes + ## [1.80.8] - 2025-09-15 - Update realtime-sdk dependency to 1.4.5 to include rtc-client v1.1.0 improvements diff --git a/packages/data-sdk/package-lock.json b/packages/data-sdk/package-lock.json index c3c986734..fec9bf27a 100644 --- a/packages/data-sdk/package-lock.json +++ b/packages/data-sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formant/data-sdk", - "version": "1.80.8", - "lockfileVersion": 2, + "version": "1.80.9", + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@formant/data-sdk", - "version": "1.80.8", + "version": "1.80.9", "license": "MIT", "dependencies": { "@formant/ui-sdk-realtime-player-core": "^0.0.2", @@ -25,7 +25,7 @@ }, "devDependencies": { "@eslint/js": "^9.11.1", - "@formant/realtime-sdk": "^1.4.5", + "@formant/realtime-sdk": "^1.4.9", "@types/base-64": "^1.0.0", "@types/fast-json-stable-stringify": "=2.0.0", "@types/node": "^18.16.3", @@ -50,12 +50,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", "engines": { "node": ">=6.9.0" } @@ -66,15 +63,62 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.16", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz", - "integrity": "sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -83,37 +127,328 @@ "node": ">=12" } }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", "dev": true, "dependencies": { - "@eslint/object-schema": "^2.1.4", + "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -122,9 +457,9 @@ } }, "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -143,19 +478,31 @@ "node": "*" } }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/core": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", - "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -176,9 +523,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -197,6 +544,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -210,29 +566,33 @@ } }, "node_modules/@eslint/js": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.11.1.tgz", - "integrity": "sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==", + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz", + "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", - "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, "dependencies": { + "@eslint/core": "^0.15.2", "levn": "^0.4.1" }, "engines": { @@ -240,9 +600,9 @@ } }, "node_modules/@formant/realtime-sdk": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@formant/realtime-sdk/-/realtime-sdk-1.4.5.tgz", - "integrity": "sha512-h+3fm/eguil2qVoNxnA+F5Spv/OBYrvLQVFyOmfmZd2PjMSqP8FUNUmy/wefQBVYmW1/XvX73HQa37JknMeNRQ==", + "version": "1.4.9", + "resolved": "https://registry.npmjs.org/@formant/realtime-sdk/-/realtime-sdk-1.4.9.tgz", + "integrity": "sha512-tpleVztLIBTUVI9tyOMOPH+9/wc6E8k4+8aXlPg5FCHvBvF3G8TK51kP5eY+voMLe425jMmrDMI+o7fZAuE9OA==", "dev": true, "dependencies": { "@types/generic-pool": "^3.8.1", @@ -268,6 +628,28 @@ "h264decoder": "^1.0.0" } }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -282,9 +664,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", - "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, "engines": { "node": ">=18.18" @@ -294,8 +676,25 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, @@ -304,36 +703,30 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -369,39 +762,48 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@types/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-AvCJx/HrfYHmOQRFdVvgKMplXfzTUizmh0tz9GFTpDePWgCY4uoKll84zKlaRoeiYiCr7c9ZnqSTzkl0BUVD6g==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/base-64/-/base-64-1.0.2.tgz", + "integrity": "sha512-uPgKMmM9fmn7I+Zi6YBqctOye4SlJsHKcisjHIMWpb2YKZRc36GpKyNuQ03JcT+oNXg1m7Uv4wU94EVltn8/cw==", "dev": true }, "node_modules/@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", + "version": "4.3.20", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", + "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", "dev": true }, "node_modules/@types/chai-subset": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", - "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.6.tgz", + "integrity": "sha512-m8lERkkQj+uek18hXOZuec3W/fCRTrU4hrnXjH3qhHy96ytuPaPiWGgu7sJb7tZxZonO75vYAjCvpe/e4VUwRw==", "dev": true, - "dependencies": { - "@types/chai": "*" + "peerDependencies": { + "@types/chai": "<5.2.0" } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true }, "node_modules/@types/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha512-mky/O83TXmGY39P1H9YbUpjV6l6voRYlufqfFCvel8l1phuy8HRjdWc1rrPuN53ITBJlbyMSV6z3niOySO5pgQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/generic-pool": { "version": "3.8.3", @@ -417,13 +819,12 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.7.4.tgz", "integrity": "sha512-6PjMFKl13cgB4kRdYtvyjKl8VVa0PXS2IdVxHhQ8GEKbxBkyJtSbaIeK1eZGjDKN7dvUh4vkOvU9FMwYNv4GQQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, "node_modules/@types/json-schema": { @@ -433,10 +834,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.16.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", - "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", - "dev": true + "version": "18.19.127", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.127.tgz", + "integrity": "sha512-gSjxjrnKXML/yo0BO099uPixMqfpJU0TKYjpfLU7TrtA2WWDki412Np/RSTPRil1saKBhvVVKzVx/p/6p94nVA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/offscreencanvas": { "version": "2019.7.3", @@ -444,31 +848,31 @@ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==" }, "node_modules/@types/pako": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.0.tgz", - "integrity": "sha512-10+iaz93qR5WYxTo+PMifD5TSxiOtdRaxBf7INGGXMQgTCu8Z/7GYWYFUOS3q/G0nE5boj1r4FEB+WSy7s5gbA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", "dev": true }, "node_modules/@types/validator": { - "version": "13.11.9", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.9.tgz", - "integrity": "sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==" + "version": "13.15.3", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.3.tgz", + "integrity": "sha512-7bcUmDyS6PN3EuD9SlGGOxM77F8WLVsrwkxyWxKnxzmXoequ6c7741QBrANq6htVRGOITJ7z72mTP6Z4XyuG+Q==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz", - "integrity": "sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.44.0.tgz", + "integrity": "sha512-EGDAOGX+uwwekcS0iyxVDmRV9HX6FLSM5kzrAToLTsr9OWCIKG/y3lQheCq18yZ5Xh78rRKJiEpP0ZaCs4ryOQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/type-utils": "8.7.0", - "@typescript-eslint/utils": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", + "@typescript-eslint/scope-manager": "8.44.0", + "@typescript-eslint/type-utils": "8.44.0", + "@typescript-eslint/utils": "8.44.0", + "@typescript-eslint/visitor-keys": "8.44.0", "graphemer": "^1.4.0", - "ignore": "^5.3.1", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -478,25 +882,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.44.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.7.0.tgz", - "integrity": "sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.44.0.tgz", + "integrity": "sha512-VGMpFQGUQWYT9LfnPcX8ouFojyrZ/2w3K5BucvxL/spdNehccKhB4jUyB1yBCXpr2XFm0jkECxgrpXBW2ipoAw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/typescript-estree": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", + "@typescript-eslint/scope-manager": "8.44.0", + "@typescript-eslint/types": "8.44.0", + "@typescript-eslint/typescript-estree": "8.44.0", + "@typescript-eslint/visitor-keys": "8.44.0", "debug": "^4.3.4" }, "engines": { @@ -507,22 +907,39 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.44.0.tgz", + "integrity": "sha512-ZeaGNraRsq10GuEohKTo4295Z/SuGcSq2LzfGlqiuEvfArzo/VRrT0ZaJsVPuKZ55lVbNk8U6FcL+ZMH8CoyVA==", + "dev": true, + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.44.0", + "@typescript-eslint/types": "^8.44.0", + "debug": "^4.3.4" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", - "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.44.0.tgz", + "integrity": "sha512-87Jv3E+al8wpD+rIdVJm/ItDBe/Im09zXIjFoipOjr5gHUhJmTzfFLuTJ/nPTMc2Srsroy4IBXwcTCHyRR7KzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0" + "@typescript-eslint/types": "8.44.0", + "@typescript-eslint/visitor-keys": "8.44.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -532,16 +949,33 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.44.0.tgz", + "integrity": "sha512-x5Y0+AuEPqAInc6yd0n5DAcvtoQ/vyaGwuX5HE9n6qAefk1GaedqrLQF8kQGylLUb9pnZyLf+iEiL9fr8APDtQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz", - "integrity": "sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.44.0.tgz", + "integrity": "sha512-9cwsoSxJ8Sak67Be/hD2RNt/fsqmWnNE1iHohG8lxqLSNY8xNfyY7wloo5zpW3Nu9hxVgURevqfcH6vvKCt6yg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "8.7.0", - "@typescript-eslint/utils": "8.7.0", + "@typescript-eslint/types": "8.44.0", + "@typescript-eslint/typescript-estree": "8.44.0", + "@typescript-eslint/utils": "8.44.0", "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -550,16 +984,15 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", - "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.44.0.tgz", + "integrity": "sha512-ZSl2efn44VsYM0MfDQe68RKzBz75NPgLQXuGypmym6QVOWL5kegTZuZ02xRAT9T+onqvM6T8CdQk0OwYMB6ZvA==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -570,19 +1003,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", - "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.44.0.tgz", + "integrity": "sha512-lqNj6SgnGcQZwL4/SBJ3xdPEfcBuhCG8zdcwCPgYcmiPLgokiNDKlbPzCwEwu7m279J/lBYWtDYL+87OEfn8Jw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", + "@typescript-eslint/project-service": "8.44.0", + "@typescript-eslint/tsconfig-utils": "8.44.0", + "@typescript-eslint/types": "8.44.0", + "@typescript-eslint/visitor-keys": "8.44.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -591,22 +1026,20 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz", - "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.44.0.tgz", + "integrity": "sha512-nktOlVcg3ALo0mYlV+L7sWUD58KG4CMj1rb2HUVOO4aL3K/6wcD+NERqd0rrA5Vg06b42YhF6cFxeixsp9Riqg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/typescript-estree": "8.7.0" + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.44.0", + "@typescript-eslint/types": "8.44.0", + "@typescript-eslint/typescript-estree": "8.44.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -616,17 +1049,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", - "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.44.0.tgz", + "integrity": "sha512-zaz9u8EJ4GBmnehlrpoKvj/E3dNbuQ7q0ucyZImm3cLqJ8INTc970B1qEqDX/Rzq65r3TvVTN7kHWPBoyW7DWw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.7.0", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.44.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -636,10 +1070,23 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@vitest/coverage-c8": { "version": "0.30.1", "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.30.1.tgz", "integrity": "sha512-/Wa3dtSuckpdngAmiCwowaEXXgJkqPrtfvrs9HTB9QoEfNbZWPu4E4cjEn4lJZb4qcGf4fxFtUA2f9DnDNAzBA==", + "deprecated": "v8 coverage is moved to @vitest/coverage-v8 package", "dev": true, "dependencies": { "c8": "^7.13.0", @@ -676,6 +1123,33 @@ "pathe": "^1.1.0" } }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@vitest/snapshot": { "version": "0.30.1", "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.30.1.tgz", @@ -687,18 +1161,6 @@ "pretty-format": "^27.5.1" } }, - "node_modules/@vitest/snapshot/node_modules/magic-string": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@vitest/spy": { "version": "0.30.1", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.30.1.tgz", @@ -720,9 +1182,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -741,10 +1203,13 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -766,27 +1231,33 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-sequence-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", - "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.3.tgz", + "integrity": "sha512-+fksAx9eG3Ab6LDnLs3ZqZa8KVJ/jYnX+D4Qe1azX+LFGFAXqynCQLOdLpNYN/l9e7l6hMWwZbrnctqr6eSQSw==", "dev": true }, "node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -855,9 +1326,9 @@ "dev": true }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "dependencies": { "balanced-match": "^1.0.0" @@ -900,9 +1371,9 @@ } }, "node_modules/c8": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.13.0.tgz", - "integrity": "sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-7.14.0.tgz", + "integrity": "sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", @@ -925,44 +1396,6 @@ "node": ">=10.12.0" } }, - "node_modules/c8/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/c8/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -982,18 +1415,18 @@ } }, "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" @@ -1015,21 +1448,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -1043,10 +1461,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -1064,9 +1485,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "dev": true, "engines": { "node": ">=6" @@ -1076,17 +1497,72 @@ } }, "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", + "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/clone": { @@ -1142,20 +1618,20 @@ } }, "node_modules/concurrently": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.0.1.tgz", - "integrity": "sha512-Sh8bGQMEL0TAmAm2meAXMjcASHZa7V0xXQVDBLknCPa9TPtkY9yYs+0cnGGgfdkW0SV1Mlg+hVGfXcoI8d3MJA==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", + "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", "dev": true, "dependencies": { "chalk": "^4.1.2", - "date-fns": "^2.29.3", + "date-fns": "^2.30.0", "lodash": "^4.17.21", - "rxjs": "^7.8.0", - "shell-quote": "^1.8.0", - "spawn-command": "0.0.2-1", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "spawn-command": "0.0.2", "supports-color": "^8.1.1", "tree-kill": "^1.2.2", - "yargs": "^17.7.1" + "yargs": "^17.7.2" }, "bin": { "conc": "dist/bin/concurrently.js", @@ -1168,16 +1644,121 @@ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/concurrently/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/concurrently/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "dependencies": { "path-key": "^3.1.0", @@ -1216,12 +1797,12 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1233,9 +1814,9 @@ } }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, "dependencies": { "type-detect": "^4.0.0" @@ -1263,60 +1844,132 @@ } }, "node_modules/dpdm": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/dpdm/-/dpdm-3.13.1.tgz", - "integrity": "sha512-rOeD39dKoiqdzyFpXjCzEbGuER4xpKLnYjF+NMTx981K1moY1G/iW3FLLMV1VfvredmK1aXI+qAulRA13mFxQg==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/dpdm/-/dpdm-3.14.0.tgz", + "integrity": "sha512-YJzsFSyEtj88q5eTELg3UWU7TVZkG1dpbF4JDQ3t1b07xuzXmdoGeSz9TKOke1mUuOpWlk4q+pBh+aHzD6GBTg==", "dev": true, "dependencies": { "chalk": "^4.1.2", "fs-extra": "^11.1.1", - "glob": "^9.3.1", + "glob": "^10.3.4", "ora": "^5.4.1", - "tslib": "^2.5.0", - "typescript": "^5.0.2", - "yargs": "^17.7.1" + "tslib": "^2.6.2", + "typescript": "^5.2.2", + "yargs": "^17.7.2" }, "bin": { "dpdm": "lib/bin/dpdm.js" } }, - "node_modules/dpdm/node_modules/glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "node_modules/dpdm/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dpdm/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" + } + }, + "node_modules/dpdm/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/dpdm/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/dpdm/node_modules/minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "node_modules/dpdm/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8" + } + }, + "node_modules/dpdm/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/dpdm/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dpdm/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "node_modules/env-var": { @@ -1329,12 +1982,11 @@ } }, "node_modules/esbuild": { - "version": "0.17.16", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.16.tgz", - "integrity": "sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -1342,34 +1994,34 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.16", - "@esbuild/android-arm64": "0.17.16", - "@esbuild/android-x64": "0.17.16", - "@esbuild/darwin-arm64": "0.17.16", - "@esbuild/darwin-x64": "0.17.16", - "@esbuild/freebsd-arm64": "0.17.16", - "@esbuild/freebsd-x64": "0.17.16", - "@esbuild/linux-arm": "0.17.16", - "@esbuild/linux-arm64": "0.17.16", - "@esbuild/linux-ia32": "0.17.16", - "@esbuild/linux-loong64": "0.17.16", - "@esbuild/linux-mips64el": "0.17.16", - "@esbuild/linux-ppc64": "0.17.16", - "@esbuild/linux-riscv64": "0.17.16", - "@esbuild/linux-s390x": "0.17.16", - "@esbuild/linux-x64": "0.17.16", - "@esbuild/netbsd-x64": "0.17.16", - "@esbuild/openbsd-x64": "0.17.16", - "@esbuild/sunos-x64": "0.17.16", - "@esbuild/win32-arm64": "0.17.16", - "@esbuild/win32-ia32": "0.17.16", - "@esbuild/win32-x64": "0.17.16" + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -1388,31 +2040,32 @@ } }, "node_modules/eslint": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.11.1.tgz", - "integrity": "sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.6.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.11.1", - "@eslint/plugin-kit": "^0.2.0", + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz", + "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.36.0", + "@eslint/plugin-kit": "^0.3.5", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.2", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.1.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -1422,14 +2075,11 @@ "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -1450,9 +2100,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", - "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -1478,9 +2128,9 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -1488,9 +2138,9 @@ } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", - "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1499,6 +2149,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1512,14 +2171,14 @@ } }, "node_modules/espree": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", - "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "dependencies": { - "acorn": "^8.12.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.1.0" + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1529,9 +2188,9 @@ } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", - "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1594,22 +2253,22 @@ "dev": true }, "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -1630,8 +2289,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ==", - "license": "MIT" + "integrity": "sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -1640,9 +2298,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -1702,9 +2360,9 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "node_modules/foreground-child": { @@ -1721,9 +2379,9 @@ } }, "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -1741,11 +2399,11 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "license": "MIT", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -1773,29 +2431,29 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1813,32 +2471,38 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/glob/node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/glob/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/globals": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", - "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "engines": { "node": ">=18" @@ -1848,9 +2512,9 @@ } }, "node_modules/google-protobuf": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", - "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz", + "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==" }, "node_modules/graceful-fs": { "version": "4.2.11", @@ -1911,18 +2575,18 @@ ] }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "dependencies": { "parent-module": "^1.0.0", @@ -1948,6 +2612,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "dependencies": { "once": "^1.3.0", @@ -2008,15 +2673,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -2036,26 +2692,26 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { @@ -2071,9 +2727,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -2083,6 +2739,21 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/js-string-escape": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", @@ -2123,15 +2794,15 @@ "dev": true }, "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "dependencies": { "universalify": "^2.0.0" @@ -2218,19 +2889,18 @@ } }, "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "dependencies": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "license": "ISC", "engines": { "node": ">=12" } @@ -2239,38 +2909,37 @@ "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lzfjs": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lzfjs/-/lzfjs-1.0.1.tgz", "integrity": "sha512-P1x9feLT9xHg9OpfgWcDlWtndf7wYTJk5LgIeVE9tGo6CptVnDi34/mcT8REskWNdQCSiPGhSLQ80L7zTQXUVg==" }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/marked": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", @@ -2327,9 +2996,9 @@ } }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -2342,36 +3011,42 @@ } }, "node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/mlly": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.2.0.tgz", - "integrity": "sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", "dev": true, "dependencies": { - "acorn": "^8.8.2", - "pathe": "^1.1.0", - "pkg-types": "^1.0.2", - "ufo": "^1.1.1" + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" } }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -2456,37 +3131,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/ora/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/ora/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/p-locate/node_modules/p-limit": { + "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", @@ -2501,11 +3167,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { "node": ">=10" }, @@ -2513,6 +3182,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", @@ -2558,43 +3233,31 @@ } }, "node_modules/path-scurry": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz", - "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", - "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/pathe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", - "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, "node_modules/pathval": { @@ -2607,9 +3270,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "node_modules/picomatch": { @@ -2625,20 +3288,26 @@ } }, "node_modules/pkg-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", - "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "dev": true, "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.1.1", - "pathe": "^1.1.0" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true + }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -2655,9 +3324,9 @@ } ], "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -2701,6 +3370,27 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -2750,11 +3440,6 @@ "node": ">= 6" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2787,9 +3472,9 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "engines": { "iojs": ">=1.0.0", @@ -2800,6 +3485,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -2811,10 +3497,53 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/rollup": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz", - "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==", + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -2851,9 +3580,9 @@ } }, "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "dependencies": { "tslib": "^2.1.0" @@ -2880,9 +3609,9 @@ ] }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -2913,10 +3642,13 @@ } }, "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2955,18 +3687,18 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", "dev": true }, "node_modules/stackback": { @@ -2976,9 +3708,9 @@ "dev": true }, "node_modules/std-env": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", - "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true }, "node_modules/string_decoder": { @@ -2991,6 +3723,24 @@ } }, "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", @@ -3004,7 +3754,50 @@ "node": ">=8" } }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -3016,6 +3809,15 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3029,12 +3831,12 @@ } }, "node_modules/strip-literal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", - "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", "dev": true, "dependencies": { - "acorn": "^8.8.2" + "acorn": "^8.10.0" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -3070,15 +3872,36 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/test-exclude/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3091,12 +3914,6 @@ "node": "*" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, "node_modules/time-zone": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", @@ -3107,9 +3924,9 @@ } }, "node_modules/tinybench": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", - "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true }, "node_modules/tinypool": { @@ -3122,9 +3939,9 @@ } }, "node_modules/tinyspy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.0.tgz", - "integrity": "sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, "engines": { "node": ">=14.0.0" @@ -3152,21 +3969,21 @@ } }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, "node_modules/type-check": { @@ -3182,18 +3999,18 @@ } }, "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/typedoc": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.12.tgz", - "integrity": "sha512-F+qhkK2VoTweDXd1c42GS/By2DvI2uDF4/EpG424dTexSHdtCH52C6IcAvMA6jR3DzAWZjHpUOW+E02kyPNUNw==", + "version": "0.25.13", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz", + "integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==", "dev": true, "dependencies": { "lunr": "^2.3.9", @@ -3212,27 +4029,28 @@ } }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/typescript-eslint": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.7.0.tgz", - "integrity": "sha512-nEHbEYJyHwsuf7c3V3RS7Saq+1+la3i0ieR3qP0yjqWSzVmh8Drp47uOl9LjbPANac4S7EFSqvcYIKXUUwIfIQ==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.44.0.tgz", + "integrity": "sha512-ib7mCkYuIzYonCq9XWF5XNw+fkj2zg629PSa9KNIQ47RXFF763S5BIX4wqz1+FLPogTZoiw8KmCiRPRa8bL3qw==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "8.7.0", - "@typescript-eslint/parser": "8.7.0", - "@typescript-eslint/utils": "8.7.0" + "@typescript-eslint/eslint-plugin": "8.44.0", + "@typescript-eslint/parser": "8.44.0", + "@typescript-eslint/typescript-estree": "8.44.0", + "@typescript-eslint/utils": "8.44.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3241,22 +4059,27 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/ufo": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", - "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "engines": { "node": ">= 10.0.0" @@ -3278,36 +4101,36 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" } }, "node_modules/validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "version": "13.15.15", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz", + "integrity": "sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==", "engines": { "node": ">= 0.10" } }, "node_modules/vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", + "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", "dev": true, "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.23", - "rollup": "^3.21.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" }, "bin": { "vite": "bin/vite.js" @@ -3315,12 +4138,16 @@ "engines": { "node": "^14.18.0 || >=16.0.0" }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@types/node": ">= 14", "less": "*", + "lightningcss": "^1.21.0", "sass": "*", "stylus": "*", "sugarss": "*", @@ -3333,6 +4160,9 @@ "less": { "optional": true }, + "lightningcss": { + "optional": true + }, "sass": { "optional": true }, @@ -3449,18 +4279,6 @@ } } }, - "node_modules/vitest/node_modules/magic-string": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/vscode-oniguruma": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", @@ -3507,9 +4325,9 @@ } }, "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "dependencies": { "siginfo": "^2.0.0", @@ -3532,6 +4350,24 @@ } }, "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", @@ -3548,16 +4384,54 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -3579,2576 +4453,84 @@ } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "cliui": "^8.0.1", + "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^4.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=12" + "node": ">=10" } }, "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@esbuild/darwin-arm64": { - "version": "0.17.16", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz", - "integrity": "sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==", - "dev": true, - "optional": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" + "node": ">=8" } }, - "@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "@eslint/object-schema": "^2.1.4", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@eslint/core": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", - "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@eslint/js": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.11.1.tgz", - "integrity": "sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==", - "dev": true - }, - "@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", - "dev": true - }, - "@eslint/plugin-kit": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", - "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", - "dev": true, - "requires": { - "levn": "^0.4.1" - } - }, - "@formant/realtime-sdk": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@formant/realtime-sdk/-/realtime-sdk-1.4.5.tgz", - "integrity": "sha512-h+3fm/eguil2qVoNxnA+F5Spv/OBYrvLQVFyOmfmZd2PjMSqP8FUNUmy/wefQBVYmW1/XvX73HQa37JknMeNRQ==", - "dev": true, - "requires": { - "@types/generic-pool": "^3.8.1", - "@types/google-protobuf": "~3.7.0", - "env-var": "^7.4.0", - "generic-pool": "^3.9.0" - } - }, - "@formant/ui-sdk-realtime-player-core": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz", - "integrity": "sha512-RC8z90dMvtXDAnxnSLYH2d4m27SgPI7fJasMu4X98QEwo4eOg4yRXT5TNbnpdjI7bqARbaSlosWtc7ba8d42Ng==" - }, - "@formant/ui-sdk-realtime-player-core-worker": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz", - "integrity": "sha512-yQ0VJNdrFkTHRA9mBkmfBzrgSrdOTTukETtC1Jit2A5yj2B765IngA20Lf8ny6BePTsozHFk89KM5cU6MNuMmg==", - "requires": { - "@types/offscreencanvas": "^2019.6.4", - "h264decoder": "^1.0.0" + "engines": { + "node": ">=8" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", - "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", - "dev": true - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-AvCJx/HrfYHmOQRFdVvgKMplXfzTUizmh0tz9GFTpDePWgCY4uoKll84zKlaRoeiYiCr7c9ZnqSTzkl0BUVD6g==", - "dev": true - }, - "@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", - "dev": true - }, - "@types/chai-subset": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", - "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", - "dev": true, - "requires": { - "@types/chai": "*" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true - }, - "@types/fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha512-mky/O83TXmGY39P1H9YbUpjV6l6voRYlufqfFCvel8l1phuy8HRjdWc1rrPuN53ITBJlbyMSV6z3niOySO5pgQ==", - "dev": true - }, - "@types/generic-pool": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.3.tgz", - "integrity": "sha512-ZGnwaX+JGSCMnjf4/CmLkTjJwE5bnT45Z3y+3HvoYymKU5vPMCEZAFtrl3sBpg+rjFpEvhSBTJX7jfJArBKjYQ==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "requires": { - "generic-pool": "*" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } - }, - "@types/google-protobuf": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.7.4.tgz", - "integrity": "sha512-6PjMFKl13cgB4kRdYtvyjKl8VVa0PXS2IdVxHhQ8GEKbxBkyJtSbaIeK1eZGjDKN7dvUh4vkOvU9FMwYNv4GQQ==", - "dev": true - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "@types/node": { - "version": "18.16.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", - "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", - "dev": true - }, - "@types/offscreencanvas": { - "version": "2019.7.3", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", - "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==" - }, - "@types/pako": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.0.tgz", - "integrity": "sha512-10+iaz93qR5WYxTo+PMifD5TSxiOtdRaxBf7INGGXMQgTCu8Z/7GYWYFUOS3q/G0nE5boj1r4FEB+WSy7s5gbA==", - "dev": true - }, - "@types/validator": { - "version": "13.11.9", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.9.tgz", - "integrity": "sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz", - "integrity": "sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/type-utils": "8.7.0", - "@typescript-eslint/utils": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - } - }, - "@typescript-eslint/parser": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.7.0.tgz", - "integrity": "sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/typescript-estree": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", - "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz", - "integrity": "sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "8.7.0", - "@typescript-eslint/utils": "8.7.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - } - }, - "@typescript-eslint/types": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", - "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", - "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - } - }, - "@typescript-eslint/utils": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz", - "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/typescript-estree": "8.7.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", - "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.7.0", - "eslint-visitor-keys": "^3.4.3" - } - }, - "@vitest/coverage-c8": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.30.1.tgz", - "integrity": "sha512-/Wa3dtSuckpdngAmiCwowaEXXgJkqPrtfvrs9HTB9QoEfNbZWPu4E4cjEn4lJZb4qcGf4fxFtUA2f9DnDNAzBA==", - "dev": true, - "requires": { - "c8": "^7.13.0", - "picocolors": "^1.0.0", - "std-env": "^3.3.2" - } - }, - "@vitest/expect": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.30.1.tgz", - "integrity": "sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==", - "dev": true, - "requires": { - "@vitest/spy": "0.30.1", - "@vitest/utils": "0.30.1", - "chai": "^4.3.7" - } - }, - "@vitest/runner": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.30.1.tgz", - "integrity": "sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==", - "dev": true, - "requires": { - "@vitest/utils": "0.30.1", - "concordance": "^5.0.4", - "p-limit": "^4.0.0", - "pathe": "^1.1.0" - } - }, - "@vitest/snapshot": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.30.1.tgz", - "integrity": "sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==", - "dev": true, - "requires": { - "magic-string": "^0.30.0", - "pathe": "^1.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "magic-string": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - } - } - }, - "@vitest/spy": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.30.1.tgz", - "integrity": "sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==", - "dev": true, - "requires": { - "tinyspy": "^2.1.0" - } - }, - "@vitest/utils": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.30.1.tgz", - "integrity": "sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==", - "dev": true, - "requires": { - "concordance": "^5.0.4", - "loupe": "^2.3.6", - "pretty-format": "^27.5.1" - } - }, - "acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-sequence-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", - "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", - "dev": true - }, - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "blueimp-md5": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "c8": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.13.0.tgz", - "integrity": "sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@istanbuljs/schema": "^0.1.3", - "find-up": "^5.0.0", - "foreground-child": "^2.0.0", - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.1.4", - "rimraf": "^3.0.2", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } - } - }, - "cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "concordance": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", - "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", - "dev": true, - "requires": { - "date-time": "^3.1.0", - "esutils": "^2.0.3", - "fast-diff": "^1.2.0", - "js-string-escape": "^1.0.1", - "lodash": "^4.17.15", - "md5-hex": "^3.0.1", - "semver": "^7.3.2", - "well-known-symbols": "^2.0.0" - } - }, - "concurrently": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.0.1.tgz", - "integrity": "sha512-Sh8bGQMEL0TAmAm2meAXMjcASHZa7V0xXQVDBLknCPa9TPtkY9yYs+0cnGGgfdkW0SV1Mlg+hVGfXcoI8d3MJA==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "date-fns": "^2.29.3", - "lodash": "^4.17.21", - "rxjs": "^7.8.0", - "shell-quote": "^1.8.0", - "spawn-command": "0.0.2-1", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.1" - } - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "requires": { - "@babel/runtime": "^7.21.0" - } - }, - "date-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", - "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", - "dev": true, - "requires": { - "time-zone": "^1.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "dpdm": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/dpdm/-/dpdm-3.13.1.tgz", - "integrity": "sha512-rOeD39dKoiqdzyFpXjCzEbGuER4xpKLnYjF+NMTx981K1moY1G/iW3FLLMV1VfvredmK1aXI+qAulRA13mFxQg==", - "dev": true, - "requires": { - "chalk": "^4.1.2", - "fs-extra": "^11.1.1", - "glob": "^9.3.1", - "ora": "^5.4.1", - "tslib": "^2.5.0", - "typescript": "^5.0.2", - "yargs": "^17.7.1" - }, - "dependencies": { - "glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - } - }, - "minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "env-var": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/env-var/-/env-var-7.5.0.tgz", - "integrity": "sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA==", - "dev": true - }, - "esbuild": { - "version": "0.17.16", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.16.tgz", - "integrity": "sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.17.16", - "@esbuild/android-arm64": "0.17.16", - "@esbuild/android-x64": "0.17.16", - "@esbuild/darwin-arm64": "0.17.16", - "@esbuild/darwin-x64": "0.17.16", - "@esbuild/freebsd-arm64": "0.17.16", - "@esbuild/freebsd-x64": "0.17.16", - "@esbuild/linux-arm": "0.17.16", - "@esbuild/linux-arm64": "0.17.16", - "@esbuild/linux-ia32": "0.17.16", - "@esbuild/linux-loong64": "0.17.16", - "@esbuild/linux-mips64el": "0.17.16", - "@esbuild/linux-ppc64": "0.17.16", - "@esbuild/linux-riscv64": "0.17.16", - "@esbuild/linux-s390x": "0.17.16", - "@esbuild/linux-x64": "0.17.16", - "@esbuild/netbsd-x64": "0.17.16", - "@esbuild/openbsd-x64": "0.17.16", - "@esbuild/sunos-x64": "0.17.16", - "@esbuild/win32-arm64": "0.17.16", - "@esbuild/win32-ia32": "0.17.16", - "@esbuild/win32-x64": "0.17.16" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.11.1.tgz", - "integrity": "sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.6.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.11.1", - "@eslint/plugin-kit": "^0.2.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", - "@nodelib/fs.walk": "^1.2.8", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.2", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.1.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "eslint-visitor-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", - "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "eslint-scope": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", - "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", - "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", - "dev": true, - "requires": { - "acorn": "^8.12.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", - "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", - "dev": true - } - } - }, - "esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "requires": { - "flat-cache": "^4.0.0" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - } - }, - "flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "generic-pool": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", - "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", - "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", - "dev": true - }, - "google-protobuf": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", - "integrity": "sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==" - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "grpc-web": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/grpc-web/-/grpc-web-1.4.2.tgz", - "integrity": "sha512-gUxWq42l5ldaRplcKb4Pw5O4XBONWZgz3vxIIXnfIeJj8Jc3wYiq2O4c9xzx/NGbbPEej4rhI62C9eTENwLGNw==", - "dev": true - }, - "h264decoder": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/h264decoder/-/h264decoder-1.0.0.tgz", - "integrity": "sha512-uFoa7RPOjKia91ziteLynrDkoIIx17zfIhJbTy2SXAg/Eu89H8sFVDw9lpWv3i4evIO1QlCdjrub0f4kRIgtcQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "requires": { - "get-func-name": "^2.0.0" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" - }, - "lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true - }, - "lzfjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lzfjs/-/lzfjs-1.0.1.tgz", - "integrity": "sha512-P1x9feLT9xHg9OpfgWcDlWtndf7wYTJk5LgIeVE9tGo6CptVnDi34/mcT8REskWNdQCSiPGhSLQ80L7zTQXUVg==" - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true - }, - "md5-hex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", - "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", - "dev": true, - "requires": { - "blueimp-md5": "^2.10.0" - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "dev": true - }, - "mlly": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.2.0.tgz", - "integrity": "sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==", - "dev": true, - "requires": { - "acorn": "^8.8.2", - "pathe": "^1.1.0", - "pkg-types": "^1.0.2", - "ufo": "^1.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - } - }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-scurry": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz", - "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==", - "dev": true, - "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2" - }, - "dependencies": { - "lru-cache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", - "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", - "dev": true - }, - "minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", - "dev": true - } - } - }, - "pathe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz", - "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pkg-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.2.tgz", - "integrity": "sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==", - "dev": true, - "requires": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.1.1", - "pathe": "^1.1.0" - } - }, - "postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz", - "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true - }, - "shiki": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", - "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", - "dev": true, - "requires": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==", - "dev": true - }, - "stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true - }, - "std-env": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz", - "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "strip-literal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz", - "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==", - "dev": true, - "requires": { - "acorn": "^8.8.2" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==", - "dev": true - }, - "tinybench": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz", - "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==", - "dev": true - }, - "tinypool": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.4.0.tgz", - "integrity": "sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==", - "dev": true - }, - "tinyspy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.0.tgz", - "integrity": "sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "requires": {} - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "typedoc": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.12.tgz", - "integrity": "sha512-F+qhkK2VoTweDXd1c42GS/By2DvI2uDF4/EpG424dTexSHdtCH52C6IcAvMA6jR3DzAWZjHpUOW+E02kyPNUNw==", - "dev": true, - "requires": { - "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.3", - "shiki": "^0.14.7" - } - }, - "typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", - "dev": true - }, - "typescript-eslint": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.7.0.tgz", - "integrity": "sha512-nEHbEYJyHwsuf7c3V3RS7Saq+1+la3i0ieR3qP0yjqWSzVmh8Drp47uOl9LjbPANac4S7EFSqvcYIKXUUwIfIQ==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "8.7.0", - "@typescript-eslint/parser": "8.7.0", - "@typescript-eslint/utils": "8.7.0" - } - }, - "ufo": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", - "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - } - }, - "validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" - }, - "vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", - "dev": true, - "requires": { - "esbuild": "^0.17.5", - "fsevents": "~2.3.2", - "postcss": "^8.4.23", - "rollup": "^3.21.0" - } - }, - "vite-node": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.30.1.tgz", - "integrity": "sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==", - "dev": true, - "requires": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "mlly": "^1.2.0", - "pathe": "^1.1.0", - "picocolors": "^1.0.0", - "vite": "^3.0.0 || ^4.0.0" - } - }, - "vitest": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.30.1.tgz", - "integrity": "sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==", - "dev": true, - "requires": { - "@types/chai": "^4.3.4", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "@vitest/expect": "0.30.1", - "@vitest/runner": "0.30.1", - "@vitest/snapshot": "0.30.1", - "@vitest/spy": "0.30.1", - "@vitest/utils": "0.30.1", - "acorn": "^8.8.2", - "acorn-walk": "^8.2.0", - "cac": "^6.7.14", - "chai": "^4.3.7", - "concordance": "^5.0.4", - "debug": "^4.3.4", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.0", - "pathe": "^1.1.0", - "picocolors": "^1.0.0", - "source-map": "^0.6.1", - "std-env": "^3.3.2", - "strip-literal": "^1.0.1", - "tinybench": "^2.4.0", - "tinypool": "^0.4.0", - "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.30.1", - "why-is-node-running": "^2.2.2" - }, - "dependencies": { - "magic-string": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - } - } - }, - "vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "well-known-symbols": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", - "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", - "dev": true, - "requires": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - } - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true } } } diff --git a/packages/data-sdk/package.json b/packages/data-sdk/package.json index 09e5f7019..768473626 100644 --- a/packages/data-sdk/package.json +++ b/packages/data-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@formant/data-sdk", - "version": "1.80.8", + "version": "1.80.9", "description": "A library for getting data from Formant", "repository": { "type": "git", @@ -47,7 +47,7 @@ }, "devDependencies": { "@eslint/js": "^9.11.1", - "@formant/realtime-sdk": "^1.4.5", + "@formant/realtime-sdk": "^1.4.9", "@types/base-64": "^1.0.0", "@types/fast-json-stable-stringify": "=2.0.0", "@types/node": "^18.16.3",