@volcengine/veplayer-plugin 2.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +1 -0
  2. package/esm/flv.d.ts +3 -0
  3. package/esm/hls.d.ts +3 -0
  4. package/esm/index.d.ts +6 -0
  5. package/esm/index.development.css +63 -0
  6. package/esm/index.development.js +83150 -0
  7. package/esm/index.production.css +1 -0
  8. package/esm/index.production.js +26 -0
  9. package/esm/mp4.d.ts +3 -0
  10. package/esm/rtm.d.ts +3 -0
  11. package/esm/shaka.d.ts +3 -0
  12. package/esm/veplayer.plugin.flv.development.js +17622 -0
  13. package/esm/veplayer.plugin.flv.production.js +2 -0
  14. package/esm/veplayer.plugin.hls.development.js +21398 -0
  15. package/esm/veplayer.plugin.hls.production.js +2 -0
  16. package/esm/veplayer.plugin.mp4.development.js +33148 -0
  17. package/esm/veplayer.plugin.mp4.production.js +2 -0
  18. package/esm/veplayer.plugin.rtm.development.js +5469 -0
  19. package/esm/veplayer.plugin.rtm.production.js +2 -0
  20. package/esm/veplayer.plugin.shaka.development.js +15890 -0
  21. package/esm/veplayer.plugin.shaka.production.js +20 -0
  22. package/esm/veplayer.plugin.time.shift.development.css +63 -0
  23. package/esm/veplayer.plugin.time.shift.development.js +339 -0
  24. package/esm/veplayer.plugin.time.shift.production.css +1 -0
  25. package/esm/veplayer.plugin.time.shift.production.js +2 -0
  26. package/esm/veplayer.plugin.xgvideo.development.js +19094 -0
  27. package/esm/veplayer.plugin.xgvideo.production.js +2 -0
  28. package/esm/xgvideo.d.ts +3 -0
  29. package/package.json +155 -0
  30. package/umd/flv.d.ts +3 -0
  31. package/umd/hls.d.ts +3 -0
  32. package/umd/index.d.ts +6 -0
  33. package/umd/index.development.js +82776 -0
  34. package/umd/index.production.js +1 -0
  35. package/umd/mp4.d.ts +3 -0
  36. package/umd/rtm.d.ts +3 -0
  37. package/umd/shaka.d.ts +3 -0
  38. package/umd/veplayer.plugin.flv.development.js +17625 -0
  39. package/umd/veplayer.plugin.flv.production.js +1 -0
  40. package/umd/veplayer.plugin.hls.development.js +21402 -0
  41. package/umd/veplayer.plugin.hls.production.js +1 -0
  42. package/umd/veplayer.plugin.mp4.development.js +33152 -0
  43. package/umd/veplayer.plugin.mp4.production.js +1 -0
  44. package/umd/veplayer.plugin.rtm.development.js +5473 -0
  45. package/umd/veplayer.plugin.rtm.production.js +1 -0
  46. package/umd/veplayer.plugin.shaka.development.js +15894 -0
  47. package/umd/veplayer.plugin.shaka.production.js +1 -0
  48. package/umd/veplayer.plugin.time.shift.development.css +63 -0
  49. package/umd/veplayer.plugin.time.shift.development.js +342 -0
  50. package/umd/veplayer.plugin.time.shift.production.css +1 -0
  51. package/umd/veplayer.plugin.time.shift.production.js +1 -0
  52. package/umd/veplayer.plugin.xgvideo.development.js +19098 -0
  53. package/umd/veplayer.plugin.xgvideo.production.js +1 -0
  54. package/umd/xgvideo.d.ts +3 -0
@@ -0,0 +1,2 @@
1
+ var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var check$1=function(e){return e&&e.Math==Math&&e},global$19=check$1("object"==typeof globalThis&&globalThis)||check$1("object"==typeof window&&window)||check$1("object"==typeof self&&self)||check$1("object"==typeof commonjsGlobal&&commonjsGlobal)||function(){return this}()||commonjsGlobal||Function("return this")(),fails$1t=function(e){try{return!!e()}catch(e){return!0}},fails$1s=fails$1t,functionBindNative$1=!fails$1s((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),NATIVE_BIND$9=functionBindNative$1,FunctionPrototype$7=Function.prototype,apply$h=FunctionPrototype$7.apply,call$X=FunctionPrototype$7.call,functionApply$1="object"==typeof Reflect&&Reflect.apply||(NATIVE_BIND$9?call$X.bind(apply$h):function(){return call$X.apply(apply$h,arguments)}),NATIVE_BIND$8=functionBindNative$1,FunctionPrototype$6=Function.prototype,call$W=FunctionPrototype$6.call,uncurryThisWithBind$1=NATIVE_BIND$8&&FunctionPrototype$6.bind.bind(call$W,call$W),functionUncurryThis$1=NATIVE_BIND$8?uncurryThisWithBind$1:function(e){return function(){return call$W.apply(e,arguments)}},uncurryThis$1u=functionUncurryThis$1,toString$D=uncurryThis$1u({}.toString),stringSlice$h=uncurryThis$1u("".slice),classofRaw$5=function(e){return stringSlice$h(toString$D(e),8,-1)},classofRaw$4=classofRaw$5,uncurryThis$1t=functionUncurryThis$1,functionUncurryThisClause$1=function(e){if("Function"===classofRaw$4(e))return uncurryThis$1t(e)},documentAll$5="object"==typeof document&&document.all,IS_HTMLDDA$1=void 0===documentAll$5&&void 0!==documentAll$5,documentAll_1$1={all:documentAll$5,IS_HTMLDDA:IS_HTMLDDA$1},$documentAll$3=documentAll_1$1,documentAll$4=$documentAll$3.all,isCallable$W=$documentAll$3.IS_HTMLDDA?function(e){return"function"==typeof e||e===documentAll$4}:function(e){return"function"==typeof e},objectGetOwnPropertyDescriptor$1={},fails$1r=fails$1t,descriptors$1=!fails$1r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),NATIVE_BIND$7=functionBindNative$1,call$V=Function.prototype.call,functionCall$1=NATIVE_BIND$7?call$V.bind(call$V):function(){return call$V.apply(call$V,arguments)},objectPropertyIsEnumerable$1={},$propertyIsEnumerable$5={}.propertyIsEnumerable,getOwnPropertyDescriptor$i=Object.getOwnPropertyDescriptor,NASHORN_BUG$1=getOwnPropertyDescriptor$i&&!$propertyIsEnumerable$5.call({1:2},1);objectPropertyIsEnumerable$1.f=NASHORN_BUG$1?function(e){var t=getOwnPropertyDescriptor$i(this,e);return!!t&&t.enumerable}:$propertyIsEnumerable$5;var match$1,version$3,createPropertyDescriptor$g=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},uncurryThis$1s=functionUncurryThis$1,fails$1q=fails$1t,classof$y=classofRaw$5,$Object$9=Object,split$7=uncurryThis$1s("".split),indexedObject$1=fails$1q((function(){return!$Object$9("z").propertyIsEnumerable(0)}))?function(e){return"String"==classof$y(e)?split$7(e,""):$Object$9(e)}:$Object$9,isNullOrUndefined$g=function(e){return null==e},isNullOrUndefined$f=isNullOrUndefined$g,$TypeError$E=TypeError,requireObjectCoercible$k=function(e){if(isNullOrUndefined$f(e))throw $TypeError$E("Can't call method on "+e);return e},IndexedObject$9=indexedObject$1,requireObjectCoercible$j=requireObjectCoercible$k,toIndexedObject$q=function(e){return IndexedObject$9(requireObjectCoercible$j(e))},isCallable$V=isCallable$W,$documentAll$2=documentAll_1$1,documentAll$3=$documentAll$2.all,isObject$M=$documentAll$2.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:isCallable$V(e)||e===documentAll$3}:function(e){return"object"==typeof e?null!==e:isCallable$V(e)},path$A={},path$z=path$A,global$18=global$19,isCallable$U=isCallable$W,aFunction$1=function(e){return isCallable$U(e)?e:void 0},getBuiltIn$v=function(e,t){return arguments.length<2?aFunction$1(path$z[e])||aFunction$1(global$18[e]):path$z[e]&&path$z[e][t]||global$18[e]&&global$18[e][t]},uncurryThis$1r=functionUncurryThis$1,objectIsPrototypeOf$1=uncurryThis$1r({}.isPrototypeOf),engineUserAgent$1="undefined"!=typeof navigator&&String(navigator.userAgent)||"",global$17=global$19,userAgent$e=engineUserAgent$1,process$9=global$17.process,Deno$2=global$17.Deno,versions$1=process$9&&process$9.versions||Deno$2&&Deno$2.version,v8$1=versions$1&&versions$1.v8;v8$1&&(version$3=(match$1=v8$1.split("."))[0]>0&&match$1[0]<4?1:+(match$1[0]+match$1[1])),!version$3&&userAgent$e&&(!(match$1=userAgent$e.match(/Edge\/(\d+)/))||match$1[1]>=74)&&(match$1=userAgent$e.match(/Chrome\/(\d+)/))&&(version$3=+match$1[1]);var engineV8Version$1=version$3,V8_VERSION$7=engineV8Version$1,fails$1p=fails$1t,global$16=global$19,$String$a=global$16.String,symbolConstructorDetection$1=!!Object.getOwnPropertySymbols&&!fails$1p((function(){var e=Symbol();return!$String$a(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&V8_VERSION$7&&V8_VERSION$7<41})),NATIVE_SYMBOL$c=symbolConstructorDetection$1,useSymbolAsUid$1=NATIVE_SYMBOL$c&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,getBuiltIn$u=getBuiltIn$v,isCallable$T=isCallable$W,isPrototypeOf$C=objectIsPrototypeOf$1,USE_SYMBOL_AS_UID$3=useSymbolAsUid$1,$Object$8=Object,isSymbol$c=USE_SYMBOL_AS_UID$3?function(e){return"symbol"==typeof e}:function(e){var t=getBuiltIn$u("Symbol");return isCallable$T(t)&&isPrototypeOf$C(t.prototype,$Object$8(e))},$String$9=String,tryToString$f=function(e){try{return $String$9(e)}catch(e){return"Object"}},isCallable$S=isCallable$W,tryToString$e=tryToString$f,$TypeError$D=TypeError,aCallable$v=function(e){if(isCallable$S(e))return e;throw $TypeError$D(tryToString$e(e)+" is not a function")},aCallable$u=aCallable$v,isNullOrUndefined$e=isNullOrUndefined$g,getMethod$a=function(e,t){var r=e[t];return isNullOrUndefined$e(r)?void 0:aCallable$u(r)},call$U=functionCall$1,isCallable$R=isCallable$W,isObject$L=isObject$M,$TypeError$C=TypeError,ordinaryToPrimitive$3=function(e,t){var r,n;if("string"===t&&isCallable$R(r=e.toString)&&!isObject$L(n=call$U(r,e)))return n;if(isCallable$R(r=e.valueOf)&&!isObject$L(n=call$U(r,e)))return n;if("string"!==t&&isCallable$R(r=e.toString)&&!isObject$L(n=call$U(r,e)))return n;throw $TypeError$C("Can't convert object to primitive value")},shared$f={exports:{}},isPure$1=!0,global$15=global$19,defineProperty$u=Object.defineProperty,defineGlobalProperty$5=function(e,t){try{defineProperty$u(global$15,e,{value:t,configurable:!0,writable:!0})}catch(r){global$15[e]=t}return t},global$14=global$19,defineGlobalProperty$4=defineGlobalProperty$5,SHARED$1="__core-js_shared__",store$7=global$14[SHARED$1]||defineGlobalProperty$4(SHARED$1,{}),sharedStore$1=store$7,store$6=sharedStore$1;(shared$f.exports=function(e,t){return store$6[e]||(store$6[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.30.2",mode:"pure",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE",source:"https://github.com/zloirock/core-js"});var sharedExports$1=shared$f.exports,requireObjectCoercible$i=requireObjectCoercible$k,$Object$7=Object,toObject$v=function(e){return $Object$7(requireObjectCoercible$i(e))},uncurryThis$1q=functionUncurryThis$1,toObject$u=toObject$v,hasOwnProperty$3=uncurryThis$1q({}.hasOwnProperty),hasOwnProperty_1$1=Object.hasOwn||function(e,t){return hasOwnProperty$3(toObject$u(e),t)},uncurryThis$1p=functionUncurryThis$1,id$3=0,postfix$1=Math.random(),toString$C=uncurryThis$1p(1..toString),uid$a=function(e){return"Symbol("+(void 0===e?"":e)+")_"+toString$C(++id$3+postfix$1,36)},global$13=global$19,shared$e=sharedExports$1,hasOwn$K=hasOwnProperty_1$1,uid$9=uid$a,NATIVE_SYMBOL$b=symbolConstructorDetection$1,USE_SYMBOL_AS_UID$2=useSymbolAsUid$1,Symbol$8=global$13.Symbol,WellKnownSymbolsStore$4=shared$e("wks"),createWellKnownSymbol$1=USE_SYMBOL_AS_UID$2?Symbol$8.for||Symbol$8:Symbol$8&&Symbol$8.withoutSetter||uid$9,wellKnownSymbol$U=function(e){return hasOwn$K(WellKnownSymbolsStore$4,e)||(WellKnownSymbolsStore$4[e]=NATIVE_SYMBOL$b&&hasOwn$K(Symbol$8,e)?Symbol$8[e]:createWellKnownSymbol$1("Symbol."+e)),WellKnownSymbolsStore$4[e]},call$T=functionCall$1,isObject$K=isObject$M,isSymbol$b=isSymbol$c,getMethod$9=getMethod$a,ordinaryToPrimitive$2=ordinaryToPrimitive$3,wellKnownSymbol$T=wellKnownSymbol$U,$TypeError$B=TypeError,TO_PRIMITIVE$1=wellKnownSymbol$T("toPrimitive"),toPrimitive$b=function(e,t){if(!isObject$K(e)||isSymbol$b(e))return e;var r,n=getMethod$9(e,TO_PRIMITIVE$1);if(n){if(void 0===t&&(t="default"),r=call$T(n,e,t),!isObject$K(r)||isSymbol$b(r))return r;throw $TypeError$B("Can't convert object to primitive value")}return void 0===t&&(t="number"),ordinaryToPrimitive$2(e,t)},toPrimitive$a=toPrimitive$b,isSymbol$a=isSymbol$c,toPropertyKey$a=function(e){var t=toPrimitive$a(e,"string");return isSymbol$a(t)?t:t+""},global$12=global$19,isObject$J=isObject$M,document$6=global$12.document,EXISTS$3=isObject$J(document$6)&&isObject$J(document$6.createElement),documentCreateElement$4=function(e){return EXISTS$3?document$6.createElement(e):{}},DESCRIPTORS$L=descriptors$1,fails$1o=fails$1t,createElement$3=documentCreateElement$4,ie8DomDefine$1=!DESCRIPTORS$L&&!fails$1o((function(){return 7!=Object.defineProperty(createElement$3("div"),"a",{get:function(){return 7}}).a})),DESCRIPTORS$K=descriptors$1,call$S=functionCall$1,propertyIsEnumerableModule$5=objectPropertyIsEnumerable$1,createPropertyDescriptor$f=createPropertyDescriptor$g,toIndexedObject$p=toIndexedObject$q,toPropertyKey$9=toPropertyKey$a,hasOwn$J=hasOwnProperty_1$1,IE8_DOM_DEFINE$3=ie8DomDefine$1,$getOwnPropertyDescriptor$5=Object.getOwnPropertyDescriptor;objectGetOwnPropertyDescriptor$1.f=DESCRIPTORS$K?$getOwnPropertyDescriptor$5:function(e,t){if(e=toIndexedObject$p(e),t=toPropertyKey$9(t),IE8_DOM_DEFINE$3)try{return $getOwnPropertyDescriptor$5(e,t)}catch(e){}if(hasOwn$J(e,t))return createPropertyDescriptor$f(!call$S(propertyIsEnumerableModule$5.f,e,t),e[t])};var fails$1n=fails$1t,isCallable$Q=isCallable$W,replacement$1=/#|\.prototype\./,isForced$7=function(e,t){var r=data$1[normalize$1(e)];return r==POLYFILL$1||r!=NATIVE$1&&(isCallable$Q(t)?fails$1n(t):!!t)},normalize$1=isForced$7.normalize=function(e){return String(e).replace(replacement$1,".").toLowerCase()},data$1=isForced$7.data={},NATIVE$1=isForced$7.NATIVE="N",POLYFILL$1=isForced$7.POLYFILL="P",isForced_1$1=isForced$7,uncurryThis$1o=functionUncurryThisClause$1,aCallable$t=aCallable$v,NATIVE_BIND$6=functionBindNative$1,bind$F=functionUncurryThisClause$1(functionUncurryThisClause$1.bind),functionBindContext$1=function(e,t){return aCallable$t(e),void 0===t?e:NATIVE_BIND$6?bind$F(e,t):function(){return e.apply(t,arguments)}},objectDefineProperty$1={},DESCRIPTORS$J=descriptors$1,fails$1m=fails$1t,v8PrototypeDefineBug$1=DESCRIPTORS$J&&fails$1m((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),isObject$I=isObject$M,$String$8=String,$TypeError$A=TypeError,anObject$E=function(e){if(isObject$I(e))return e;throw $TypeError$A($String$8(e)+" is not an object")},DESCRIPTORS$I=descriptors$1,IE8_DOM_DEFINE$2=ie8DomDefine$1,V8_PROTOTYPE_DEFINE_BUG$3=v8PrototypeDefineBug$1,anObject$D=anObject$E,toPropertyKey$8=toPropertyKey$a,$TypeError$z=TypeError,$defineProperty$3=Object.defineProperty,$getOwnPropertyDescriptor$4=Object.getOwnPropertyDescriptor,ENUMERABLE$1="enumerable",CONFIGURABLE$3="configurable",WRITABLE$1="writable";objectDefineProperty$1.f=DESCRIPTORS$I?V8_PROTOTYPE_DEFINE_BUG$3?function(e,t,r){if(anObject$D(e),t=toPropertyKey$8(t),anObject$D(r),"function"==typeof e&&"prototype"===t&&"value"in r&&WRITABLE$1 in r&&!r[WRITABLE$1]){var n=$getOwnPropertyDescriptor$4(e,t);n&&n[WRITABLE$1]&&(e[t]=r.value,r={configurable:CONFIGURABLE$3 in r?r[CONFIGURABLE$3]:n[CONFIGURABLE$3],enumerable:ENUMERABLE$1 in r?r[ENUMERABLE$1]:n[ENUMERABLE$1],writable:!1})}return $defineProperty$3(e,t,r)}:$defineProperty$3:function(e,t,r){if(anObject$D(e),t=toPropertyKey$8(t),anObject$D(r),IE8_DOM_DEFINE$2)try{return $defineProperty$3(e,t,r)}catch(e){}if("get"in r||"set"in r)throw $TypeError$z("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var DESCRIPTORS$H=descriptors$1,definePropertyModule$c=objectDefineProperty$1,createPropertyDescriptor$e=createPropertyDescriptor$g,createNonEnumerableProperty$j=DESCRIPTORS$H?function(e,t,r){return definePropertyModule$c.f(e,t,createPropertyDescriptor$e(1,r))}:function(e,t,r){return e[t]=r,e},global$11=global$19,apply$g=functionApply$1,uncurryThis$1n=functionUncurryThisClause$1,isCallable$P=isCallable$W,getOwnPropertyDescriptor$h=objectGetOwnPropertyDescriptor$1.f,isForced$6=isForced_1$1,path$y=path$A,bind$E=functionBindContext$1,createNonEnumerableProperty$i=createNonEnumerableProperty$j,hasOwn$I=hasOwnProperty_1$1,wrapConstructor=function(e){var t=function(r,n,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(r);case 2:return new e(r,n)}return new e(r,n,i)}return apply$g(e,this,arguments)};return t.prototype=e.prototype,t},_export$1=function(e,t){var r,n,i,o,a,s,l,c,u,d=e.target,p=e.global,y=e.stat,h=e.proto,f=p?global$11:y?global$11[d]:(global$11[d]||{}).prototype,$=p?path$y:path$y[d]||createNonEnumerableProperty$i(path$y,d,{})[d],m=$.prototype;for(o in t)n=!(r=isForced$6(p?o:d+(y?".":"#")+o,e.forced))&&f&&hasOwn$I(f,o),s=$[o],n&&(l=e.dontCallGetSet?(u=getOwnPropertyDescriptor$h(f,o))&&u.value:f[o]),a=n&&l?l:t[o],n&&typeof s==typeof a||(c=e.bind&&n?bind$E(a,global$11):e.wrap&&n?wrapConstructor(a):h&&isCallable$P(a)?uncurryThis$1n(a):a,(e.sham||a&&a.sham||s&&s.sham)&&createNonEnumerableProperty$i(c,"sham",!0),createNonEnumerableProperty$i($,o,c),h&&(hasOwn$I(path$y,i=d+"Prototype")||createNonEnumerableProperty$i(path$y,i,{}),createNonEnumerableProperty$i(path$y[i],o,a),e.real&&m&&(r||!m[o])&&createNonEnumerableProperty$i(m,o,a)))},engineIsBun="function"==typeof Bun&&Bun&&"string"==typeof Bun.version,uncurryThis$1m=functionUncurryThis$1,arraySlice$l=uncurryThis$1m([].slice),$TypeError$y=TypeError,validateArgumentsLength$a=function(e,t){if(e<t)throw $TypeError$y("Not enough arguments");return e},global$10=global$19,apply$f=functionApply$1,isCallable$O=isCallable$W,ENGINE_IS_BUN=engineIsBun,USER_AGENT=engineUserAgent$1,arraySlice$k=arraySlice$l,validateArgumentsLength$9=validateArgumentsLength$a,Function$4=global$10.Function,WRAP=/MSIE .\./.test(USER_AGENT)||ENGINE_IS_BUN&&function(){var e=global$10.Bun.version.split(".");return e.length<3||0==e[0]&&(e[1]<3||3==e[1]&&0==e[2])}(),schedulersFix$3=function(e,t){var r=t?2:1;return WRAP?function(n,i){var o=validateArgumentsLength$9(arguments.length,1)>r,a=isCallable$O(n)?n:Function$4(n),s=o?arraySlice$k(arguments,r):[],l=o?function(){apply$f(a,this,s)}:a;return t?e(l,i):e(l)}:e},$$2n=_export$1,global$$=global$19,schedulersFix$2=schedulersFix$3,setInterval$6=schedulersFix$2(global$$.setInterval,!0);$$2n({global:!0,bind:!0,forced:global$$.setInterval!==setInterval$6},{setInterval:setInterval$6});var $$2m=_export$1,global$_=global$19,schedulersFix$1=schedulersFix$3,setTimeout$7=schedulersFix$1(global$_.setTimeout,!0);$$2m({global:!0,bind:!0,forced:global$_.setTimeout!==setTimeout$7},{setTimeout:setTimeout$7});var path$x=path$A,setTimeout$6=path$x.setTimeout,parent$2H=setTimeout$6,setTimeout$5=parent$2H,parent$2G=setTimeout$5,setTimeout$4=parent$2G,setTimeout$3=setTimeout$4,setTimeout$2=setTimeout$3,_setTimeout=getDefaultExportFromCjs(setTimeout$2),ceil$3=Math.ceil,floor$e=Math.floor,mathTrunc$1=Math.trunc||function(e){var t=+e;return(t>0?floor$e:ceil$3)(t)},trunc$9=mathTrunc$1,toIntegerOrInfinity$j=function(e){var t=+e;return t!=t||0===t?0:trunc$9(t)},toIntegerOrInfinity$i=toIntegerOrInfinity$j,min$c=Math.min,toLength$f=function(e){return e>0?min$c(toIntegerOrInfinity$i(e),9007199254740991):0},toLength$e=toLength$f,lengthOfArrayLike$v=function(e){return toLength$e(e.length)},classof$x=classofRaw$5,isArray$k=Array.isArray||function(e){return"Array"==classof$x(e)},wellKnownSymbol$S=wellKnownSymbol$U,TO_STRING_TAG$9=wellKnownSymbol$S("toStringTag"),test$4={};test$4[TO_STRING_TAG$9]="z";var toStringTagSupport$1="[object z]"===String(test$4),TO_STRING_TAG_SUPPORT$5=toStringTagSupport$1,isCallable$N=isCallable$W,classofRaw$3=classofRaw$5,wellKnownSymbol$R=wellKnownSymbol$U,TO_STRING_TAG$8=wellKnownSymbol$R("toStringTag"),$Object$6=Object,CORRECT_ARGUMENTS$1="Arguments"==classofRaw$3(function(){return arguments}()),tryGet$1=function(e,t){try{return e[t]}catch(e){}},classof$w=TO_STRING_TAG_SUPPORT$5?classofRaw$3:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=tryGet$1(t=$Object$6(e),TO_STRING_TAG$8))?r:CORRECT_ARGUMENTS$1?classofRaw$3(t):"Object"==(n=classofRaw$3(t))&&isCallable$N(t.callee)?"Arguments":n},uncurryThis$1l=functionUncurryThis$1,isCallable$M=isCallable$W,store$5=sharedStore$1,functionToString$3=uncurryThis$1l(Function.toString);isCallable$M(store$5.inspectSource)||(store$5.inspectSource=function(e){return functionToString$3(e)});var inspectSource$6=store$5.inspectSource,uncurryThis$1k=functionUncurryThis$1,fails$1l=fails$1t,isCallable$L=isCallable$W,classof$v=classof$w,getBuiltIn$t=getBuiltIn$v,inspectSource$5=inspectSource$6,noop$2=function(){},empty$1=[],construct$9=getBuiltIn$t("Reflect","construct"),constructorRegExp$1=/^\s*(?:class|function)\b/,exec$b=uncurryThis$1k(constructorRegExp$1.exec),INCORRECT_TO_STRING$1=!constructorRegExp$1.exec(noop$2),isConstructorModern$1=function(e){if(!isCallable$L(e))return!1;try{return construct$9(noop$2,empty$1,e),!0}catch(e){return!1}},isConstructorLegacy$1=function(e){if(!isCallable$L(e))return!1;switch(classof$v(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return INCORRECT_TO_STRING$1||!!exec$b(constructorRegExp$1,inspectSource$5(e))}catch(e){return!0}};isConstructorLegacy$1.sham=!0;var isConstructor$9=!construct$9||fails$1l((function(){var e;return isConstructorModern$1(isConstructorModern$1.call)||!isConstructorModern$1(Object)||!isConstructorModern$1((function(){e=!0}))||e}))?isConstructorLegacy$1:isConstructorModern$1,isArray$j=isArray$k,isConstructor$8=isConstructor$9,isObject$H=isObject$M,wellKnownSymbol$Q=wellKnownSymbol$U,SPECIES$c=wellKnownSymbol$Q("species"),$Array$8=Array,arraySpeciesConstructor$3=function(e){var t;return isArray$j(e)&&(t=e.constructor,(isConstructor$8(t)&&(t===$Array$8||isArray$j(t.prototype))||isObject$H(t)&&null===(t=t[SPECIES$c]))&&(t=void 0)),void 0===t?$Array$8:t},arraySpeciesConstructor$2=arraySpeciesConstructor$3,arraySpeciesCreate$7=function(e,t){return new(arraySpeciesConstructor$2(e))(0===t?0:t)},bind$D=functionBindContext$1,uncurryThis$1j=functionUncurryThis$1,IndexedObject$8=indexedObject$1,toObject$t=toObject$v,lengthOfArrayLike$u=lengthOfArrayLike$v,arraySpeciesCreate$6=arraySpeciesCreate$7,push$t=uncurryThis$1j([].push),createMethod$e=function(e){var t=1==e,r=2==e,n=3==e,i=4==e,o=6==e,a=7==e,s=5==e||o;return function(l,c,u,d){for(var p,y,h=toObject$t(l),f=IndexedObject$8(h),$=bind$D(c,u),m=lengthOfArrayLike$u(f),b=0,g=d||arraySpeciesCreate$6,S=t?g(l,m):r||a?g(l,0):void 0;m>b;b++)if((s||b in f)&&(y=$(p=f[b],b,h),e))if(t)S[b]=y;else if(y)switch(e){case 3:return!0;case 5:return p;case 6:return b;case 2:push$t(S,p)}else switch(e){case 4:return!1;case 7:push$t(S,p)}return o?-1:n||i?i:S}},arrayIteration$1={forEach:createMethod$e(0),map:createMethod$e(1),filter:createMethod$e(2),some:createMethod$e(3),every:createMethod$e(4),find:createMethod$e(5),findIndex:createMethod$e(6),filterReject:createMethod$e(7)},fails$1k=fails$1t,wellKnownSymbol$P=wellKnownSymbol$U,V8_VERSION$6=engineV8Version$1,SPECIES$b=wellKnownSymbol$P("species"),arrayMethodHasSpeciesSupport$b=function(e){return V8_VERSION$6>=51||!fails$1k((function(){var t=[];return(t.constructor={})[SPECIES$b]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},$$2l=_export$1,$filter$2=arrayIteration$1.filter,arrayMethodHasSpeciesSupport$a=arrayMethodHasSpeciesSupport$b,HAS_SPECIES_SUPPORT$7=arrayMethodHasSpeciesSupport$a("filter");$$2l({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$7},{filter:function(e){return $filter$2(this,e,arguments.length>1?arguments[1]:void 0)}});var path$w=path$A,entryVirtual$o=function(e){return path$w[e+"Prototype"]},entryVirtual$n=entryVirtual$o,filter$6=entryVirtual$n("Array").filter,isPrototypeOf$B=objectIsPrototypeOf$1,method$n=filter$6,ArrayPrototype$l=Array.prototype,filter$5=function(e){var t=e.filter;return e===ArrayPrototype$l||isPrototypeOf$B(ArrayPrototype$l,e)&&t===ArrayPrototype$l.filter?method$n:t},parent$2F=filter$5,filter$4=parent$2F,parent$2E=filter$4,filter$3=parent$2E,parent$2D=filter$3,filter$2=parent$2D,filter$1=filter$2,filter2=filter$1,_filterInstanceProperty=getDefaultExportFromCjs(filter2),$TypeError$x=TypeError,MAX_SAFE_INTEGER$1=9007199254740991,doesNotExceedSafeInteger$6=function(e){if(e>MAX_SAFE_INTEGER$1)throw $TypeError$x("Maximum allowed index exceeded");return e},toPropertyKey$7=toPropertyKey$a,definePropertyModule$b=objectDefineProperty$1,createPropertyDescriptor$d=createPropertyDescriptor$g,createProperty$c=function(e,t,r){var n=toPropertyKey$7(t);n in e?definePropertyModule$b.f(e,n,createPropertyDescriptor$d(0,r)):e[n]=r},$$2k=_export$1,fails$1j=fails$1t,isArray$i=isArray$k,isObject$G=isObject$M,toObject$s=toObject$v,lengthOfArrayLike$t=lengthOfArrayLike$v,doesNotExceedSafeInteger$5=doesNotExceedSafeInteger$6,createProperty$b=createProperty$c,arraySpeciesCreate$5=arraySpeciesCreate$7,arrayMethodHasSpeciesSupport$9=arrayMethodHasSpeciesSupport$b,wellKnownSymbol$O=wellKnownSymbol$U,V8_VERSION$5=engineV8Version$1,IS_CONCAT_SPREADABLE$1=wellKnownSymbol$O("isConcatSpreadable"),IS_CONCAT_SPREADABLE_SUPPORT$1=V8_VERSION$5>=51||!fails$1j((function(){var e=[];return e[IS_CONCAT_SPREADABLE$1]=!1,e.concat()[0]!==e})),isConcatSpreadable$1=function(e){if(!isObject$G(e))return!1;var t=e[IS_CONCAT_SPREADABLE$1];return void 0!==t?!!t:isArray$i(e)},FORCED$o=!IS_CONCAT_SPREADABLE_SUPPORT$1||!arrayMethodHasSpeciesSupport$9("concat");$$2k({target:"Array",proto:!0,arity:1,forced:FORCED$o},{concat:function(e){var t,r,n,i,o,a=toObject$s(this),s=arraySpeciesCreate$5(a,0),l=0;for(t=-1,n=arguments.length;t<n;t++)if(isConcatSpreadable$1(o=-1===t?a:arguments[t]))for(i=lengthOfArrayLike$t(o),doesNotExceedSafeInteger$5(l+i),r=0;r<i;r++,l++)r in o&&createProperty$b(s,l,o[r]);else doesNotExceedSafeInteger$5(l+1),createProperty$b(s,l++,o);return s.length=l,s}});var entryVirtual$m=entryVirtual$o,concat$e=entryVirtual$m("Array").concat,isPrototypeOf$A=objectIsPrototypeOf$1,method$m=concat$e,ArrayPrototype$k=Array.prototype,concat$d=function(e){var t=e.concat;return e===ArrayPrototype$k||isPrototypeOf$A(ArrayPrototype$k,e)&&t===ArrayPrototype$k.concat?method$m:t},parent$2C=concat$d,concat$c=parent$2C,parent$2B=concat$c,concat$b=parent$2B,parent$2A=concat$b,concat$a=parent$2A,concat$9=concat$a,concat$8=concat$9,_concatInstanceProperty=getDefaultExportFromCjs(concat$8),fails$1i=fails$1t,arrayMethodIsStrict$g=function(e,t){var r=[][e];return!!r&&fails$1i((function(){r.call(null,t||function(){return 1},1)}))},$$2j=_export$1,$every$2=arrayIteration$1.every,arrayMethodIsStrict$f=arrayMethodIsStrict$g,STRICT_METHOD$c=arrayMethodIsStrict$f("every");$$2j({target:"Array",proto:!0,forced:!STRICT_METHOD$c},{every:function(e){return $every$2(this,e,arguments.length>1?arguments[1]:void 0)}});var entryVirtual$l=entryVirtual$o,every$6=entryVirtual$l("Array").every,isPrototypeOf$z=objectIsPrototypeOf$1,method$l=every$6,ArrayPrototype$j=Array.prototype,every$5=function(e){var t=e.every;return e===ArrayPrototype$j||isPrototypeOf$z(ArrayPrototype$j,e)&&t===ArrayPrototype$j.every?method$l:t},parent$2z=every$5,every$4=parent$2z,parent$2y=every$4,every$3=parent$2y,parent$2x=every$3,every$2=parent$2x,every$1=every$2,every2=every$1,_everyInstanceProperty=getDefaultExportFromCjs(every2),toIntegerOrInfinity$h=toIntegerOrInfinity$j,max$8=Math.max,min$b=Math.min,toAbsoluteIndex$d=function(e,t){var r=toIntegerOrInfinity$h(e);return r<0?max$8(r+t,0):min$b(r,t)},toIndexedObject$o=toIndexedObject$q,toAbsoluteIndex$c=toAbsoluteIndex$d,lengthOfArrayLike$s=lengthOfArrayLike$v,createMethod$d=function(e){return function(t,r,n){var i,o=toIndexedObject$o(t),a=lengthOfArrayLike$s(o),s=toAbsoluteIndex$c(n,a);if(e&&r!=r){for(;a>s;)if((i=o[s++])!=i)return!0}else for(;a>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},arrayIncludes$1={includes:createMethod$d(!0),indexOf:createMethod$d(!1)},hiddenKeys$d={},uncurryThis$1i=functionUncurryThis$1,hasOwn$H=hasOwnProperty_1$1,toIndexedObject$n=toIndexedObject$q,indexOf$9=arrayIncludes$1.indexOf,hiddenKeys$c=hiddenKeys$d,push$s=uncurryThis$1i([].push),objectKeysInternal$1=function(e,t){var r,n=toIndexedObject$n(e),i=0,o=[];for(r in n)!hasOwn$H(hiddenKeys$c,r)&&hasOwn$H(n,r)&&push$s(o,r);for(;t.length>i;)hasOwn$H(n,r=t[i++])&&(~indexOf$9(o,r)||push$s(o,r));return o},enumBugKeys$7=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],internalObjectKeys$3=objectKeysInternal$1,enumBugKeys$6=enumBugKeys$7,objectKeys$9=Object.keys||function(e){return internalObjectKeys$3(e,enumBugKeys$6)},$$2i=_export$1,toObject$r=toObject$v,nativeKeys$1=objectKeys$9,fails$1h=fails$1t,FAILS_ON_PRIMITIVES$6=fails$1h((function(){nativeKeys$1(1)}));$$2i({target:"Object",stat:!0,forced:FAILS_ON_PRIMITIVES$6},{keys:function(e){return nativeKeys$1(toObject$r(e))}});var path$v=path$A,keys$h=path$v.Object.keys,parent$2w=keys$h,keys$g=parent$2w,parent$2v=keys$g,keys$f=parent$2v,parent$2u=keys$f,keys$e=parent$2u,keys$d=keys$e,keys$c=keys$d,_Object$keys=getDefaultExportFromCjs(keys$c),classof$u=classof$w,$String$7=String,toString$B=function(e){if("Symbol"===classof$u(e))throw TypeError("Cannot convert a Symbol value to a string");return $String$7(e)},uncurryThis$1h=functionUncurryThis$1,isArray$h=isArray$k,isCallable$K=isCallable$W,classof$t=classofRaw$5,toString$A=toString$B,push$r=uncurryThis$1h([].push),getJsonReplacerFunction=function(e){if(isCallable$K(e))return e;if(isArray$h(e)){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];"string"==typeof i?push$r(r,i):"number"!=typeof i&&"Number"!=classof$t(i)&&"String"!=classof$t(i)||push$r(r,toString$A(i))}var o=r.length,a=!0;return function(e,t){if(a)return a=!1,t;if(isArray$h(this))return t;for(var n=0;n<o;n++)if(r[n]===e)return t}}},$$2h=_export$1,getBuiltIn$s=getBuiltIn$v,apply$e=functionApply$1,call$R=functionCall$1,uncurryThis$1g=functionUncurryThis$1,fails$1g=fails$1t,isCallable$J=isCallable$W,isSymbol$9=isSymbol$c,arraySlice$j=arraySlice$l,getReplacerFunction=getJsonReplacerFunction,NATIVE_SYMBOL$a=symbolConstructorDetection$1,$String$6=String,$stringify$1=getBuiltIn$s("JSON","stringify"),exec$a=uncurryThis$1g(/./.exec),charAt$e=uncurryThis$1g("".charAt),charCodeAt$6=uncurryThis$1g("".charCodeAt),replace$d=uncurryThis$1g("".replace),numberToString$3=uncurryThis$1g(1..toString),tester$1=/[\uD800-\uDFFF]/g,low$1=/^[\uD800-\uDBFF]$/,hi$1=/^[\uDC00-\uDFFF]$/,WRONG_SYMBOLS_CONVERSION$1=!NATIVE_SYMBOL$a||fails$1g((function(){var e=getBuiltIn$s("Symbol")();return"[null]"!=$stringify$1([e])||"{}"!=$stringify$1({a:e})||"{}"!=$stringify$1(Object(e))})),ILL_FORMED_UNICODE$1=fails$1g((function(){return'"\\udf06\\ud834"'!==$stringify$1("\udf06\ud834")||'"\\udead"'!==$stringify$1("\udead")})),stringifyWithSymbolsFix$1=function(e,t){var r=arraySlice$j(arguments),n=getReplacerFunction(t);if(isCallable$J(n)||void 0!==e&&!isSymbol$9(e))return r[1]=function(e,t){if(isCallable$J(n)&&(t=call$R(n,this,$String$6(e),t)),!isSymbol$9(t))return t},apply$e($stringify$1,null,r)},fixIllFormed$1=function(e,t,r){var n=charAt$e(r,t-1),i=charAt$e(r,t+1);return exec$a(low$1,e)&&!exec$a(hi$1,i)||exec$a(hi$1,e)&&!exec$a(low$1,n)?"\\u"+numberToString$3(charCodeAt$6(e,0),16):e};$stringify$1&&$$2h({target:"JSON",stat:!0,arity:3,forced:WRONG_SYMBOLS_CONVERSION$1||ILL_FORMED_UNICODE$1},{stringify:function(e,t,r){var n=arraySlice$j(arguments),i=apply$e(WRONG_SYMBOLS_CONVERSION$1?stringifyWithSymbolsFix$1:$stringify$1,null,n);return ILL_FORMED_UNICODE$1&&"string"==typeof i?replace$d(i,tester$1,fixIllFormed$1):i}});var path$u=path$A,apply$d=functionApply$1;path$u.JSON||(path$u.JSON={stringify:JSON.stringify});var stringify$5=function(e,t,r){return apply$d(path$u.JSON.stringify,null,arguments)},parent$2t=stringify$5,stringify$4=parent$2t,parent$2s=stringify$4,stringify$3=parent$2s,parent$2r=stringify$3,stringify$2=parent$2r,stringify$1=stringify$2,stringify2=stringify$1,_JSON$stringify=getDefaultExportFromCjs(stringify2),$$2g=_export$1,uncurryThis$1f=functionUncurryThisClause$1,$indexOf$2=arrayIncludes$1.indexOf,arrayMethodIsStrict$e=arrayMethodIsStrict$g,nativeIndexOf$1=uncurryThis$1f([].indexOf),NEGATIVE_ZERO$3=!!nativeIndexOf$1&&1/nativeIndexOf$1([1],1,-0)<0,FORCED$n=NEGATIVE_ZERO$3||!arrayMethodIsStrict$e("indexOf");$$2g({target:"Array",proto:!0,forced:FORCED$n},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return NEGATIVE_ZERO$3?nativeIndexOf$1(this,e,t)||0:$indexOf$2(this,e,t)}});var entryVirtual$k=entryVirtual$o,indexOf$8=entryVirtual$k("Array").indexOf,isPrototypeOf$y=objectIsPrototypeOf$1,method$k=indexOf$8,ArrayPrototype$i=Array.prototype,indexOf$7=function(e){var t=e.indexOf;return e===ArrayPrototype$i||isPrototypeOf$y(ArrayPrototype$i,e)&&t===ArrayPrototype$i.indexOf?method$k:t},parent$2q=indexOf$7,indexOf$6=parent$2q,parent$2p=indexOf$6,indexOf$5=parent$2p,parent$2o=indexOf$5,indexOf$4=parent$2o,indexOf$3=indexOf$4,indexOf$2=indexOf$3,_indexOfInstanceProperty=getDefaultExportFromCjs(indexOf$2),uncurryThis$1e=functionUncurryThis$1,aCallable$s=aCallable$v,isObject$F=isObject$M,hasOwn$G=hasOwnProperty_1$1,arraySlice$i=arraySlice$l,NATIVE_BIND$5=functionBindNative$1,$Function$1=Function,concat$7=uncurryThis$1e([].concat),join$8=uncurryThis$1e([].join),factories$1={},construct$8=function(e,t,r){if(!hasOwn$G(factories$1,t)){for(var n=[],i=0;i<t;i++)n[i]="a["+i+"]";factories$1[t]=$Function$1("C,a","return new C("+join$8(n,",")+")")}return factories$1[t](e,r)},functionBind$1=NATIVE_BIND$5?$Function$1.bind:function(e){var t=aCallable$s(this),r=t.prototype,n=arraySlice$i(arguments,1),i=function(){var r=concat$7(n,arraySlice$i(arguments));return this instanceof i?construct$8(t,r.length,r):t.apply(e,r)};return isObject$F(r)&&(i.prototype=r),i},$$2f=_export$1,bind$C=functionBind$1;$$2f({target:"Function",proto:!0,forced:Function.bind!==bind$C},{bind:bind$C});var entryVirtual$j=entryVirtual$o,bind$B=entryVirtual$j("Function").bind,isPrototypeOf$x=objectIsPrototypeOf$1,method$j=bind$B,FunctionPrototype$5=Function.prototype,bind$A=function(e){var t=e.bind;return e===FunctionPrototype$5||isPrototypeOf$x(FunctionPrototype$5,e)&&t===FunctionPrototype$5.bind?method$j:t},parent$2n=bind$A,bind$z=parent$2n,parent$2m=bind$z,bind$y=parent$2m,parent$2l=bind$y,bind$x=parent$2l,bind$w=bind$x,_bindInstanceProperty$1=getDefaultExportFromCjs(bind$w),bind$v=bind$w,_bindInstanceProperty=getDefaultExportFromCjs(bind$v),$$2e=_export$1,$map$2=arrayIteration$1.map,arrayMethodHasSpeciesSupport$8=arrayMethodHasSpeciesSupport$b,HAS_SPECIES_SUPPORT$6=arrayMethodHasSpeciesSupport$8("map");$$2e({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$6},{map:function(e){return $map$2(this,e,arguments.length>1?arguments[1]:void 0)}});var set$a,get$b,has$3,entryVirtual$i=entryVirtual$o,map$d=entryVirtual$i("Array").map,isPrototypeOf$w=objectIsPrototypeOf$1,method$i=map$d,ArrayPrototype$h=Array.prototype,map$c=function(e){var t=e.map;return e===ArrayPrototype$h||isPrototypeOf$w(ArrayPrototype$h,e)&&t===ArrayPrototype$h.map?method$i:t},parent$2k=map$c,map$b=parent$2k,parent$2j=map$b,map$a=parent$2j,parent$2i=map$a,map$9=parent$2i,map$8=map$9,map$7=map$8,_mapInstanceProperty=getDefaultExportFromCjs(map$7),iterators$1={},global$Z=global$19,isCallable$I=isCallable$W,WeakMap$3=global$Z.WeakMap,weakMapBasicDetection$1=isCallable$I(WeakMap$3)&&/native code/.test(String(WeakMap$3)),shared$d=sharedExports$1,uid$8=uid$a,keys$b=shared$d("keys"),sharedKey$9=function(e){return keys$b[e]||(keys$b[e]=uid$8(e))},NATIVE_WEAK_MAP$1=weakMapBasicDetection$1,global$Y=global$19,isObject$E=isObject$M,createNonEnumerableProperty$h=createNonEnumerableProperty$j,hasOwn$F=hasOwnProperty_1$1,shared$c=sharedStore$1,sharedKey$8=sharedKey$9,hiddenKeys$b=hiddenKeys$d,OBJECT_ALREADY_INITIALIZED$1="Object already initialized",TypeError$c=global$Y.TypeError,WeakMap$2=global$Y.WeakMap,enforce$1=function(e){return has$3(e)?get$b(e):set$a(e,{})},getterFor$1=function(e){return function(t){var r;if(!isObject$E(t)||(r=get$b(t)).type!==e)throw TypeError$c("Incompatible receiver, "+e+" required");return r}};if(NATIVE_WEAK_MAP$1||shared$c.state){var store$4=shared$c.state||(shared$c.state=new WeakMap$2);store$4.get=store$4.get,store$4.has=store$4.has,store$4.set=store$4.set,set$a=function(e,t){if(store$4.has(e))throw TypeError$c(OBJECT_ALREADY_INITIALIZED$1);return t.facade=e,store$4.set(e,t),t},get$b=function(e){return store$4.get(e)||{}},has$3=function(e){return store$4.has(e)}}else{var STATE$1=sharedKey$8("state");hiddenKeys$b[STATE$1]=!0,set$a=function(e,t){if(hasOwn$F(e,STATE$1))throw TypeError$c(OBJECT_ALREADY_INITIALIZED$1);return t.facade=e,createNonEnumerableProperty$h(e,STATE$1,t),t},get$b=function(e){return hasOwn$F(e,STATE$1)?e[STATE$1]:{}},has$3=function(e){return hasOwn$F(e,STATE$1)}}var internalState$1={set:set$a,get:get$b,has:has$3,enforce:enforce$1,getterFor:getterFor$1},DESCRIPTORS$G=descriptors$1,hasOwn$E=hasOwnProperty_1$1,FunctionPrototype$4=Function.prototype,getDescriptor$1=DESCRIPTORS$G&&Object.getOwnPropertyDescriptor,EXISTS$2=hasOwn$E(FunctionPrototype$4,"name"),PROPER$1=EXISTS$2&&"something"===function(){}.name,CONFIGURABLE$2=EXISTS$2&&(!DESCRIPTORS$G||DESCRIPTORS$G&&getDescriptor$1(FunctionPrototype$4,"name").configurable),functionName$1={EXISTS:EXISTS$2,PROPER:PROPER$1,CONFIGURABLE:CONFIGURABLE$2},objectDefineProperties$1={},DESCRIPTORS$F=descriptors$1,V8_PROTOTYPE_DEFINE_BUG$2=v8PrototypeDefineBug$1,definePropertyModule$a=objectDefineProperty$1,anObject$C=anObject$E,toIndexedObject$m=toIndexedObject$q,objectKeys$8=objectKeys$9;objectDefineProperties$1.f=DESCRIPTORS$F&&!V8_PROTOTYPE_DEFINE_BUG$2?Object.defineProperties:function(e,t){anObject$C(e);for(var r,n=toIndexedObject$m(t),i=objectKeys$8(t),o=i.length,a=0;o>a;)definePropertyModule$a.f(e,r=i[a++],n[r]);return e};var activeXDocument$1,getBuiltIn$r=getBuiltIn$v,html$5=getBuiltIn$r("document","documentElement"),anObject$B=anObject$E,definePropertiesModule$3=objectDefineProperties$1,enumBugKeys$5=enumBugKeys$7,hiddenKeys$a=hiddenKeys$d,html$4=html$5,documentCreateElement$3=documentCreateElement$4,sharedKey$7=sharedKey$9,GT$1=">",LT$1="<",PROTOTYPE$4="prototype",SCRIPT$1="script",IE_PROTO$3=sharedKey$7("IE_PROTO"),EmptyConstructor$1=function(){},scriptTag$1=function(e){return LT$1+SCRIPT$1+GT$1+e+LT$1+"/"+SCRIPT$1+GT$1},NullProtoObjectViaActiveX$1=function(e){e.write(scriptTag$1("")),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObjectViaIFrame$1=function(){var e,t=documentCreateElement$3("iframe"),r="java"+SCRIPT$1+":";return t.style.display="none",html$4.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(scriptTag$1("document.F=Object")),e.close(),e.F},NullProtoObject$1=function(){try{activeXDocument$1=new ActiveXObject("htmlfile")}catch(e){}NullProtoObject$1="undefined"!=typeof document?document.domain&&activeXDocument$1?NullProtoObjectViaActiveX$1(activeXDocument$1):NullProtoObjectViaIFrame$1():NullProtoObjectViaActiveX$1(activeXDocument$1);for(var e=enumBugKeys$5.length;e--;)delete NullProtoObject$1[PROTOTYPE$4][enumBugKeys$5[e]];return NullProtoObject$1()};hiddenKeys$a[IE_PROTO$3]=!0;var IteratorPrototype$4,PrototypeOfArrayIteratorPrototype$1,arrayIterator$1,objectCreate$1=Object.create||function(e,t){var r;return null!==e?(EmptyConstructor$1[PROTOTYPE$4]=anObject$B(e),r=new EmptyConstructor$1,EmptyConstructor$1[PROTOTYPE$4]=null,r[IE_PROTO$3]=e):r=NullProtoObject$1(),void 0===t?r:definePropertiesModule$3.f(r,t)},fails$1f=fails$1t,correctPrototypeGetter$1=!fails$1f((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),hasOwn$D=hasOwnProperty_1$1,isCallable$H=isCallable$W,toObject$q=toObject$v,sharedKey$6=sharedKey$9,CORRECT_PROTOTYPE_GETTER$3=correctPrototypeGetter$1,IE_PROTO$2=sharedKey$6("IE_PROTO"),$Object$5=Object,ObjectPrototype$7=$Object$5.prototype,objectGetPrototypeOf$1=CORRECT_PROTOTYPE_GETTER$3?$Object$5.getPrototypeOf:function(e){var t=toObject$q(e);if(hasOwn$D(t,IE_PROTO$2))return t[IE_PROTO$2];var r=t.constructor;return isCallable$H(r)&&t instanceof r?r.prototype:t instanceof $Object$5?ObjectPrototype$7:null},createNonEnumerableProperty$g=createNonEnumerableProperty$j,defineBuiltIn$r=function(e,t,r,n){return n&&n.enumerable?e[t]=r:createNonEnumerableProperty$g(e,t,r),e},fails$1e=fails$1t,isCallable$G=isCallable$W,isObject$D=isObject$M,create$k=objectCreate$1,getPrototypeOf$d=objectGetPrototypeOf$1,defineBuiltIn$q=defineBuiltIn$r,wellKnownSymbol$N=wellKnownSymbol$U,ITERATOR$j=wellKnownSymbol$N("iterator"),BUGGY_SAFARI_ITERATORS$3=!1;[].keys&&("next"in(arrayIterator$1=[].keys())?(PrototypeOfArrayIteratorPrototype$1=getPrototypeOf$d(getPrototypeOf$d(arrayIterator$1)))!==Object.prototype&&(IteratorPrototype$4=PrototypeOfArrayIteratorPrototype$1):BUGGY_SAFARI_ITERATORS$3=!0);var NEW_ITERATOR_PROTOTYPE$1=!isObject$D(IteratorPrototype$4)||fails$1e((function(){var e={};return IteratorPrototype$4[ITERATOR$j].call(e)!==e}));isCallable$G((IteratorPrototype$4=NEW_ITERATOR_PROTOTYPE$1?{}:create$k(IteratorPrototype$4))[ITERATOR$j])||defineBuiltIn$q(IteratorPrototype$4,ITERATOR$j,(function(){return this}));var iteratorsCore$1={IteratorPrototype:IteratorPrototype$4,BUGGY_SAFARI_ITERATORS:BUGGY_SAFARI_ITERATORS$3},TO_STRING_TAG_SUPPORT$4=toStringTagSupport$1,classof$s=classof$w,objectToString$1=TO_STRING_TAG_SUPPORT$4?{}.toString:function(){return"[object "+classof$s(this)+"]"},TO_STRING_TAG_SUPPORT$3=toStringTagSupport$1,defineProperty$t=objectDefineProperty$1.f,createNonEnumerableProperty$f=createNonEnumerableProperty$j,hasOwn$C=hasOwnProperty_1$1,toString$z=objectToString$1,wellKnownSymbol$M=wellKnownSymbol$U,TO_STRING_TAG$7=wellKnownSymbol$M("toStringTag"),setToStringTag$i=function(e,t,r,n){if(e){var i=r?e:e.prototype;hasOwn$C(i,TO_STRING_TAG$7)||defineProperty$t(i,TO_STRING_TAG$7,{configurable:!0,value:t}),n&&!TO_STRING_TAG_SUPPORT$3&&createNonEnumerableProperty$f(i,"toString",toString$z)}},IteratorPrototype$3=iteratorsCore$1.IteratorPrototype,create$j=objectCreate$1,createPropertyDescriptor$c=createPropertyDescriptor$g,setToStringTag$h=setToStringTag$i,Iterators$a=iterators$1,returnThis$3=function(){return this},iteratorCreateConstructor$1=function(e,t,r,n){var i=t+" Iterator";return e.prototype=create$j(IteratorPrototype$3,{next:createPropertyDescriptor$c(+!n,r)}),setToStringTag$h(e,i,!1,!0),Iterators$a[i]=returnThis$3,e},uncurryThis$1d=functionUncurryThis$1,aCallable$r=aCallable$v,functionUncurryThisAccessor=function(e,t,r){try{return uncurryThis$1d(aCallable$r(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}},isCallable$F=isCallable$W,$String$5=String,$TypeError$w=TypeError,aPossiblePrototype$3=function(e){if("object"==typeof e||isCallable$F(e))return e;throw $TypeError$w("Can't set "+$String$5(e)+" as a prototype")},uncurryThisAccessor=functionUncurryThisAccessor,anObject$A=anObject$E,aPossiblePrototype$2=aPossiblePrototype$3,objectSetPrototypeOf$1=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=uncurryThisAccessor(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(e){}return function(r,n){return anObject$A(r),aPossiblePrototype$2(n),t?e(r,n):r.__proto__=n,r}}():void 0),$$2d=_export$1,call$Q=functionCall$1,FunctionName$2=functionName$1,createIteratorConstructor$3=iteratorCreateConstructor$1,getPrototypeOf$c=objectGetPrototypeOf$1,setToStringTag$g=setToStringTag$i,defineBuiltIn$p=defineBuiltIn$r,wellKnownSymbol$L=wellKnownSymbol$U,Iterators$9=iterators$1,IteratorsCore$1=iteratorsCore$1,PROPER_FUNCTION_NAME$5=FunctionName$2.PROPER;FunctionName$2.CONFIGURABLE,IteratorsCore$1.IteratorPrototype;var BUGGY_SAFARI_ITERATORS$2=IteratorsCore$1.BUGGY_SAFARI_ITERATORS,ITERATOR$i=wellKnownSymbol$L("iterator"),KEYS$1="keys",VALUES$1="values",ENTRIES$1="entries",returnThis$2=function(){return this},iteratorDefine$1=function(e,t,r,n,i,o,a){createIteratorConstructor$3(r,t,n);var s,l,c,u=function(e){if(e===i&&f)return f;if(!BUGGY_SAFARI_ITERATORS$2&&e in y)return y[e];switch(e){case KEYS$1:case VALUES$1:case ENTRIES$1:return function(){return new r(this,e)}}return function(){return new r(this)}},d=t+" Iterator",p=!1,y=e.prototype,h=y[ITERATOR$i]||y["@@iterator"]||i&&y[i],f=!BUGGY_SAFARI_ITERATORS$2&&h||u(i),$="Array"==t&&y.entries||h;if($&&(s=getPrototypeOf$c($.call(new e)))!==Object.prototype&&s.next&&(setToStringTag$g(s,d,!0,!0),Iterators$9[d]=returnThis$2),PROPER_FUNCTION_NAME$5&&i==VALUES$1&&h&&h.name!==VALUES$1&&(p=!0,f=function(){return call$Q(h,this)}),i)if(l={values:u(VALUES$1),keys:o?f:u(KEYS$1),entries:u(ENTRIES$1)},a)for(c in l)(BUGGY_SAFARI_ITERATORS$2||p||!(c in y))&&defineBuiltIn$p(y,c,l[c]);else $$2d({target:t,proto:!0,forced:BUGGY_SAFARI_ITERATORS$2||p},l);return a&&y[ITERATOR$i]!==f&&defineBuiltIn$p(y,ITERATOR$i,f,{name:i}),Iterators$9[t]=f,l},createIterResultObject$7=function(e,t){return{value:e,done:t}},toIndexedObject$l=toIndexedObject$q,Iterators$8=iterators$1,InternalStateModule$i=internalState$1;objectDefineProperty$1.f;var defineIterator$5=iteratorDefine$1,createIterResultObject$6=createIterResultObject$7,ARRAY_ITERATOR$1="Array Iterator",setInternalState$g=InternalStateModule$i.set,getInternalState$a=InternalStateModule$i.getterFor(ARRAY_ITERATOR$1);defineIterator$5(Array,"Array",(function(e,t){setInternalState$g(this,{type:ARRAY_ITERATOR$1,target:toIndexedObject$l(e),index:0,kind:t})}),(function(){var e=getInternalState$a(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,createIterResultObject$6(void 0,!0)):createIterResultObject$6("keys"==r?n:"values"==r?t[n]:[n,t[n]],!1)}),"values"),Iterators$8.Arguments=Iterators$8.Array;var domIterables$1={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},DOMIterables$6=domIterables$1,global$X=global$19,classof$r=classof$w,createNonEnumerableProperty$e=createNonEnumerableProperty$j,Iterators$7=iterators$1,wellKnownSymbol$K=wellKnownSymbol$U,TO_STRING_TAG$6=wellKnownSymbol$K("toStringTag");for(var COLLECTION_NAME$2 in DOMIterables$6){var Collection=global$X[COLLECTION_NAME$2],CollectionPrototype=Collection&&Collection.prototype;CollectionPrototype&&classof$r(CollectionPrototype)!==TO_STRING_TAG$6&&createNonEnumerableProperty$e(CollectionPrototype,TO_STRING_TAG$6,COLLECTION_NAME$2),Iterators$7[COLLECTION_NAME$2]=Iterators$7.Array}var $forEach$4=arrayIteration$1.forEach,arrayMethodIsStrict$d=arrayMethodIsStrict$g,STRICT_METHOD$b=arrayMethodIsStrict$d("forEach"),arrayForEach$1=STRICT_METHOD$b?[].forEach:function(e){return $forEach$4(this,e,arguments.length>1?arguments[1]:void 0)},$$2c=_export$1,forEach$c=arrayForEach$1;$$2c({target:"Array",proto:!0,forced:[].forEach!=arrayForEach$1},{forEach:arrayForEach$1});var entryVirtual$h=entryVirtual$o,forEach$b=entryVirtual$h("Array").forEach,parent$2h=forEach$b,forEach$a=parent$2h,classof$q=classof$w,hasOwn$B=hasOwnProperty_1$1,isPrototypeOf$v=objectIsPrototypeOf$1,method$h=forEach$a,ArrayPrototype$g=Array.prototype,DOMIterables$5={DOMTokenList:!0,NodeList:!0},forEach$9=function(e){var t=e.forEach;return e===ArrayPrototype$g||isPrototypeOf$v(ArrayPrototype$g,e)&&t===ArrayPrototype$g.forEach||hasOwn$B(DOMIterables$5,classof$q(e))?method$h:t},parent$2g=forEach$9,forEach$8=parent$2g,parent$2f=forEach$8,forEach$7=parent$2f,forEach$6=forEach$7,forEach$5=forEach$6,_forEachInstanceProperty=getDefaultExportFromCjs(forEach$5),objectGetOwnPropertySymbols$1={};objectGetOwnPropertySymbols$1.f=Object.getOwnPropertySymbols;var DESCRIPTORS$E=descriptors$1,uncurryThis$1c=functionUncurryThis$1,call$P=functionCall$1,fails$1d=fails$1t,objectKeys$7=objectKeys$9,getOwnPropertySymbolsModule$7=objectGetOwnPropertySymbols$1,propertyIsEnumerableModule$4=objectPropertyIsEnumerable$1,toObject$p=toObject$v,IndexedObject$7=indexedObject$1,$assign$1=Object.assign,defineProperty$s=Object.defineProperty,concat$6=uncurryThis$1c([].concat),objectAssign$1=!$assign$1||fails$1d((function(){if(DESCRIPTORS$E&&1!==$assign$1({b:1},$assign$1(defineProperty$s({},"a",{enumerable:!0,get:function(){defineProperty$s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach((function(e){t[e]=e})),7!=$assign$1({},e)[r]||objectKeys$7($assign$1({},t)).join("")!=n}))?function(e,t){for(var r=toObject$p(e),n=arguments.length,i=1,o=getOwnPropertySymbolsModule$7.f,a=propertyIsEnumerableModule$4.f;n>i;)for(var s,l=IndexedObject$7(arguments[i++]),c=o?concat$6(objectKeys$7(l),o(l)):objectKeys$7(l),u=c.length,d=0;u>d;)s=c[d++],DESCRIPTORS$E&&!call$P(a,l,s)||(r[s]=l[s]);return r}:$assign$1,$$2b=_export$1,assign$b=objectAssign$1;$$2b({target:"Object",stat:!0,arity:2,forced:Object.assign!==assign$b},{assign:assign$b});var path$t=path$A,assign$a=path$t.Object.assign,parent$2e=assign$a,assign$9=parent$2e,parent$2d=assign$9,assign$8=parent$2d,parent$2c=assign$8,assign$7=parent$2c,assign$6=assign$7,assign$5=assign$6,_Object$assign=getDefaultExportFromCjs(assign$5),objectGetOwnPropertyNames$1={},internalObjectKeys$2=objectKeysInternal$1,enumBugKeys$4=enumBugKeys$7,hiddenKeys$9=enumBugKeys$4.concat("length","prototype");objectGetOwnPropertyNames$1.f=Object.getOwnPropertyNames||function(e){return internalObjectKeys$2(e,hiddenKeys$9)};var getBuiltIn$q=getBuiltIn$v,uncurryThis$1b=functionUncurryThis$1,getOwnPropertyNamesModule$5=objectGetOwnPropertyNames$1,getOwnPropertySymbolsModule$6=objectGetOwnPropertySymbols$1,anObject$z=anObject$E,concat$5=uncurryThis$1b([].concat),ownKeys$8=getBuiltIn$q("Reflect","ownKeys")||function(e){var t=getOwnPropertyNamesModule$5.f(anObject$z(e)),r=getOwnPropertySymbolsModule$6.f;return r?concat$5(t,r(e)):t},hasOwn$A=hasOwnProperty_1$1,ownKeys$7=ownKeys$8,getOwnPropertyDescriptorModule$6=objectGetOwnPropertyDescriptor$1,definePropertyModule$9=objectDefineProperty$1,copyConstructorProperties$4=function(e,t,r){for(var n=ownKeys$7(t),i=definePropertyModule$9.f,o=getOwnPropertyDescriptorModule$6.f,a=0;a<n.length;a++){var s=n[a];hasOwn$A(e,s)||r&&hasOwn$A(r,s)||i(e,s,o(t,s))}},isObject$C=isObject$M,createNonEnumerableProperty$d=createNonEnumerableProperty$j,installErrorCause$1=function(e,t){isObject$C(t)&&"cause"in t&&createNonEnumerableProperty$d(e,"cause",t.cause)},uncurryThis$1a=functionUncurryThis$1,$Error$1=Error,replace$c=uncurryThis$1a("".replace),TEST=String($Error$1("zxcasd").stack),V8_OR_CHAKRA_STACK_ENTRY=/\n\s*at [^:]*:[^\n]*/,IS_V8_OR_CHAKRA_STACK=V8_OR_CHAKRA_STACK_ENTRY.test(TEST),errorStackClear=function(e,t){if(IS_V8_OR_CHAKRA_STACK&&"string"==typeof e&&!$Error$1.prepareStackTrace)for(;t--;)e=replace$c(e,V8_OR_CHAKRA_STACK_ENTRY,"");return e},fails$1c=fails$1t,createPropertyDescriptor$b=createPropertyDescriptor$g,errorStackInstallable=!fails$1c((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",createPropertyDescriptor$b(1,7)),7!==e.stack)})),createNonEnumerableProperty$c=createNonEnumerableProperty$j,clearErrorStack=errorStackClear,ERROR_STACK_INSTALLABLE=errorStackInstallable,captureStackTrace=Error.captureStackTrace,errorStackInstall=function(e,t,r,n){ERROR_STACK_INSTALLABLE&&(captureStackTrace?captureStackTrace(e,t):createNonEnumerableProperty$c(e,"stack",clearErrorStack(r,n)))},wellKnownSymbol$J=wellKnownSymbol$U,Iterators$6=iterators$1,ITERATOR$h=wellKnownSymbol$J("iterator"),ArrayPrototype$f=Array.prototype,isArrayIteratorMethod$6=function(e){return void 0!==e&&(Iterators$6.Array===e||ArrayPrototype$f[ITERATOR$h]===e)},classof$p=classof$w,getMethod$8=getMethod$a,isNullOrUndefined$d=isNullOrUndefined$g,Iterators$5=iterators$1,wellKnownSymbol$I=wellKnownSymbol$U,ITERATOR$g=wellKnownSymbol$I("iterator"),getIteratorMethod$g=function(e){if(!isNullOrUndefined$d(e))return getMethod$8(e,ITERATOR$g)||getMethod$8(e,"@@iterator")||Iterators$5[classof$p(e)]},call$O=functionCall$1,aCallable$q=aCallable$v,anObject$y=anObject$E,tryToString$d=tryToString$f,getIteratorMethod$f=getIteratorMethod$g,$TypeError$v=TypeError,getIterator$e=function(e,t){var r=arguments.length<2?getIteratorMethod$f(e):t;if(aCallable$q(r))return anObject$y(call$O(r,e));throw $TypeError$v(tryToString$d(e)+" is not iterable")},call$N=functionCall$1,anObject$x=anObject$E,getMethod$7=getMethod$a,iteratorClose$5=function(e,t,r){var n,i;anObject$x(e);try{if(!(n=getMethod$7(e,"return"))){if("throw"===t)throw r;return r}n=call$N(n,e)}catch(e){i=!0,n=e}if("throw"===t)throw r;if(i)throw n;return anObject$x(n),r},bind$u=functionBindContext$1,call$M=functionCall$1,anObject$w=anObject$E,tryToString$c=tryToString$f,isArrayIteratorMethod$5=isArrayIteratorMethod$6,lengthOfArrayLike$r=lengthOfArrayLike$v,isPrototypeOf$u=objectIsPrototypeOf$1,getIterator$d=getIterator$e,getIteratorMethod$e=getIteratorMethod$g,iteratorClose$4=iteratorClose$5,$TypeError$u=TypeError,Result$1=function(e,t){this.stopped=e,this.result=t},ResultPrototype$1=Result$1.prototype,iterate$q=function(e,t,r){var n,i,o,a,s,l,c,u=r&&r.that,d=!(!r||!r.AS_ENTRIES),p=!(!r||!r.IS_RECORD),y=!(!r||!r.IS_ITERATOR),h=!(!r||!r.INTERRUPTED),f=bind$u(t,u),$=function(e){return n&&iteratorClose$4(n,"normal",e),new Result$1(!0,e)},m=function(e){return d?(anObject$w(e),h?f(e[0],e[1],$):f(e[0],e[1])):h?f(e,$):f(e)};if(p)n=e.iterator;else if(y)n=e;else{if(!(i=getIteratorMethod$e(e)))throw $TypeError$u(tryToString$c(e)+" is not iterable");if(isArrayIteratorMethod$5(i)){for(o=0,a=lengthOfArrayLike$r(e);a>o;o++)if((s=m(e[o]))&&isPrototypeOf$u(ResultPrototype$1,s))return s;return new Result$1(!1)}n=getIterator$d(e,i)}for(l=p?e.next:n.next;!(c=call$M(l,n)).done;){try{s=m(c.value)}catch(e){iteratorClose$4(n,"throw",e)}if("object"==typeof s&&s&&isPrototypeOf$u(ResultPrototype$1,s))return s}return new Result$1(!1)},toString$y=toString$B,normalizeStringArgument$1=function(e,t){return void 0===e?arguments.length<2?"":t:toString$y(e)},$$2a=_export$1,isPrototypeOf$t=objectIsPrototypeOf$1,getPrototypeOf$b=objectGetPrototypeOf$1,setPrototypeOf$d=objectSetPrototypeOf$1,copyConstructorProperties$3=copyConstructorProperties$4,create$i=objectCreate$1,createNonEnumerableProperty$b=createNonEnumerableProperty$j,createPropertyDescriptor$a=createPropertyDescriptor$g,installErrorCause=installErrorCause$1,installErrorStack=errorStackInstall,iterate$p=iterate$q,normalizeStringArgument=normalizeStringArgument$1,wellKnownSymbol$H=wellKnownSymbol$U,TO_STRING_TAG$5=wellKnownSymbol$H("toStringTag"),$Error=Error,push$q=[].push,$AggregateError=function(e,t){var r,n=isPrototypeOf$t(AggregateErrorPrototype,this);setPrototypeOf$d?r=setPrototypeOf$d($Error(),n?getPrototypeOf$b(this):AggregateErrorPrototype):(r=n?this:create$i(AggregateErrorPrototype),createNonEnumerableProperty$b(r,TO_STRING_TAG$5,"Error")),void 0!==t&&createNonEnumerableProperty$b(r,"message",normalizeStringArgument(t)),installErrorStack(r,$AggregateError,r.stack,1),arguments.length>2&&installErrorCause(r,arguments[2]);var i=[];return iterate$p(e,push$q,{that:i}),createNonEnumerableProperty$b(r,"errors",i),r};setPrototypeOf$d?setPrototypeOf$d($AggregateError,$Error):copyConstructorProperties$3($AggregateError,$Error,{name:!0});var AggregateErrorPrototype=$AggregateError.prototype=create$i($Error.prototype,{constructor:createPropertyDescriptor$a(1,$AggregateError),message:createPropertyDescriptor$a(1,""),name:createPropertyDescriptor$a(1,"AggregateError")});$$2a({global:!0,constructor:!0,arity:2},{AggregateError:$AggregateError});var $location$1,defer$1,channel$1,port$1,classof$o=classofRaw$5,engineIsNode$1="undefined"!=typeof process&&"process"==classof$o(process),defineProperty$r=objectDefineProperty$1,defineBuiltInAccessor$8=function(e,t,r){return defineProperty$r.f(e,t,r)},getBuiltIn$p=getBuiltIn$v,defineBuiltInAccessor$7=defineBuiltInAccessor$8,wellKnownSymbol$G=wellKnownSymbol$U,DESCRIPTORS$D=descriptors$1,SPECIES$a=wellKnownSymbol$G("species"),setSpecies$7=function(e){var t=getBuiltIn$p(e);DESCRIPTORS$D&&t&&!t[SPECIES$a]&&defineBuiltInAccessor$7(t,SPECIES$a,{configurable:!0,get:function(){return this}})},isPrototypeOf$s=objectIsPrototypeOf$1,$TypeError$t=TypeError,anInstance$d=function(e,t){if(isPrototypeOf$s(t,e))return e;throw $TypeError$t("Incorrect invocation")},isConstructor$7=isConstructor$9,tryToString$b=tryToString$f,$TypeError$s=TypeError,aConstructor$7=function(e){if(isConstructor$7(e))return e;throw $TypeError$s(tryToString$b(e)+" is not a constructor")},anObject$v=anObject$E,aConstructor$6=aConstructor$7,isNullOrUndefined$c=isNullOrUndefined$g,wellKnownSymbol$F=wellKnownSymbol$U,SPECIES$9=wellKnownSymbol$F("species"),speciesConstructor$8=function(e,t){var r,n=anObject$v(e).constructor;return void 0===n||isNullOrUndefined$c(r=anObject$v(n)[SPECIES$9])?t:aConstructor$6(r)},userAgent$d=engineUserAgent$1,engineIsIos$1=/(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$d),global$W=global$19,apply$c=functionApply$1,bind$t=functionBindContext$1,isCallable$E=isCallable$W,hasOwn$z=hasOwnProperty_1$1,fails$1b=fails$1t,html$3=html$5,arraySlice$h=arraySlice$l,createElement$2=documentCreateElement$4,validateArgumentsLength$8=validateArgumentsLength$a,IS_IOS$3=engineIsIos$1,IS_NODE$9=engineIsNode$1,set$9=global$W.setImmediate,clear$1=global$W.clearImmediate,process$8=global$W.process,Dispatch$1=global$W.Dispatch,Function$3=global$W.Function,MessageChannel$1=global$W.MessageChannel,String$2=global$W.String,counter$1=0,queue$4={},ONREADYSTATECHANGE$1="onreadystatechange";fails$1b((function(){$location$1=global$W.location}));var run$1=function(e){if(hasOwn$z(queue$4,e)){var t=queue$4[e];delete queue$4[e],t()}},runner$1=function(e){return function(){run$1(e)}},eventListener=function(e){run$1(e.data)},globalPostMessageDefer=function(e){global$W.postMessage(String$2(e),$location$1.protocol+"//"+$location$1.host)};set$9&&clear$1||(set$9=function(e){validateArgumentsLength$8(arguments.length,1);var t=isCallable$E(e)?e:Function$3(e),r=arraySlice$h(arguments,1);return queue$4[++counter$1]=function(){apply$c(t,void 0,r)},defer$1(counter$1),counter$1},clear$1=function(e){delete queue$4[e]},IS_NODE$9?defer$1=function(e){process$8.nextTick(runner$1(e))}:Dispatch$1&&Dispatch$1.now?defer$1=function(e){Dispatch$1.now(runner$1(e))}:MessageChannel$1&&!IS_IOS$3?(port$1=(channel$1=new MessageChannel$1).port2,channel$1.port1.onmessage=eventListener,defer$1=bind$t(port$1.postMessage,port$1)):global$W.addEventListener&&isCallable$E(global$W.postMessage)&&!global$W.importScripts&&$location$1&&"file:"!==$location$1.protocol&&!fails$1b(globalPostMessageDefer)?(defer$1=globalPostMessageDefer,global$W.addEventListener("message",eventListener,!1)):defer$1=ONREADYSTATECHANGE$1 in createElement$2("script")?function(e){html$3.appendChild(createElement$2("script"))[ONREADYSTATECHANGE$1]=function(){html$3.removeChild(this),run$1(e)}}:function(e){setTimeout(runner$1(e),0)});var task$3={set:set$9,clear:clear$1},Queue$4=function(){this.head=null,this.tail=null};Queue$4.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var notify$3,toggle$1,node$1,promise$7,then$1,queue$3=Queue$4,userAgent$c=engineUserAgent$1,engineIsIosPebble$1=/ipad|iphone|ipod/i.test(userAgent$c)&&"undefined"!=typeof Pebble,userAgent$b=engineUserAgent$1,engineIsWebosWebkit$1=/web0s(?!.*chrome)/i.test(userAgent$b),global$V=global$19,bind$s=functionBindContext$1,getOwnPropertyDescriptor$g=objectGetOwnPropertyDescriptor$1.f,macrotask$1=task$3.set,Queue$3=queue$3,IS_IOS$2=engineIsIos$1,IS_IOS_PEBBLE$1=engineIsIosPebble$1,IS_WEBOS_WEBKIT$1=engineIsWebosWebkit$1,IS_NODE$8=engineIsNode$1,MutationObserver$1=global$V.MutationObserver||global$V.WebKitMutationObserver,document$5=global$V.document,process$7=global$V.process,Promise$2=global$V.Promise,queueMicrotaskDescriptor$1=getOwnPropertyDescriptor$g(global$V,"queueMicrotask"),microtask$3=queueMicrotaskDescriptor$1&&queueMicrotaskDescriptor$1.value;if(!microtask$3){var queue$2=new Queue$3,flush$1=function(){var e,t;for(IS_NODE$8&&(e=process$7.domain)&&e.exit();t=queue$2.get();)try{t()}catch(e){throw queue$2.head&&notify$3(),e}e&&e.enter()};IS_IOS$2||IS_NODE$8||IS_WEBOS_WEBKIT$1||!MutationObserver$1||!document$5?!IS_IOS_PEBBLE$1&&Promise$2&&Promise$2.resolve?((promise$7=Promise$2.resolve(void 0)).constructor=Promise$2,then$1=bind$s(promise$7.then,promise$7),notify$3=function(){then$1(flush$1)}):IS_NODE$8?notify$3=function(){process$7.nextTick(flush$1)}:(macrotask$1=bind$s(macrotask$1,global$V),notify$3=function(){macrotask$1(flush$1)}):(toggle$1=!0,node$1=document$5.createTextNode(""),new MutationObserver$1(flush$1).observe(node$1,{characterData:!0}),notify$3=function(){node$1.data=toggle$1=!toggle$1}),microtask$3=function(e){queue$2.head||notify$3(),queue$2.add(e)}}var microtask_1=microtask$3,hostReportErrors$3=function(e,t){try{1==arguments.length?console.error(e):console.error(e,t)}catch(e){}},perform$a=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},global$U=global$19,promiseNativeConstructor$1=global$U.Promise,engineIsDeno$1="object"==typeof Deno&&Deno&&"object"==typeof Deno.version,IS_DENO$3=engineIsDeno$1,IS_NODE$7=engineIsNode$1,engineIsBrowser$1=!IS_DENO$3&&!IS_NODE$7&&"object"==typeof window&&"object"==typeof document,global$T=global$19,NativePromiseConstructor$a=promiseNativeConstructor$1,isCallable$D=isCallable$W,isForced$5=isForced_1$1,inspectSource$4=inspectSource$6,wellKnownSymbol$E=wellKnownSymbol$U,IS_BROWSER$1=engineIsBrowser$1,IS_DENO$2=engineIsDeno$1,V8_VERSION$4=engineV8Version$1,NativePromisePrototype$5=NativePromiseConstructor$a&&NativePromiseConstructor$a.prototype,SPECIES$8=wellKnownSymbol$E("species"),SUBCLASSING$1=!1,NATIVE_PROMISE_REJECTION_EVENT$3=isCallable$D(global$T.PromiseRejectionEvent),FORCED_PROMISE_CONSTRUCTOR$b=isForced$5("Promise",(function(){var e=inspectSource$4(NativePromiseConstructor$a),t=e!==String(NativePromiseConstructor$a);if(!t&&66===V8_VERSION$4)return!0;if(!NativePromisePrototype$5.catch||!NativePromisePrototype$5.finally)return!0;if(!V8_VERSION$4||V8_VERSION$4<51||!/native code/.test(e)){var r=new NativePromiseConstructor$a((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))};if((r.constructor={})[SPECIES$8]=n,!(SUBCLASSING$1=r.then((function(){}))instanceof n))return!0}return!t&&(IS_BROWSER$1||IS_DENO$2)&&!NATIVE_PROMISE_REJECTION_EVENT$3})),promiseConstructorDetection$1={CONSTRUCTOR:FORCED_PROMISE_CONSTRUCTOR$b,REJECTION_EVENT:NATIVE_PROMISE_REJECTION_EVENT$3,SUBCLASSING:SUBCLASSING$1},newPromiseCapability$5={},aCallable$p=aCallable$v,$TypeError$r=TypeError,PromiseCapability$1=function(e){var t,r;this.promise=new e((function(e,n){if(void 0!==t||void 0!==r)throw $TypeError$r("Bad Promise constructor");t=e,r=n})),this.resolve=aCallable$p(t),this.reject=aCallable$p(r)};newPromiseCapability$5.f=function(e){return new PromiseCapability$1(e)};var $$29=_export$1,IS_NODE$6=engineIsNode$1,global$S=global$19,call$L=functionCall$1,defineBuiltIn$o=defineBuiltIn$r,setToStringTag$f=setToStringTag$i,setSpecies$6=setSpecies$7,aCallable$o=aCallable$v,isCallable$C=isCallable$W,isObject$B=isObject$M,anInstance$c=anInstance$d,speciesConstructor$7=speciesConstructor$8,task$2=task$3.set,microtask$2=microtask_1,hostReportErrors$2=hostReportErrors$3,perform$9=perform$a,Queue$2=queue$3,InternalStateModule$h=internalState$1,NativePromiseConstructor$9=promiseNativeConstructor$1,PromiseConstructorDetection$1=promiseConstructorDetection$1,newPromiseCapabilityModule$a=newPromiseCapability$5,PROMISE$1="Promise",FORCED_PROMISE_CONSTRUCTOR$a=PromiseConstructorDetection$1.CONSTRUCTOR,NATIVE_PROMISE_REJECTION_EVENT$2=PromiseConstructorDetection$1.REJECTION_EVENT;PromiseConstructorDetection$1.SUBCLASSING;var Internal$1,OwnPromiseCapability$1,PromiseWrapper$1,getInternalPromiseState$1=InternalStateModule$h.getterFor(PROMISE$1),setInternalState$f=InternalStateModule$h.set,NativePromisePrototype$4=NativePromiseConstructor$9&&NativePromiseConstructor$9.prototype,PromiseConstructor$1=NativePromiseConstructor$9,PromisePrototype$1=NativePromisePrototype$4,TypeError$b=global$S.TypeError,document$4=global$S.document,process$6=global$S.process,newPromiseCapability$4=newPromiseCapabilityModule$a.f,newGenericPromiseCapability$1=newPromiseCapability$4,DISPATCH_EVENT$1=!!(document$4&&document$4.createEvent&&global$S.dispatchEvent),UNHANDLED_REJECTION$1="unhandledrejection",REJECTION_HANDLED$1="rejectionhandled",PENDING$1=0,FULFILLED$1=1,REJECTED$1=2,HANDLED$1=1,UNHANDLED$1=2,isThenable$1=function(e){var t;return!(!isObject$B(e)||!isCallable$C(t=e.then))&&t},callReaction$1=function(e,t){var r,n,i,o=t.value,a=t.state==FULFILLED$1,s=a?e.ok:e.fail,l=e.resolve,c=e.reject,u=e.domain;try{s?(a||(t.rejection===UNHANDLED$1&&onHandleUnhandled$1(t),t.rejection=HANDLED$1),!0===s?r=o:(u&&u.enter(),r=s(o),u&&(u.exit(),i=!0)),r===e.promise?c(TypeError$b("Promise-chain cycle")):(n=isThenable$1(r))?call$L(n,r,l,c):l(r)):c(o)}catch(e){u&&!i&&u.exit(),c(e)}},notify$2=function(e,t){e.notified||(e.notified=!0,microtask$2((function(){for(var r,n=e.reactions;r=n.get();)callReaction$1(r,e);e.notified=!1,t&&!e.rejection&&onUnhandled$1(e)})))},dispatchEvent$1=function(e,t,r){var n,i;DISPATCH_EVENT$1?((n=document$4.createEvent("Event")).promise=t,n.reason=r,n.initEvent(e,!1,!0),global$S.dispatchEvent(n)):n={promise:t,reason:r},!NATIVE_PROMISE_REJECTION_EVENT$2&&(i=global$S["on"+e])?i(n):e===UNHANDLED_REJECTION$1&&hostReportErrors$2("Unhandled promise rejection",r)},onUnhandled$1=function(e){call$L(task$2,global$S,(function(){var t,r=e.facade,n=e.value;if(isUnhandled$1(e)&&(t=perform$9((function(){IS_NODE$6?process$6.emit("unhandledRejection",n,r):dispatchEvent$1(UNHANDLED_REJECTION$1,r,n)})),e.rejection=IS_NODE$6||isUnhandled$1(e)?UNHANDLED$1:HANDLED$1,t.error))throw t.value}))},isUnhandled$1=function(e){return e.rejection!==HANDLED$1&&!e.parent},onHandleUnhandled$1=function(e){call$L(task$2,global$S,(function(){var t=e.facade;IS_NODE$6?process$6.emit("rejectionHandled",t):dispatchEvent$1(REJECTION_HANDLED$1,t,e.value)}))},bind$r=function(e,t,r){return function(n){e(t,n,r)}},internalReject$1=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=REJECTED$1,notify$2(e,!0))},internalResolve$1=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw TypeError$b("Promise can't be resolved itself");var n=isThenable$1(t);n?microtask$2((function(){var r={done:!1};try{call$L(n,t,bind$r(internalResolve$1,r,e),bind$r(internalReject$1,r,e))}catch(t){internalReject$1(r,t,e)}})):(e.value=t,e.state=FULFILLED$1,notify$2(e,!1))}catch(t){internalReject$1({done:!1},t,e)}}};FORCED_PROMISE_CONSTRUCTOR$a&&(PromisePrototype$1=(PromiseConstructor$1=function(e){anInstance$c(this,PromisePrototype$1),aCallable$o(e),call$L(Internal$1,this);var t=getInternalPromiseState$1(this);try{e(bind$r(internalResolve$1,t),bind$r(internalReject$1,t))}catch(e){internalReject$1(t,e)}}).prototype,(Internal$1=function(e){setInternalState$f(this,{type:PROMISE$1,done:!1,notified:!1,parent:!1,reactions:new Queue$2,rejection:!1,state:PENDING$1,value:void 0})}).prototype=defineBuiltIn$o(PromisePrototype$1,"then",(function(e,t){var r=getInternalPromiseState$1(this),n=newPromiseCapability$4(speciesConstructor$7(this,PromiseConstructor$1));return r.parent=!0,n.ok=!isCallable$C(e)||e,n.fail=isCallable$C(t)&&t,n.domain=IS_NODE$6?process$6.domain:void 0,r.state==PENDING$1?r.reactions.add(n):microtask$2((function(){callReaction$1(n,r)})),n.promise})),OwnPromiseCapability$1=function(){var e=new Internal$1,t=getInternalPromiseState$1(e);this.promise=e,this.resolve=bind$r(internalResolve$1,t),this.reject=bind$r(internalReject$1,t)},newPromiseCapabilityModule$a.f=newPromiseCapability$4=function(e){return e===PromiseConstructor$1||e===PromiseWrapper$1?new OwnPromiseCapability$1(e):newGenericPromiseCapability$1(e)}),$$29({global:!0,constructor:!0,wrap:!0,forced:FORCED_PROMISE_CONSTRUCTOR$a},{Promise:PromiseConstructor$1}),setToStringTag$f(PromiseConstructor$1,PROMISE$1,!1,!0),setSpecies$6(PROMISE$1);var wellKnownSymbol$D=wellKnownSymbol$U,ITERATOR$f=wellKnownSymbol$D("iterator"),SAFE_CLOSING$1=!1;try{var called$1=0,iteratorWithReturn$1={next:function(){return{done:!!called$1++}},return:function(){SAFE_CLOSING$1=!0}};iteratorWithReturn$1[ITERATOR$f]=function(){return this},Array.from(iteratorWithReturn$1,(function(){throw 2}))}catch(e){}var checkCorrectnessOfIteration$7=function(e,t){if(!t&&!SAFE_CLOSING$1)return!1;var r=!1;try{var n={};n[ITERATOR$f]=function(){return{next:function(){return{done:r=!0}}}},e(n)}catch(e){}return r},NativePromiseConstructor$8=promiseNativeConstructor$1,checkCorrectnessOfIteration$6=checkCorrectnessOfIteration$7,FORCED_PROMISE_CONSTRUCTOR$9=promiseConstructorDetection$1.CONSTRUCTOR,promiseStaticsIncorrectIteration$1=FORCED_PROMISE_CONSTRUCTOR$9||!checkCorrectnessOfIteration$6((function(e){NativePromiseConstructor$8.all(e).then(void 0,(function(){}))})),$$28=_export$1,call$K=functionCall$1,aCallable$n=aCallable$v,newPromiseCapabilityModule$9=newPromiseCapability$5,perform$8=perform$a,iterate$o=iterate$q,PROMISE_STATICS_INCORRECT_ITERATION$5=promiseStaticsIncorrectIteration$1;$$28({target:"Promise",stat:!0,forced:PROMISE_STATICS_INCORRECT_ITERATION$5},{all:function(e){var t=this,r=newPromiseCapabilityModule$9.f(t),n=r.resolve,i=r.reject,o=perform$8((function(){var r=aCallable$n(t.resolve),o=[],a=0,s=1;iterate$o(e,(function(e){var l=a++,c=!1;s++,call$K(r,t,e).then((function(e){c||(c=!0,o[l]=e,--s||n(o))}),i)})),--s||n(o)}));return o.error&&i(o.value),r.promise}});var $$27=_export$1,FORCED_PROMISE_CONSTRUCTOR$8=promiseConstructorDetection$1.CONSTRUCTOR,NativePromiseConstructor$7=promiseNativeConstructor$1;promiseNativeConstructor$1&&promiseNativeConstructor$1.prototype,$$27({target:"Promise",proto:!0,forced:FORCED_PROMISE_CONSTRUCTOR$8,real:!0},{catch:function(e){return this.then(void 0,e)}});var $$26=_export$1,call$J=functionCall$1,aCallable$m=aCallable$v,newPromiseCapabilityModule$8=newPromiseCapability$5,perform$7=perform$a,iterate$n=iterate$q,PROMISE_STATICS_INCORRECT_ITERATION$4=promiseStaticsIncorrectIteration$1;$$26({target:"Promise",stat:!0,forced:PROMISE_STATICS_INCORRECT_ITERATION$4},{race:function(e){var t=this,r=newPromiseCapabilityModule$8.f(t),n=r.reject,i=perform$7((function(){var i=aCallable$m(t.resolve);iterate$n(e,(function(e){call$J(i,t,e).then(r.resolve,n)}))}));return i.error&&n(i.value),r.promise}});var $$25=_export$1,call$I=functionCall$1,newPromiseCapabilityModule$7=newPromiseCapability$5,FORCED_PROMISE_CONSTRUCTOR$7=promiseConstructorDetection$1.CONSTRUCTOR;$$25({target:"Promise",stat:!0,forced:FORCED_PROMISE_CONSTRUCTOR$7},{reject:function(e){var t=newPromiseCapabilityModule$7.f(this);return call$I(t.reject,void 0,e),t.promise}});var anObject$u=anObject$E,isObject$A=isObject$M,newPromiseCapability$3=newPromiseCapability$5,promiseResolve$5=function(e,t){if(anObject$u(e),isObject$A(t)&&t.constructor===e)return t;var r=newPromiseCapability$3.f(e);return(0,r.resolve)(t),r.promise},$$24=_export$1,getBuiltIn$o=getBuiltIn$v,IS_PURE$2=isPure$1,NativePromiseConstructor$6=promiseNativeConstructor$1,FORCED_PROMISE_CONSTRUCTOR$6=promiseConstructorDetection$1.CONSTRUCTOR,promiseResolve$4=promiseResolve$5,PromiseConstructorWrapper=getBuiltIn$o("Promise"),CHECK_WRAPPER=!FORCED_PROMISE_CONSTRUCTOR$6;$$24({target:"Promise",stat:!0,forced:IS_PURE$2},{resolve:function(e){return promiseResolve$4(CHECK_WRAPPER&&this===PromiseConstructorWrapper?NativePromiseConstructor$6:this,e)}});var $$23=_export$1,call$H=functionCall$1,aCallable$l=aCallable$v,newPromiseCapabilityModule$6=newPromiseCapability$5,perform$6=perform$a,iterate$m=iterate$q,PROMISE_STATICS_INCORRECT_ITERATION$3=promiseStaticsIncorrectIteration$1;$$23({target:"Promise",stat:!0,forced:PROMISE_STATICS_INCORRECT_ITERATION$3},{allSettled:function(e){var t=this,r=newPromiseCapabilityModule$6.f(t),n=r.resolve,i=r.reject,o=perform$6((function(){var r=aCallable$l(t.resolve),i=[],o=0,a=1;iterate$m(e,(function(e){var s=o++,l=!1;a++,call$H(r,t,e).then((function(e){l||(l=!0,i[s]={status:"fulfilled",value:e},--a||n(i))}),(function(e){l||(l=!0,i[s]={status:"rejected",reason:e},--a||n(i))}))})),--a||n(i)}));return o.error&&i(o.value),r.promise}});var $$22=_export$1,call$G=functionCall$1,aCallable$k=aCallable$v,getBuiltIn$n=getBuiltIn$v,newPromiseCapabilityModule$5=newPromiseCapability$5,perform$5=perform$a,iterate$l=iterate$q,PROMISE_STATICS_INCORRECT_ITERATION$2=promiseStaticsIncorrectIteration$1,PROMISE_ANY_ERROR="No one promise resolved";$$22({target:"Promise",stat:!0,forced:PROMISE_STATICS_INCORRECT_ITERATION$2},{any:function(e){var t=this,r=getBuiltIn$n("AggregateError"),n=newPromiseCapabilityModule$5.f(t),i=n.resolve,o=n.reject,a=perform$5((function(){var n=aCallable$k(t.resolve),a=[],s=0,l=1,c=!1;iterate$l(e,(function(e){var u=s++,d=!1;l++,call$G(n,t,e).then((function(e){d||c||(c=!0,i(e))}),(function(e){d||c||(d=!0,a[u]=e,--l||o(new r(a,PROMISE_ANY_ERROR)))}))})),--l||o(new r(a,PROMISE_ANY_ERROR))}));return a.error&&o(a.value),n.promise}});var $$21=_export$1,NativePromiseConstructor$5=promiseNativeConstructor$1,fails$1a=fails$1t,getBuiltIn$m=getBuiltIn$v,isCallable$B=isCallable$W,speciesConstructor$6=speciesConstructor$8,promiseResolve$3=promiseResolve$5,NativePromisePrototype$3=NativePromiseConstructor$5&&NativePromiseConstructor$5.prototype,NON_GENERIC$1=!!NativePromiseConstructor$5&&fails$1a((function(){NativePromisePrototype$3.finally.call({then:function(){}},(function(){}))}));$$21({target:"Promise",proto:!0,real:!0,forced:NON_GENERIC$1},{finally:function(e){var t=speciesConstructor$6(this,getBuiltIn$m("Promise")),r=isCallable$B(e);return this.then(r?function(r){return promiseResolve$3(t,e()).then((function(){return r}))}:e,r?function(r){return promiseResolve$3(t,e()).then((function(){throw r}))}:e)}});var uncurryThis$19=functionUncurryThis$1,toIntegerOrInfinity$g=toIntegerOrInfinity$j,toString$x=toString$B,requireObjectCoercible$h=requireObjectCoercible$k,charAt$d=uncurryThis$19("".charAt),charCodeAt$5=uncurryThis$19("".charCodeAt),stringSlice$g=uncurryThis$19("".slice),createMethod$c=function(e){return function(t,r){var n,i,o=toString$x(requireObjectCoercible$h(t)),a=toIntegerOrInfinity$g(r),s=o.length;return a<0||a>=s?e?"":void 0:(n=charCodeAt$5(o,a))<55296||n>56319||a+1===s||(i=charCodeAt$5(o,a+1))<56320||i>57343?e?charAt$d(o,a):n:e?stringSlice$g(o,a,a+2):i-56320+(n-55296<<10)+65536}},stringMultibyte$1={codeAt:createMethod$c(!1),charAt:createMethod$c(!0)},charAt$c=stringMultibyte$1.charAt,toString$w=toString$B,InternalStateModule$g=internalState$1,defineIterator$4=iteratorDefine$1,createIterResultObject$5=createIterResultObject$7,STRING_ITERATOR$1="String Iterator",setInternalState$e=InternalStateModule$g.set,getInternalState$9=InternalStateModule$g.getterFor(STRING_ITERATOR$1);defineIterator$4(String,"String",(function(e){setInternalState$e(this,{type:STRING_ITERATOR$1,string:toString$w(e),index:0})}),(function(){var e,t=getInternalState$9(this),r=t.string,n=t.index;return n>=r.length?createIterResultObject$5(void 0,!0):(e=charAt$c(r,n),t.index+=e.length,createIterResultObject$5(e,!1))}));var path$s=path$A,promise$6=path$s.Promise,parent$2b=promise$6,promise$5=parent$2b,parent$2a=promise$5,promise$4=parent$2a,$$20=_export$1,newPromiseCapabilityModule$4=newPromiseCapability$5,perform$4=perform$a;$$20({target:"Promise",stat:!0,forced:!0},{try:function(e){var t=newPromiseCapabilityModule$4.f(this),r=perform$4(e);return(r.error?t.reject:t.resolve)(r.value),t.promise}});var parent$29=promise$4,promise$3=parent$29,promise$2=promise$3,promise$1=promise$2,_Promise=getDefaultExportFromCjs(promise$1),DESCRIPTORS$C=descriptors$1,isArray$g=isArray$k,$TypeError$q=TypeError,getOwnPropertyDescriptor$f=Object.getOwnPropertyDescriptor,SILENT_ON_NON_WRITABLE_LENGTH_SET$1=DESCRIPTORS$C&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}(),arraySetLength$1=SILENT_ON_NON_WRITABLE_LENGTH_SET$1?function(e,t){if(isArray$g(e)&&!getOwnPropertyDescriptor$f(e,"length").writable)throw $TypeError$q("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},tryToString$a=tryToString$f,$TypeError$p=TypeError,deletePropertyOrThrow$6=function(e,t){if(!delete e[t])throw $TypeError$p("Cannot delete property "+tryToString$a(t)+" of "+tryToString$a(e))},$$1$=_export$1,toObject$o=toObject$v,toAbsoluteIndex$b=toAbsoluteIndex$d,toIntegerOrInfinity$f=toIntegerOrInfinity$j,lengthOfArrayLike$q=lengthOfArrayLike$v,setArrayLength$2=arraySetLength$1,doesNotExceedSafeInteger$4=doesNotExceedSafeInteger$6,arraySpeciesCreate$4=arraySpeciesCreate$7,createProperty$a=createProperty$c,deletePropertyOrThrow$5=deletePropertyOrThrow$6,arrayMethodHasSpeciesSupport$7=arrayMethodHasSpeciesSupport$b,HAS_SPECIES_SUPPORT$5=arrayMethodHasSpeciesSupport$7("splice"),max$7=Math.max,min$a=Math.min;$$1$({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$5},{splice:function(e,t){var r,n,i,o,a,s,l=toObject$o(this),c=lengthOfArrayLike$q(l),u=toAbsoluteIndex$b(e,c),d=arguments.length;for(0===d?r=n=0:1===d?(r=0,n=c-u):(r=d-2,n=min$a(max$7(toIntegerOrInfinity$f(t),0),c-u)),doesNotExceedSafeInteger$4(c+r-n),i=arraySpeciesCreate$4(l,n),o=0;o<n;o++)(a=u+o)in l&&createProperty$a(i,o,l[a]);if(i.length=n,r<n){for(o=u;o<c-n;o++)s=o+r,(a=o+n)in l?l[s]=l[a]:deletePropertyOrThrow$5(l,s);for(o=c;o>c-n+r;o--)deletePropertyOrThrow$5(l,o-1)}else if(r>n)for(o=c-n;o>u;o--)s=o+r-1,(a=o+n-1)in l?l[s]=l[a]:deletePropertyOrThrow$5(l,s);for(o=0;o<r;o++)l[o+u]=arguments[o+2];return setArrayLength$2(l,c-n+r),i}});var entryVirtual$g=entryVirtual$o,splice$8=entryVirtual$g("Array").splice,isPrototypeOf$r=objectIsPrototypeOf$1,method$g=splice$8,ArrayPrototype$e=Array.prototype,splice$7=function(e){var t=e.splice;return e===ArrayPrototype$e||isPrototypeOf$r(ArrayPrototype$e,e)&&t===ArrayPrototype$e.splice?method$g:t},parent$28=splice$7,splice$6=parent$28,parent$27=splice$6,splice$5=parent$27,parent$26=splice$5,splice$4=parent$26,splice$3=splice$4,splice$2=splice$3,_spliceInstanceProperty=getDefaultExportFromCjs(splice$2),whitespaces$9="\t\n\v\f\r                 \u2028\u2029\ufeff",uncurryThis$18=functionUncurryThis$1,requireObjectCoercible$g=requireObjectCoercible$k,toString$v=toString$B,whitespaces$8=whitespaces$9,replace$b=uncurryThis$18("".replace),ltrim$1=RegExp("^["+whitespaces$8+"]+"),rtrim$1=RegExp("(^|[^"+whitespaces$8+"])["+whitespaces$8+"]+$"),createMethod$b=function(e){return function(t){var r=toString$v(requireObjectCoercible$g(t));return 1&e&&(r=replace$b(r,ltrim$1,"")),2&e&&(r=replace$b(r,rtrim$1,"$1")),r}},stringTrim$1={start:createMethod$b(1),end:createMethod$b(2),trim:createMethod$b(3)},global$R=global$19,fails$19=fails$1t,uncurryThis$17=functionUncurryThis$1,toString$u=toString$B,trim$b=stringTrim$1.trim,whitespaces$7=whitespaces$9,$parseInt$3=global$R.parseInt,Symbol$7=global$R.Symbol,ITERATOR$e=Symbol$7&&Symbol$7.iterator,hex$1=/^[+-]?0x/i,exec$9=uncurryThis$17(hex$1.exec),FORCED$m=8!==$parseInt$3(whitespaces$7+"08")||22!==$parseInt$3(whitespaces$7+"0x16")||ITERATOR$e&&!fails$19((function(){$parseInt$3(Object(ITERATOR$e))})),numberParseInt$1=FORCED$m?function(e,t){var r=trim$b(toString$u(e));return $parseInt$3(r,t>>>0||(exec$9(hex$1,r)?16:10))}:$parseInt$3,$$1_=_export$1,$parseInt$2=numberParseInt$1;$$1_({global:!0,forced:parseInt!=numberParseInt$1},{parseInt:numberParseInt$1});var path$r=path$A,_parseInt$6=path$r.parseInt,parent$25=_parseInt$6,_parseInt$5=parent$25,parent$24=_parseInt$5,_parseInt$4=parent$24,parent$23=_parseInt$4,_parseInt$3=parent$23,_parseInt$2=_parseInt$3,_parseInt=_parseInt$2,_parseInt$1=getDefaultExportFromCjs(_parseInt),objectGetOwnPropertyNamesExternal$1={},toAbsoluteIndex$a=toAbsoluteIndex$d,lengthOfArrayLike$p=lengthOfArrayLike$v,createProperty$9=createProperty$c,$Array$7=Array,max$6=Math.max,arraySliceSimple$1=function(e,t,r){for(var n=lengthOfArrayLike$p(e),i=toAbsoluteIndex$a(t,n),o=toAbsoluteIndex$a(void 0===r?n:r,n),a=$Array$7(max$6(o-i,0)),s=0;i<o;i++,s++)createProperty$9(a,s,e[i]);return a.length=s,a},classof$n=classofRaw$5,toIndexedObject$k=toIndexedObject$q,$getOwnPropertyNames$3=objectGetOwnPropertyNames$1.f,arraySlice$g=arraySliceSimple$1,windowNames$1="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],getWindowNames$1=function(e){try{return $getOwnPropertyNames$3(e)}catch(e){return arraySlice$g(windowNames$1)}};objectGetOwnPropertyNamesExternal$1.f=function(e){return windowNames$1&&"Window"==classof$n(e)?getWindowNames$1(e):$getOwnPropertyNames$3(toIndexedObject$k(e))};var wellKnownSymbolWrapped$1={},wellKnownSymbol$C=wellKnownSymbol$U;wellKnownSymbolWrapped$1.f=wellKnownSymbol$C;var path$q=path$A,hasOwn$y=hasOwnProperty_1$1,wrappedWellKnownSymbolModule$3=wellKnownSymbolWrapped$1,defineProperty$q=objectDefineProperty$1.f,wellKnownSymbolDefine$1=function(e){var t=path$q.Symbol||(path$q.Symbol={});hasOwn$y(t,e)||defineProperty$q(t,e,{value:wrappedWellKnownSymbolModule$3.f(e)})},call$F=functionCall$1,getBuiltIn$l=getBuiltIn$v,wellKnownSymbol$B=wellKnownSymbol$U,defineBuiltIn$n=defineBuiltIn$r,symbolDefineToPrimitive$1=function(){var e=getBuiltIn$l("Symbol"),t=e&&e.prototype,r=t&&t.valueOf,n=wellKnownSymbol$B("toPrimitive");t&&!t[n]&&defineBuiltIn$n(t,n,(function(e){return call$F(r,this)}),{arity:1})},$$1Z=_export$1,global$Q=global$19,call$E=functionCall$1,uncurryThis$16=functionUncurryThis$1,DESCRIPTORS$B=descriptors$1,NATIVE_SYMBOL$9=symbolConstructorDetection$1,fails$18=fails$1t,hasOwn$x=hasOwnProperty_1$1,isPrototypeOf$q=objectIsPrototypeOf$1,anObject$t=anObject$E,toIndexedObject$j=toIndexedObject$q,toPropertyKey$6=toPropertyKey$a,$toString$6=toString$B,createPropertyDescriptor$9=createPropertyDescriptor$g,nativeObjectCreate$1=objectCreate$1,objectKeys$6=objectKeys$9,getOwnPropertyNamesModule$4=objectGetOwnPropertyNames$1,getOwnPropertyNamesExternal$1=objectGetOwnPropertyNamesExternal$1,getOwnPropertySymbolsModule$5=objectGetOwnPropertySymbols$1,getOwnPropertyDescriptorModule$5=objectGetOwnPropertyDescriptor$1,definePropertyModule$8=objectDefineProperty$1,definePropertiesModule$2=objectDefineProperties$1,propertyIsEnumerableModule$3=objectPropertyIsEnumerable$1,defineBuiltIn$m=defineBuiltIn$r,defineBuiltInAccessor$6=defineBuiltInAccessor$8,shared$b=sharedExports$1,sharedKey$5=sharedKey$9,hiddenKeys$8=hiddenKeys$d,uid$7=uid$a,wellKnownSymbol$A=wellKnownSymbol$U,wrappedWellKnownSymbolModule$2=wellKnownSymbolWrapped$1,defineWellKnownSymbol$m=wellKnownSymbolDefine$1,defineSymbolToPrimitive$2=symbolDefineToPrimitive$1,setToStringTag$e=setToStringTag$i,InternalStateModule$f=internalState$1,$forEach$3=arrayIteration$1.forEach,HIDDEN$1=sharedKey$5("hidden"),SYMBOL$1="Symbol",PROTOTYPE$3="prototype",setInternalState$d=InternalStateModule$f.set,getInternalState$8=InternalStateModule$f.getterFor(SYMBOL$1),ObjectPrototype$6=Object[PROTOTYPE$3],$Symbol$1=global$Q.Symbol,SymbolPrototype$2=$Symbol$1&&$Symbol$1[PROTOTYPE$3],TypeError$a=global$Q.TypeError,QObject$1=global$Q.QObject,nativeGetOwnPropertyDescriptor$4=getOwnPropertyDescriptorModule$5.f,nativeDefineProperty$2=definePropertyModule$8.f,nativeGetOwnPropertyNames$1=getOwnPropertyNamesExternal$1.f,nativePropertyIsEnumerable$1=propertyIsEnumerableModule$3.f,push$p=uncurryThis$16([].push),AllSymbols$1=shared$b("symbols"),ObjectPrototypeSymbols$1=shared$b("op-symbols"),WellKnownSymbolsStore$3=shared$b("wks"),USE_SETTER$1=!QObject$1||!QObject$1[PROTOTYPE$3]||!QObject$1[PROTOTYPE$3].findChild,setSymbolDescriptor$1=DESCRIPTORS$B&&fails$18((function(){return 7!=nativeObjectCreate$1(nativeDefineProperty$2({},"a",{get:function(){return nativeDefineProperty$2(this,"a",{value:7}).a}})).a}))?function(e,t,r){var n=nativeGetOwnPropertyDescriptor$4(ObjectPrototype$6,t);n&&delete ObjectPrototype$6[t],nativeDefineProperty$2(e,t,r),n&&e!==ObjectPrototype$6&&nativeDefineProperty$2(ObjectPrototype$6,t,n)}:nativeDefineProperty$2,wrap$2=function(e,t){var r=AllSymbols$1[e]=nativeObjectCreate$1(SymbolPrototype$2);return setInternalState$d(r,{type:SYMBOL$1,tag:e,description:t}),DESCRIPTORS$B||(r.description=t),r},$defineProperty$2=function(e,t,r){e===ObjectPrototype$6&&$defineProperty$2(ObjectPrototypeSymbols$1,t,r),anObject$t(e);var n=toPropertyKey$6(t);return anObject$t(r),hasOwn$x(AllSymbols$1,n)?(r.enumerable?(hasOwn$x(e,HIDDEN$1)&&e[HIDDEN$1][n]&&(e[HIDDEN$1][n]=!1),r=nativeObjectCreate$1(r,{enumerable:createPropertyDescriptor$9(0,!1)})):(hasOwn$x(e,HIDDEN$1)||nativeDefineProperty$2(e,HIDDEN$1,createPropertyDescriptor$9(1,{})),e[HIDDEN$1][n]=!0),setSymbolDescriptor$1(e,n,r)):nativeDefineProperty$2(e,n,r)},$defineProperties$1=function(e,t){anObject$t(e);var r=toIndexedObject$j(t),n=objectKeys$6(r).concat($getOwnPropertySymbols$1(r));return $forEach$3(n,(function(t){DESCRIPTORS$B&&!call$E($propertyIsEnumerable$4,r,t)||$defineProperty$2(e,t,r[t])})),e},$create$1=function(e,t){return void 0===t?nativeObjectCreate$1(e):$defineProperties$1(nativeObjectCreate$1(e),t)},$propertyIsEnumerable$4=function(e){var t=toPropertyKey$6(e),r=call$E(nativePropertyIsEnumerable$1,this,t);return!(this===ObjectPrototype$6&&hasOwn$x(AllSymbols$1,t)&&!hasOwn$x(ObjectPrototypeSymbols$1,t))&&(!(r||!hasOwn$x(this,t)||!hasOwn$x(AllSymbols$1,t)||hasOwn$x(this,HIDDEN$1)&&this[HIDDEN$1][t])||r)},$getOwnPropertyDescriptor$3=function(e,t){var r=toIndexedObject$j(e),n=toPropertyKey$6(t);if(r!==ObjectPrototype$6||!hasOwn$x(AllSymbols$1,n)||hasOwn$x(ObjectPrototypeSymbols$1,n)){var i=nativeGetOwnPropertyDescriptor$4(r,n);return!i||!hasOwn$x(AllSymbols$1,n)||hasOwn$x(r,HIDDEN$1)&&r[HIDDEN$1][n]||(i.enumerable=!0),i}},$getOwnPropertyNames$2=function(e){var t=nativeGetOwnPropertyNames$1(toIndexedObject$j(e)),r=[];return $forEach$3(t,(function(e){hasOwn$x(AllSymbols$1,e)||hasOwn$x(hiddenKeys$8,e)||push$p(r,e)})),r},$getOwnPropertySymbols$1=function(e){var t=e===ObjectPrototype$6,r=nativeGetOwnPropertyNames$1(t?ObjectPrototypeSymbols$1:toIndexedObject$j(e)),n=[];return $forEach$3(r,(function(e){!hasOwn$x(AllSymbols$1,e)||t&&!hasOwn$x(ObjectPrototype$6,e)||push$p(n,AllSymbols$1[e])})),n};NATIVE_SYMBOL$9||(defineBuiltIn$m(SymbolPrototype$2=($Symbol$1=function(){if(isPrototypeOf$q(SymbolPrototype$2,this))throw TypeError$a("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?$toString$6(arguments[0]):void 0,t=uid$7(e),r=function(e){this===ObjectPrototype$6&&call$E(r,ObjectPrototypeSymbols$1,e),hasOwn$x(this,HIDDEN$1)&&hasOwn$x(this[HIDDEN$1],t)&&(this[HIDDEN$1][t]=!1),setSymbolDescriptor$1(this,t,createPropertyDescriptor$9(1,e))};return DESCRIPTORS$B&&USE_SETTER$1&&setSymbolDescriptor$1(ObjectPrototype$6,t,{configurable:!0,set:r}),wrap$2(t,e)})[PROTOTYPE$3],"toString",(function(){return getInternalState$8(this).tag})),defineBuiltIn$m($Symbol$1,"withoutSetter",(function(e){return wrap$2(uid$7(e),e)})),propertyIsEnumerableModule$3.f=$propertyIsEnumerable$4,definePropertyModule$8.f=$defineProperty$2,definePropertiesModule$2.f=$defineProperties$1,getOwnPropertyDescriptorModule$5.f=$getOwnPropertyDescriptor$3,getOwnPropertyNamesModule$4.f=getOwnPropertyNamesExternal$1.f=$getOwnPropertyNames$2,getOwnPropertySymbolsModule$5.f=$getOwnPropertySymbols$1,wrappedWellKnownSymbolModule$2.f=function(e){return wrap$2(wellKnownSymbol$A(e),e)},DESCRIPTORS$B&&defineBuiltInAccessor$6(SymbolPrototype$2,"description",{configurable:!0,get:function(){return getInternalState$8(this).description}})),$$1Z({global:!0,constructor:!0,wrap:!0,forced:!NATIVE_SYMBOL$9,sham:!NATIVE_SYMBOL$9},{Symbol:$Symbol$1}),$forEach$3(objectKeys$6(WellKnownSymbolsStore$3),(function(e){defineWellKnownSymbol$m(e)})),$$1Z({target:SYMBOL$1,stat:!0,forced:!NATIVE_SYMBOL$9},{useSetter:function(){USE_SETTER$1=!0},useSimple:function(){USE_SETTER$1=!1}}),$$1Z({target:"Object",stat:!0,forced:!NATIVE_SYMBOL$9,sham:!DESCRIPTORS$B},{create:$create$1,defineProperty:$defineProperty$2,defineProperties:$defineProperties$1,getOwnPropertyDescriptor:$getOwnPropertyDescriptor$3}),$$1Z({target:"Object",stat:!0,forced:!NATIVE_SYMBOL$9},{getOwnPropertyNames:$getOwnPropertyNames$2}),defineSymbolToPrimitive$2(),setToStringTag$e($Symbol$1,SYMBOL$1),hiddenKeys$8[HIDDEN$1]=!0;var NATIVE_SYMBOL$8=symbolConstructorDetection$1,symbolRegistryDetection$1=NATIVE_SYMBOL$8&&!!Symbol.for&&!!Symbol.keyFor,$$1Y=_export$1,getBuiltIn$k=getBuiltIn$v,hasOwn$w=hasOwnProperty_1$1,toString$t=toString$B,shared$a=sharedExports$1,NATIVE_SYMBOL_REGISTRY$3=symbolRegistryDetection$1,StringToSymbolRegistry$1=shared$a("string-to-symbol-registry"),SymbolToStringRegistry$3=shared$a("symbol-to-string-registry");$$1Y({target:"Symbol",stat:!0,forced:!NATIVE_SYMBOL_REGISTRY$3},{for:function(e){var t=toString$t(e);if(hasOwn$w(StringToSymbolRegistry$1,t))return StringToSymbolRegistry$1[t];var r=getBuiltIn$k("Symbol")(t);return StringToSymbolRegistry$1[t]=r,SymbolToStringRegistry$3[r]=t,r}});var $$1X=_export$1,hasOwn$v=hasOwnProperty_1$1,isSymbol$8=isSymbol$c,tryToString$9=tryToString$f,shared$9=sharedExports$1,NATIVE_SYMBOL_REGISTRY$2=symbolRegistryDetection$1,SymbolToStringRegistry$2=shared$9("symbol-to-string-registry");$$1X({target:"Symbol",stat:!0,forced:!NATIVE_SYMBOL_REGISTRY$2},{keyFor:function(e){if(!isSymbol$8(e))throw TypeError(tryToString$9(e)+" is not a symbol");if(hasOwn$v(SymbolToStringRegistry$2,e))return SymbolToStringRegistry$2[e]}});var $$1W=_export$1,NATIVE_SYMBOL$7=symbolConstructorDetection$1,fails$17=fails$1t,getOwnPropertySymbolsModule$4=objectGetOwnPropertySymbols$1,toObject$n=toObject$v,FORCED$l=!NATIVE_SYMBOL$7||fails$17((function(){getOwnPropertySymbolsModule$4.f(1)}));$$1W({target:"Object",stat:!0,forced:FORCED$l},{getOwnPropertySymbols:function(e){var t=getOwnPropertySymbolsModule$4.f;return t?t(toObject$n(e)):[]}});var defineWellKnownSymbol$l=wellKnownSymbolDefine$1;defineWellKnownSymbol$l("asyncIterator");var defineWellKnownSymbol$k=wellKnownSymbolDefine$1;defineWellKnownSymbol$k("hasInstance");var defineWellKnownSymbol$j=wellKnownSymbolDefine$1;defineWellKnownSymbol$j("isConcatSpreadable");var defineWellKnownSymbol$i=wellKnownSymbolDefine$1;defineWellKnownSymbol$i("iterator");var defineWellKnownSymbol$h=wellKnownSymbolDefine$1;defineWellKnownSymbol$h("match");var defineWellKnownSymbol$g=wellKnownSymbolDefine$1;defineWellKnownSymbol$g("matchAll");var defineWellKnownSymbol$f=wellKnownSymbolDefine$1;defineWellKnownSymbol$f("replace");var defineWellKnownSymbol$e=wellKnownSymbolDefine$1;defineWellKnownSymbol$e("search");var defineWellKnownSymbol$d=wellKnownSymbolDefine$1;defineWellKnownSymbol$d("species");var defineWellKnownSymbol$c=wellKnownSymbolDefine$1;defineWellKnownSymbol$c("split");var defineWellKnownSymbol$b=wellKnownSymbolDefine$1,defineSymbolToPrimitive$1=symbolDefineToPrimitive$1;defineWellKnownSymbol$b("toPrimitive"),defineSymbolToPrimitive$1();var getBuiltIn$j=getBuiltIn$v,defineWellKnownSymbol$a=wellKnownSymbolDefine$1,setToStringTag$d=setToStringTag$i;defineWellKnownSymbol$a("toStringTag"),setToStringTag$d(getBuiltIn$j("Symbol"),"Symbol");var defineWellKnownSymbol$9=wellKnownSymbolDefine$1;defineWellKnownSymbol$9("unscopables");var global$P=global$19,setToStringTag$c=setToStringTag$i;setToStringTag$c(global$P.JSON,"JSON",!0);var path$p=path$A,symbol$5=path$p.Symbol,parent$22=symbol$5,symbol$4=parent$22,defineWellKnownSymbol$8=wellKnownSymbolDefine$1;defineWellKnownSymbol$8("dispose");var parent$21=symbol$4,symbol$3=parent$21,defineWellKnownSymbol$7=wellKnownSymbolDefine$1;defineWellKnownSymbol$7("asyncDispose");var $$1V=_export$1,getBuiltIn$i=getBuiltIn$v,uncurryThis$15=functionUncurryThis$1,Symbol$6=getBuiltIn$i("Symbol"),keyFor2=Symbol$6.keyFor,thisSymbolValue$2=uncurryThis$15(Symbol$6.prototype.valueOf);$$1V({target:"Symbol",stat:!0},{isRegistered:function(e){try{return void 0!==keyFor2(thisSymbolValue$2(e))}catch(e){return!1}}});for(var $$1U=_export$1,shared$8=sharedExports$1,getBuiltIn$h=getBuiltIn$v,uncurryThis$14=functionUncurryThis$1,isSymbol$7=isSymbol$c,wellKnownSymbol$z=wellKnownSymbol$U,Symbol$5=getBuiltIn$h("Symbol"),$isWellKnown=Symbol$5.isWellKnown,getOwnPropertyNames$3=getBuiltIn$h("Object","getOwnPropertyNames"),thisSymbolValue$1=uncurryThis$14(Symbol$5.prototype.valueOf),WellKnownSymbolsStore$2=shared$8("wks"),i$2=0,symbolKeys=getOwnPropertyNames$3(Symbol$5),symbolKeysLength=symbolKeys.length;i$2<symbolKeysLength;i$2++)try{var symbolKey=symbolKeys[i$2];isSymbol$7(Symbol$5[symbolKey])&&wellKnownSymbol$z(symbolKey)}catch(e){}$$1U({target:"Symbol",stat:!0,forced:!0},{isWellKnown:function(e){if($isWellKnown&&$isWellKnown(e))return!0;try{for(var t=thisSymbolValue$1(e),r=0,n=getOwnPropertyNames$3(WellKnownSymbolsStore$2),i=n.length;r<i;r++)if(WellKnownSymbolsStore$2[n[r]]==t)return!0}catch(e){}return!1}});var defineWellKnownSymbol$6=wellKnownSymbolDefine$1;defineWellKnownSymbol$6("matcher");var defineWellKnownSymbol$5=wellKnownSymbolDefine$1;defineWellKnownSymbol$5("metadataKey");var defineWellKnownSymbol$4=wellKnownSymbolDefine$1;defineWellKnownSymbol$4("observable");var defineWellKnownSymbol$3=wellKnownSymbolDefine$1;defineWellKnownSymbol$3("metadata");var defineWellKnownSymbol$2=wellKnownSymbolDefine$1;defineWellKnownSymbol$2("patternMatch");var defineWellKnownSymbol$1=wellKnownSymbolDefine$1;defineWellKnownSymbol$1("replaceAll");var parent$20=symbol$3,symbol$2=parent$20,symbol$1=symbol$2,_Symbol$1=getDefaultExportFromCjs(symbol$1),WrappedWellKnownSymbolModule$1=wellKnownSymbolWrapped$1,iterator$5=WrappedWellKnownSymbolModule$1.f("iterator"),parent$1$=iterator$5,iterator$4=parent$1$,parent$1_=iterator$4,iterator$3=parent$1_,parent$1Z=iterator$3,iterator$2=parent$1Z,iterator$1=iterator$2,_Symbol$iterator$1=getDefaultExportFromCjs(iterator$1);function _typeof$5(e){return(_typeof$5="function"==typeof _Symbol$1&&"symbol"==typeof _Symbol$iterator$1?function(e){return typeof e}:function(e){return e&&"function"==typeof _Symbol$1&&e.constructor===_Symbol$1&&e!==_Symbol$1.prototype?"symbol":typeof e})(e)}var path$o=path$A,getOwnPropertySymbols$5=path$o.Object.getOwnPropertySymbols,parent$1Y=getOwnPropertySymbols$5,getOwnPropertySymbols$4=parent$1Y,parent$1X=getOwnPropertySymbols$4,getOwnPropertySymbols$3=parent$1X,parent$1W=getOwnPropertySymbols$3,getOwnPropertySymbols$2=parent$1W,getOwnPropertySymbols$1=getOwnPropertySymbols$2,getOwnPropertySymbols2=getOwnPropertySymbols$1,_Object$getOwnPropertySymbols=getDefaultExportFromCjs(getOwnPropertySymbols2),getOwnPropertyDescriptor$e={exports:{}},$$1T=_export$1,fails$16=fails$1t,toIndexedObject$i=toIndexedObject$q,nativeGetOwnPropertyDescriptor$3=objectGetOwnPropertyDescriptor$1.f,DESCRIPTORS$A=descriptors$1,FORCED$k=!DESCRIPTORS$A||fails$16((function(){nativeGetOwnPropertyDescriptor$3(1)}));$$1T({target:"Object",stat:!0,forced:FORCED$k,sham:!DESCRIPTORS$A},{getOwnPropertyDescriptor:function(e,t){return nativeGetOwnPropertyDescriptor$3(toIndexedObject$i(e),t)}});var path$n=path$A,Object$4=path$n.Object,getOwnPropertyDescriptor$d=getOwnPropertyDescriptor$e.exports=function(e,t){return Object$4.getOwnPropertyDescriptor(e,t)};Object$4.getOwnPropertyDescriptor.sham&&(getOwnPropertyDescriptor$d.sham=!0);var getOwnPropertyDescriptorExports=getOwnPropertyDescriptor$e.exports,parent$1V=getOwnPropertyDescriptorExports,getOwnPropertyDescriptor$c=parent$1V,parent$1U=getOwnPropertyDescriptor$c,getOwnPropertyDescriptor$b=parent$1U,parent$1T=getOwnPropertyDescriptor$b,getOwnPropertyDescriptor$a=parent$1T,getOwnPropertyDescriptor$9=getOwnPropertyDescriptor$a,_Object$getOwnPropertyDescriptor$1=getDefaultExportFromCjs(getOwnPropertyDescriptor$9),getOwnPropertyDescriptor$8=getOwnPropertyDescriptor$9,_Object$getOwnPropertyDescriptor=getDefaultExportFromCjs(getOwnPropertyDescriptor$8),$$1S=_export$1,DESCRIPTORS$z=descriptors$1,ownKeys$6=ownKeys$8,toIndexedObject$h=toIndexedObject$q,getOwnPropertyDescriptorModule$4=objectGetOwnPropertyDescriptor$1,createProperty$8=createProperty$c;$$1S({target:"Object",stat:!0,sham:!DESCRIPTORS$z},{getOwnPropertyDescriptors:function(e){for(var t,r,n=toIndexedObject$h(e),i=getOwnPropertyDescriptorModule$4.f,o=ownKeys$6(n),a={},s=0;o.length>s;)void 0!==(r=i(n,t=o[s++]))&&createProperty$8(a,t,r);return a}});var path$m=path$A,getOwnPropertyDescriptors$5=path$m.Object.getOwnPropertyDescriptors,parent$1S=getOwnPropertyDescriptors$5,getOwnPropertyDescriptors$4=parent$1S,parent$1R=getOwnPropertyDescriptors$4,getOwnPropertyDescriptors$3=parent$1R,parent$1Q=getOwnPropertyDescriptors$3,getOwnPropertyDescriptors$2=parent$1Q,getOwnPropertyDescriptors$1=getOwnPropertyDescriptors$2,getOwnPropertyDescriptors2=getOwnPropertyDescriptors$1,_Object$getOwnPropertyDescriptors=getDefaultExportFromCjs(getOwnPropertyDescriptors2),defineProperties$7={exports:{}},$$1R=_export$1,DESCRIPTORS$y=descriptors$1,defineProperties$6=objectDefineProperties$1.f;$$1R({target:"Object",stat:!0,forced:Object.defineProperties!==defineProperties$6,sham:!DESCRIPTORS$y},{defineProperties:defineProperties$6});var path$l=path$A,Object$3=path$l.Object,defineProperties$5=defineProperties$7.exports=function(e,t){return Object$3.defineProperties(e,t)};Object$3.defineProperties.sham&&(defineProperties$5.sham=!0);var definePropertiesExports=defineProperties$7.exports,parent$1P=definePropertiesExports,defineProperties$4=parent$1P,parent$1O=defineProperties$4,defineProperties$3=parent$1O,parent$1N=defineProperties$3,defineProperties$2=parent$1N,defineProperties$1=defineProperties$2,defineProperties4=defineProperties$1,_Object$defineProperties=getDefaultExportFromCjs(defineProperties4),defineProperty$p={exports:{}},$$1Q=_export$1,DESCRIPTORS$x=descriptors$1,defineProperty$o=objectDefineProperty$1.f;$$1Q({target:"Object",stat:!0,forced:Object.defineProperty!==defineProperty$o,sham:!DESCRIPTORS$x},{defineProperty:defineProperty$o});var path$k=path$A,Object$2=path$k.Object,defineProperty$n=defineProperty$p.exports=function(e,t,r){return Object$2.defineProperty(e,t,r)};Object$2.defineProperty.sham&&(defineProperty$n.sham=!0);var definePropertyExports=defineProperty$p.exports,parent$1M=definePropertyExports,defineProperty$m=parent$1M,parent$1L=defineProperty$m,defineProperty$l=parent$1L,parent$1K=defineProperty$l,defineProperty$k=parent$1K,defineProperty$j=defineProperty$k,_Object$defineProperty$1=getDefaultExportFromCjs(defineProperty$j),defineProperty$i=defineProperty$j,_Object$defineProperty=getDefaultExportFromCjs(defineProperty$i),symbol=symbol$1,_Symbol=getDefaultExportFromCjs(symbol),$$1P=_export$1,DESCRIPTORS$w=descriptors$1,create$h=objectCreate$1;$$1P({target:"Object",stat:!0,sham:!DESCRIPTORS$w},{create:create$h});var path$j=path$A,Object$1=path$j.Object,create$g=function(e,t){return Object$1.create(e,t)},parent$1J=create$g,create$f=parent$1J,parent$1I=create$f,create$e=parent$1I,parent$1H=create$e,create$d=parent$1H,create$c=create$d,_Object$create$1=getDefaultExportFromCjs(create$c),create$b=create$c,_Object$create=getDefaultExportFromCjs(create$b),$$1O=_export$1,fails$15=fails$1t,toObject$m=toObject$v,nativeGetPrototypeOf$1=objectGetPrototypeOf$1,CORRECT_PROTOTYPE_GETTER$2=correctPrototypeGetter$1,FAILS_ON_PRIMITIVES$5=fails$15((function(){nativeGetPrototypeOf$1(1)}));$$1O({target:"Object",stat:!0,forced:FAILS_ON_PRIMITIVES$5,sham:!CORRECT_PROTOTYPE_GETTER$2},{getPrototypeOf:function(e){return nativeGetPrototypeOf$1(toObject$m(e))}});var path$i=path$A,getPrototypeOf$a=path$i.Object.getPrototypeOf,parent$1G=getPrototypeOf$a,getPrototypeOf$9=parent$1G,parent$1F=getPrototypeOf$9,getPrototypeOf$8=parent$1F,parent$1E=getPrototypeOf$8,getPrototypeOf$7=parent$1E,getPrototypeOf$6=getPrototypeOf$7,_Object$getPrototypeOf$1=getDefaultExportFromCjs(getPrototypeOf$6),getPrototypeOf$5=getPrototypeOf$6,_Object$getPrototypeOf=getDefaultExportFromCjs(getPrototypeOf$5),$$1N=_export$1,setPrototypeOf$c=objectSetPrototypeOf$1;$$1N({target:"Object",stat:!0},{setPrototypeOf:setPrototypeOf$c});var path$h=path$A,setPrototypeOf$b=path$h.Object.setPrototypeOf,parent$1D=setPrototypeOf$b,setPrototypeOf$a=parent$1D,parent$1C=setPrototypeOf$a,setPrototypeOf$9=parent$1C,parent$1B=setPrototypeOf$9,setPrototypeOf$8=parent$1B,setPrototypeOf$7=setPrototypeOf$8,_Object$setPrototypeOf$1=getDefaultExportFromCjs(setPrototypeOf$7),setPrototypeOf$6=setPrototypeOf$7,_Object$setPrototypeOf=getDefaultExportFromCjs(setPrototypeOf$6),$$1M=_export$1,uncurryThis$13=functionUncurryThis$1,isArray$f=isArray$k,nativeReverse=uncurryThis$13([].reverse),test$3=[1,2];$$1M({target:"Array",proto:!0,forced:String(test$3)===String(test$3.reverse())},{reverse:function(){return isArray$f(this)&&(this.length=this.length),nativeReverse(this)}});var entryVirtual$f=entryVirtual$o,reverse$7=entryVirtual$f("Array").reverse,isPrototypeOf$p=objectIsPrototypeOf$1,method$f=reverse$7,ArrayPrototype$d=Array.prototype,reverse$6=function(e){var t=e.reverse;return e===ArrayPrototype$d||isPrototypeOf$p(ArrayPrototype$d,e)&&t===ArrayPrototype$d.reverse?method$f:t},parent$1A=reverse$6,reverse$5=parent$1A,parent$1z=reverse$5,reverse$4=parent$1z,parent$1y=reverse$4,reverse$3=parent$1y,reverse$2=reverse$3,reverse$1=reverse$2,_reverseInstanceProperty=getDefaultExportFromCjs(reverse$1),$$1L=_export$1,isArray$e=isArray$k,isConstructor$6=isConstructor$9,isObject$z=isObject$M,toAbsoluteIndex$9=toAbsoluteIndex$d,lengthOfArrayLike$o=lengthOfArrayLike$v,toIndexedObject$g=toIndexedObject$q,createProperty$7=createProperty$c,wellKnownSymbol$y=wellKnownSymbol$U,arrayMethodHasSpeciesSupport$6=arrayMethodHasSpeciesSupport$b,nativeSlice$1=arraySlice$l,HAS_SPECIES_SUPPORT$4=arrayMethodHasSpeciesSupport$6("slice"),SPECIES$7=wellKnownSymbol$y("species"),$Array$6=Array,max$5=Math.max;$$1L({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$4},{slice:function(e,t){var r,n,i,o=toIndexedObject$g(this),a=lengthOfArrayLike$o(o),s=toAbsoluteIndex$9(e,a),l=toAbsoluteIndex$9(void 0===t?a:t,a);if(isArray$e(o)&&(r=o.constructor,(isConstructor$6(r)&&(r===$Array$6||isArray$e(r.prototype))||isObject$z(r)&&null===(r=r[SPECIES$7]))&&(r=void 0),r===$Array$6||void 0===r))return nativeSlice$1(o,s,l);for(n=new(void 0===r?$Array$6:r)(max$5(l-s,0)),i=0;s<l;s++,i++)s in o&&createProperty$7(n,i,o[s]);return n.length=i,n}});var entryVirtual$e=entryVirtual$o,slice$8=entryVirtual$e("Array").slice,isPrototypeOf$o=objectIsPrototypeOf$1,method$e=slice$8,ArrayPrototype$c=Array.prototype,slice$7=function(e){var t=e.slice;return e===ArrayPrototype$c||isPrototypeOf$o(ArrayPrototype$c,e)&&t===ArrayPrototype$c.slice?method$e:t},parent$1x=slice$7,slice$6=parent$1x,parent$1w=slice$6,slice$5=parent$1w,parent$1v=slice$5,slice$4=parent$1v,slice$3=slice$4,slice$2=slice$3,_sliceInstanceProperty=getDefaultExportFromCjs(slice$2),iterator=iterator$1,_Symbol$iterator=getDefaultExportFromCjs(iterator),$$1K=_export$1,getBuiltIn$g=getBuiltIn$v,apply$b=functionApply$1,bind$q=functionBind$1,aConstructor$5=aConstructor$7,anObject$s=anObject$E,isObject$y=isObject$M,create$a=objectCreate$1,fails$14=fails$1t,nativeConstruct$1=getBuiltIn$g("Reflect","construct"),ObjectPrototype$5=Object.prototype,push$o=[].push,NEW_TARGET_BUG$1=fails$14((function(){function e(){}return!(nativeConstruct$1((function(){}),[],e)instanceof e)})),ARGS_BUG$1=!fails$14((function(){nativeConstruct$1((function(){}))})),FORCED$j=NEW_TARGET_BUG$1||ARGS_BUG$1;$$1K({target:"Reflect",stat:!0,forced:FORCED$j,sham:FORCED$j},{construct:function(e,t){aConstructor$5(e),anObject$s(t);var r=arguments.length<3?e:aConstructor$5(arguments[2]);if(ARGS_BUG$1&&!NEW_TARGET_BUG$1)return nativeConstruct$1(e,t,r);if(e==r){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var n=[null];return apply$b(push$o,n,t),new(apply$b(bind$q,e,n))}var i=r.prototype,o=create$a(isObject$y(i)?i:ObjectPrototype$5),a=apply$b(e,o,t);return isObject$y(a)?a:o}});var path$g=path$A,construct$7=path$g.Reflect.construct,parent$1u=construct$7,construct$6=parent$1u,parent$1t=construct$6,construct$5=parent$1t,parent$1s=construct$5,construct$4=parent$1s,construct$3=construct$4,_Reflect$construct$1=getDefaultExportFromCjs(construct$3),construct$2=construct$3,_Reflect$construct=getDefaultExportFromCjs(construct$2),$$1J=_export$1,isArray$d=isArray$k;$$1J({target:"Array",stat:!0},{isArray:isArray$d});var path$f=path$A,isArray$c=path$f.Array.isArray,parent$1r=isArray$c,isArray$b=parent$1r,parent$1q=isArray$b,isArray$a=parent$1q,parent$1p=isArray$a,isArray$9=parent$1p,isArray$8=isArray$9,isArray$7=isArray$8,_Array$isArray=getDefaultExportFromCjs(isArray$7),getIteratorMethod$d=getIteratorMethod$g,getIteratorMethod_1=getIteratorMethod$d,parent$1o=getIteratorMethod_1,getIteratorMethod$c=parent$1o,parent$1n=getIteratorMethod$c,getIteratorMethod$b=parent$1n,parent$1m=getIteratorMethod$b,getIteratorMethod$a=parent$1m,getIteratorMethod$9=getIteratorMethod$a,getIteratorMethod$8=getIteratorMethod$9,_getIteratorMethod=getDefaultExportFromCjs(getIteratorMethod$8),anObject$r=anObject$E,iteratorClose$3=iteratorClose$5,callWithSafeIterationClosing$3=function(e,t,r,n){try{return n?t(anObject$r(r)[0],r[1]):t(r)}catch(t){iteratorClose$3(e,"throw",t)}},bind$p=functionBindContext$1,call$D=functionCall$1,toObject$l=toObject$v,callWithSafeIterationClosing$2=callWithSafeIterationClosing$3,isArrayIteratorMethod$4=isArrayIteratorMethod$6,isConstructor$5=isConstructor$9,lengthOfArrayLike$n=lengthOfArrayLike$v,createProperty$6=createProperty$c,getIterator$c=getIterator$e,getIteratorMethod$7=getIteratorMethod$g,$Array$5=Array,arrayFrom$3=function(e){var t=toObject$l(e),r=isConstructor$5(this),n=arguments.length,i=n>1?arguments[1]:void 0,o=void 0!==i;o&&(i=bind$p(i,n>2?arguments[2]:void 0));var a,s,l,c,u,d,p=getIteratorMethod$7(t),y=0;if(!p||this===$Array$5&&isArrayIteratorMethod$4(p))for(a=lengthOfArrayLike$n(t),s=r?new this(a):$Array$5(a);a>y;y++)d=o?i(t[y],y):t[y],createProperty$6(s,y,d);else for(u=(c=getIterator$c(t,p)).next,s=r?new this:[];!(l=call$D(u,c)).done;y++)d=o?callWithSafeIterationClosing$2(c,i,[l.value,y],!0):l.value,createProperty$6(s,y,d);return s.length=y,s},$$1I=_export$1,from$8=arrayFrom$3,checkCorrectnessOfIteration$5=checkCorrectnessOfIteration$7,INCORRECT_ITERATION$1=!checkCorrectnessOfIteration$5((function(e){Array.from(e)}));$$1I({target:"Array",stat:!0,forced:INCORRECT_ITERATION$1},{from:from$8});var path$e=path$A,from$7=path$e.Array.from,parent$1l=from$7,from$6=parent$1l,parent$1k=from$6,from$5=parent$1k,parent$1j=from$5,from$4=parent$1j,from$3=from$4,from$2=from$3,_Array$from=getDefaultExportFromCjs(from$2);function ownKeys$5(e,t){var r=_Object$keys(e);if(_Object$getOwnPropertySymbols){var n=_Object$getOwnPropertySymbols(e);t&&(n=_filterInstanceProperty(n).call(n,(function(t){return _Object$getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread2$3(e){for(var t=1;t<arguments.length;t++){var r,n,i=null!=arguments[t]?arguments[t]:{};t%2?_forEachInstanceProperty(r=ownKeys$5(Object(i),!0)).call(r,(function(t){_defineProperty$5(e,t,i[t])})):_Object$getOwnPropertyDescriptors?_Object$defineProperties(e,_Object$getOwnPropertyDescriptors(i)):_forEachInstanceProperty(n=ownKeys$5(Object(i))).call(n,(function(t){_Object$defineProperty(e,t,_Object$getOwnPropertyDescriptor(i,t))}))}return e}function _regeneratorRuntime$2(){_regeneratorRuntime$2=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=_Object$defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof _Symbol?_Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,r){return _Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,i){var o=t&&t.prototype instanceof p?t:p,a=_Object$create(o.prototype),s=new _(i||[]);return n(a,"_invoke",{value:S(e,r,s)}),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var d={};function p(){}function y(){}function h(){}var f={};l(f,o,(function(){return this}));var $=_Object$getPrototypeOf&&_Object$getPrototypeOf(_Object$getPrototypeOf(P([])));$&&$!==t&&r.call($,o)&&(f=$);var m=h.prototype=p.prototype=_Object$create(f);function b(e){var t;_forEachInstanceProperty(t=["next","throw","return"]).call(t,(function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){function i(n,o,a,s){var l=u(e[n],e,o);if("throw"!==l.type){var c=l.arg,d=c.value;return d&&"object"==_typeof$5(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,s)}),(function(e){i("throw",e,a,s)})):t.resolve(d).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,s)}))}s(l.arg)}var o;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){i(e,r,t,n)}))}return o=o?o.then(n,n):n()}})}function S(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=I(a,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=u(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function I(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,I(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,d;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function v(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],_forEachInstanceProperty(e).call(e,T,this),this.reset(!0)}function P(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:E}}function E(){return{value:void 0,done:!0}}return y.prototype=h,n(m,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:y,configurable:!0}),y.displayName=l(h,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return _Object$setPrototypeOf?_Object$setPrototypeOf(e,h):(e.__proto__=h,l(e,s,"GeneratorFunction")),e.prototype=_Object$create(m),e},e.awrap=function(e){return{__await:e}},b(g.prototype),l(g.prototype,a,(function(){return this})),e.AsyncIterator=g,e.async=function(t,r,n,i,o){void 0===o&&(o=_Promise);var a=new g(c(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(m),l(m,s,"Generator"),l(m,o,(function(){return this})),l(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return _reverseInstanceProperty(r).call(r),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=P,_.prototype={constructor:_,reset:function(e){var t;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,_forEachInstanceProperty(t=this.tryEntries).call(t,v),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+_sliceInstanceProperty(n).call(n,1))&&(this[n]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),v(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;v(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:P(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function _typeof$4(e){return(_typeof$4="function"==typeof _Symbol&&"symbol"==typeof _Symbol$iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof _Symbol&&e.constructor===_Symbol&&e!==_Symbol.prototype?"symbol":typeof e})(e)}function asyncGeneratorStep$2(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void r(e)}s.done?t(l):_Promise.resolve(l).then(n,i)}function _asyncToGenerator$2(e){return function(){var t=this,r=arguments;return new _Promise((function(n,i){var o=e.apply(t,r);function a(e){asyncGeneratorStep$2(o,n,i,a,s,"next",e)}function s(e){asyncGeneratorStep$2(o,n,i,a,s,"throw",e)}a(void 0)}))}}function _classCallCheck$8(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$8(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass$8(e,t,r){return t&&_defineProperties$8(e.prototype,t),r&&_defineProperties$8(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty$5(e,t,r){return t in e?_Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _inherits$5(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=_Object$create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),_Object$defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf$5(e,t)}function _getPrototypeOf$5(e){var t;return(_getPrototypeOf$5=_Object$setPrototypeOf?_bindInstanceProperty(t=_Object$getPrototypeOf).call(t):function(e){return e.__proto__||_Object$getPrototypeOf(e)})(e)}function _setPrototypeOf$5(e,t){var r;return(_setPrototypeOf$5=_Object$setPrototypeOf?_bindInstanceProperty(r=_Object$setPrototypeOf).call(r):function(e,t){return e.__proto__=t,e})(e,t)}function _isNativeReflectConstruct$5(){if("undefined"==typeof Reflect||!_Reflect$construct)return!1;if(_Reflect$construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(_Reflect$construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _assertThisInitialized$5(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn$5(e,t){if(t&&("object"===_typeof$5(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$5(e)}function _createSuper$5(e){var t=_isNativeReflectConstruct$5();return function(){var r,n=_getPrototypeOf$5(e);if(t){var i=_getPrototypeOf$5(this).constructor;r=_Reflect$construct(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn$5(this,r)}}function _toConsumableArray$4(e){return _arrayWithoutHoles$4(e)||_iterableToArray$4(e)||_unsupportedIterableToArray$5(e)||_nonIterableSpread$4()}function _arrayWithoutHoles$4(e){if(_Array$isArray(e))return _arrayLikeToArray$5(e)}function _iterableToArray$4(e){if(void 0!==_Symbol&&null!=_getIteratorMethod(e)||null!=e["@@iterator"])return _Array$from(e)}function _unsupportedIterableToArray$5(e,t){var r;if(e){if("string"==typeof e)return _arrayLikeToArray$5(e,t);var n=_sliceInstanceProperty(r=Object.prototype.toString.call(e)).call(r,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?_Array$from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray$5(e,t):void 0}}function _arrayLikeToArray$5(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _nonIterableSpread$4(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var check=function(e){return e&&e.Math==Math&&e},global$O=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof commonjsGlobal&&commonjsGlobal)||function(){return this}()||Function("return this")(),objectGetOwnPropertyDescriptor={},fails$13=function(e){try{return!!e()}catch(e){return!0}},fails$12=fails$13,descriptors=!fails$12((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),fails$11=fails$13,functionBindNative=!fails$11((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),NATIVE_BIND$4=functionBindNative,call$C=Function.prototype.call,functionCall=NATIVE_BIND$4?call$C.bind(call$C):function(){return call$C.apply(call$C,arguments)},objectPropertyIsEnumerable={},$propertyIsEnumerable$3={}.propertyIsEnumerable,getOwnPropertyDescriptor$7=Object.getOwnPropertyDescriptor,NASHORN_BUG=getOwnPropertyDescriptor$7&&!$propertyIsEnumerable$3.call({1:2},1);objectPropertyIsEnumerable.f=NASHORN_BUG?function(e){var t=getOwnPropertyDescriptor$7(this,e);return!!t&&t.enumerable}:$propertyIsEnumerable$3;var match,version$2,createPropertyDescriptor$8=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},NATIVE_BIND$3=functionBindNative,FunctionPrototype$3=Function.prototype,call$B=FunctionPrototype$3.call,uncurryThisWithBind=NATIVE_BIND$3&&FunctionPrototype$3.bind.bind(call$B,call$B),functionUncurryThis=NATIVE_BIND$3?uncurryThisWithBind:function(e){return function(){return call$B.apply(e,arguments)}},uncurryThis$12=functionUncurryThis,toString$s=uncurryThis$12({}.toString),stringSlice$f=uncurryThis$12("".slice),classofRaw$2=function(e){return stringSlice$f(toString$s(e),8,-1)},uncurryThis$11=functionUncurryThis,fails$10=fails$13,classof$m=classofRaw$2,$Object$4=Object,split$6=uncurryThis$11("".split),indexedObject=fails$10((function(){return!$Object$4("z").propertyIsEnumerable(0)}))?function(e){return"String"==classof$m(e)?split$6(e,""):$Object$4(e)}:$Object$4,isNullOrUndefined$b=function(e){return null==e},isNullOrUndefined$a=isNullOrUndefined$b,$TypeError$o=TypeError,requireObjectCoercible$f=function(e){if(isNullOrUndefined$a(e))throw $TypeError$o("Can't call method on "+e);return e},IndexedObject$6=indexedObject,requireObjectCoercible$e=requireObjectCoercible$f,toIndexedObject$f=function(e){return IndexedObject$6(requireObjectCoercible$e(e))},documentAll$2="object"==typeof document&&document.all,IS_HTMLDDA=void 0===documentAll$2&&void 0!==documentAll$2,documentAll_1={all:documentAll$2,IS_HTMLDDA:IS_HTMLDDA},$documentAll$1=documentAll_1,documentAll$1=$documentAll$1.all,isCallable$A=$documentAll$1.IS_HTMLDDA?function(e){return"function"==typeof e||e===documentAll$1}:function(e){return"function"==typeof e},isCallable$z=isCallable$A,$documentAll=documentAll_1,documentAll=$documentAll.all,isObject$x=$documentAll.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:isCallable$z(e)||e===documentAll}:function(e){return"object"==typeof e?null!==e:isCallable$z(e)},global$N=global$O,isCallable$y=isCallable$A,aFunction=function(e){return isCallable$y(e)?e:void 0},getBuiltIn$f=function(e,t){return arguments.length<2?aFunction(global$N[e]):global$N[e]&&global$N[e][t]},uncurryThis$10=functionUncurryThis,objectIsPrototypeOf=uncurryThis$10({}.isPrototypeOf),getBuiltIn$e=getBuiltIn$f,engineUserAgent=getBuiltIn$e("navigator","userAgent")||"",global$M=global$O,userAgent$a=engineUserAgent,process$5=global$M.process,Deno$1=global$M.Deno,versions=process$5&&process$5.versions||Deno$1&&Deno$1.version,v8=versions&&versions.v8;v8&&(version$2=(match=v8.split("."))[0]>0&&match[0]<4?1:+(match[0]+match[1])),!version$2&&userAgent$a&&(!(match=userAgent$a.match(/Edge\/(\d+)/))||match[1]>=74)&&(match=userAgent$a.match(/Chrome\/(\d+)/))&&(version$2=+match[1]);var engineV8Version=version$2,V8_VERSION$3=engineV8Version,fails$$=fails$13,symbolConstructorDetection=!!Object.getOwnPropertySymbols&&!fails$$((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&V8_VERSION$3&&V8_VERSION$3<41})),NATIVE_SYMBOL$6=symbolConstructorDetection,useSymbolAsUid=NATIVE_SYMBOL$6&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,getBuiltIn$d=getBuiltIn$f,isCallable$x=isCallable$A,isPrototypeOf$n=objectIsPrototypeOf,USE_SYMBOL_AS_UID$1=useSymbolAsUid,$Object$3=Object,isSymbol$6=USE_SYMBOL_AS_UID$1?function(e){return"symbol"==typeof e}:function(e){var t=getBuiltIn$d("Symbol");return isCallable$x(t)&&isPrototypeOf$n(t.prototype,$Object$3(e))},$String$4=String,tryToString$8=function(e){try{return $String$4(e)}catch(e){return"Object"}},isCallable$w=isCallable$A,tryToString$7=tryToString$8,$TypeError$n=TypeError,aCallable$j=function(e){if(isCallable$w(e))return e;throw $TypeError$n(tryToString$7(e)+" is not a function")},aCallable$i=aCallable$j,isNullOrUndefined$9=isNullOrUndefined$b,getMethod$6=function(e,t){var r=e[t];return isNullOrUndefined$9(r)?void 0:aCallable$i(r)},call$A=functionCall,isCallable$v=isCallable$A,isObject$w=isObject$x,$TypeError$m=TypeError,ordinaryToPrimitive$1=function(e,t){var r,n;if("string"===t&&isCallable$v(r=e.toString)&&!isObject$w(n=call$A(r,e)))return n;if(isCallable$v(r=e.valueOf)&&!isObject$w(n=call$A(r,e)))return n;if("string"!==t&&isCallable$v(r=e.toString)&&!isObject$w(n=call$A(r,e)))return n;throw $TypeError$m("Can't convert object to primitive value")},shared$7={exports:{}},isPure=!1,global$L=global$O,defineProperty$h=Object.defineProperty,defineGlobalProperty$3=function(e,t){try{defineProperty$h(global$L,e,{value:t,configurable:!0,writable:!0})}catch(r){global$L[e]=t}return t},global$K=global$O,defineGlobalProperty$2=defineGlobalProperty$3,SHARED="__core-js_shared__",store$3=global$K[SHARED]||defineGlobalProperty$2(SHARED,{}),sharedStore=store$3,store$2=sharedStore;(shared$7.exports=function(e,t){return store$2[e]||(store$2[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.26.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"});var sharedExports=shared$7.exports,requireObjectCoercible$d=requireObjectCoercible$f,$Object$2=Object,toObject$k=function(e){return $Object$2(requireObjectCoercible$d(e))},uncurryThis$$=functionUncurryThis,toObject$j=toObject$k,hasOwnProperty$2=uncurryThis$$({}.hasOwnProperty),hasOwnProperty_1=Object.hasOwn||function(e,t){return hasOwnProperty$2(toObject$j(e),t)},uncurryThis$_=functionUncurryThis,id$2=0,postfix=Math.random(),toString$r=uncurryThis$_(1..toString),uid$6=function(e){return"Symbol("+(void 0===e?"":e)+")_"+toString$r(++id$2+postfix,36)},global$J=global$O,shared$6=sharedExports,hasOwn$u=hasOwnProperty_1,uid$5=uid$6,NATIVE_SYMBOL$5=symbolConstructorDetection,USE_SYMBOL_AS_UID=useSymbolAsUid,WellKnownSymbolsStore$1=shared$6("wks"),Symbol$4=global$J.Symbol,symbolFor=Symbol$4&&Symbol$4.for,createWellKnownSymbol=USE_SYMBOL_AS_UID?Symbol$4:Symbol$4&&Symbol$4.withoutSetter||uid$5,wellKnownSymbol$x=function(e){if(!hasOwn$u(WellKnownSymbolsStore$1,e)||!NATIVE_SYMBOL$5&&"string"!=typeof WellKnownSymbolsStore$1[e]){var t="Symbol."+e;NATIVE_SYMBOL$5&&hasOwn$u(Symbol$4,e)?WellKnownSymbolsStore$1[e]=Symbol$4[e]:WellKnownSymbolsStore$1[e]=USE_SYMBOL_AS_UID&&symbolFor?symbolFor(t):createWellKnownSymbol(t)}return WellKnownSymbolsStore$1[e]},call$z=functionCall,isObject$v=isObject$x,isSymbol$5=isSymbol$6,getMethod$5=getMethod$6,ordinaryToPrimitive=ordinaryToPrimitive$1,wellKnownSymbol$w=wellKnownSymbol$x,$TypeError$l=TypeError,TO_PRIMITIVE=wellKnownSymbol$w("toPrimitive"),toPrimitive$9=function(e,t){if(!isObject$v(e)||isSymbol$5(e))return e;var r,n=getMethod$5(e,TO_PRIMITIVE);if(n){if(void 0===t&&(t="default"),r=call$z(n,e,t),!isObject$v(r)||isSymbol$5(r))return r;throw $TypeError$l("Can't convert object to primitive value")}return void 0===t&&(t="number"),ordinaryToPrimitive(e,t)},toPrimitive$8=toPrimitive$9,isSymbol$4=isSymbol$6,toPropertyKey$5=function(e){var t=toPrimitive$8(e,"string");return isSymbol$4(t)?t:t+""},global$I=global$O,isObject$u=isObject$x,document$3=global$I.document,EXISTS$1=isObject$u(document$3)&&isObject$u(document$3.createElement),documentCreateElement$2=function(e){return EXISTS$1?document$3.createElement(e):{}},DESCRIPTORS$v=descriptors,fails$_=fails$13,createElement$1=documentCreateElement$2,ie8DomDefine=!DESCRIPTORS$v&&!fails$_((function(){return 7!=Object.defineProperty(createElement$1("div"),"a",{get:function(){return 7}}).a})),DESCRIPTORS$u=descriptors,call$y=functionCall,propertyIsEnumerableModule$2=objectPropertyIsEnumerable,createPropertyDescriptor$7=createPropertyDescriptor$8,toIndexedObject$e=toIndexedObject$f,toPropertyKey$4=toPropertyKey$5,hasOwn$t=hasOwnProperty_1,IE8_DOM_DEFINE$1=ie8DomDefine,$getOwnPropertyDescriptor$2=Object.getOwnPropertyDescriptor;objectGetOwnPropertyDescriptor.f=DESCRIPTORS$u?$getOwnPropertyDescriptor$2:function(e,t){if(e=toIndexedObject$e(e),t=toPropertyKey$4(t),IE8_DOM_DEFINE$1)try{return $getOwnPropertyDescriptor$2(e,t)}catch(e){}if(hasOwn$t(e,t))return createPropertyDescriptor$7(!call$y(propertyIsEnumerableModule$2.f,e,t),e[t])};var objectDefineProperty={},DESCRIPTORS$t=descriptors,fails$Z=fails$13,v8PrototypeDefineBug=DESCRIPTORS$t&&fails$Z((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),isObject$t=isObject$x,$String$3=String,$TypeError$k=TypeError,anObject$q=function(e){if(isObject$t(e))return e;throw $TypeError$k($String$3(e)+" is not an object")},DESCRIPTORS$s=descriptors,IE8_DOM_DEFINE=ie8DomDefine,V8_PROTOTYPE_DEFINE_BUG$1=v8PrototypeDefineBug,anObject$p=anObject$q,toPropertyKey$3=toPropertyKey$5,$TypeError$j=TypeError,$defineProperty$1=Object.defineProperty,$getOwnPropertyDescriptor$1=Object.getOwnPropertyDescriptor,ENUMERABLE="enumerable",CONFIGURABLE$1="configurable",WRITABLE="writable";objectDefineProperty.f=DESCRIPTORS$s?V8_PROTOTYPE_DEFINE_BUG$1?function(e,t,r){if(anObject$p(e),t=toPropertyKey$3(t),anObject$p(r),"function"==typeof e&&"prototype"===t&&"value"in r&&WRITABLE in r&&!r[WRITABLE]){var n=$getOwnPropertyDescriptor$1(e,t);n&&n[WRITABLE]&&(e[t]=r.value,r={configurable:CONFIGURABLE$1 in r?r[CONFIGURABLE$1]:n[CONFIGURABLE$1],enumerable:ENUMERABLE in r?r[ENUMERABLE]:n[ENUMERABLE],writable:!1})}return $defineProperty$1(e,t,r)}:$defineProperty$1:function(e,t,r){if(anObject$p(e),t=toPropertyKey$3(t),anObject$p(r),IE8_DOM_DEFINE)try{return $defineProperty$1(e,t,r)}catch(e){}if("get"in r||"set"in r)throw $TypeError$j("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var DESCRIPTORS$r=descriptors,definePropertyModule$7=objectDefineProperty,createPropertyDescriptor$6=createPropertyDescriptor$8,createNonEnumerableProperty$a=DESCRIPTORS$r?function(e,t,r){return definePropertyModule$7.f(e,t,createPropertyDescriptor$6(1,r))}:function(e,t,r){return e[t]=r,e},makeBuiltIn$3={exports:{}},DESCRIPTORS$q=descriptors,hasOwn$s=hasOwnProperty_1,FunctionPrototype$2=Function.prototype,getDescriptor=DESCRIPTORS$q&&Object.getOwnPropertyDescriptor,EXISTS=hasOwn$s(FunctionPrototype$2,"name"),PROPER=EXISTS&&"something"===function(){}.name,CONFIGURABLE=EXISTS&&(!DESCRIPTORS$q||DESCRIPTORS$q&&getDescriptor(FunctionPrototype$2,"name").configurable),functionName={EXISTS:EXISTS,PROPER:PROPER,CONFIGURABLE:CONFIGURABLE},uncurryThis$Z=functionUncurryThis,isCallable$u=isCallable$A,store$1=sharedStore,functionToString$2=uncurryThis$Z(Function.toString);isCallable$u(store$1.inspectSource)||(store$1.inspectSource=function(e){return functionToString$2(e)});var set$8,get$a,has$2,inspectSource$3=store$1.inspectSource,global$H=global$O,isCallable$t=isCallable$A,WeakMap$1=global$H.WeakMap,weakMapBasicDetection=isCallable$t(WeakMap$1)&&/native code/.test(String(WeakMap$1)),shared$5=sharedExports,uid$4=uid$6,keys$a=shared$5("keys"),sharedKey$4=function(e){return keys$a[e]||(keys$a[e]=uid$4(e))},hiddenKeys$7={},NATIVE_WEAK_MAP=weakMapBasicDetection,global$G=global$O,isObject$s=isObject$x,createNonEnumerableProperty$9=createNonEnumerableProperty$a,hasOwn$r=hasOwnProperty_1,shared$4=sharedStore,sharedKey$3=sharedKey$4,hiddenKeys$6=hiddenKeys$7,OBJECT_ALREADY_INITIALIZED="Object already initialized",TypeError$9=global$G.TypeError,WeakMap=global$G.WeakMap,enforce=function(e){return has$2(e)?get$a(e):set$8(e,{})},getterFor=function(e){return function(t){var r;if(!isObject$s(t)||(r=get$a(t)).type!==e)throw TypeError$9("Incompatible receiver, "+e+" required");return r}};if(NATIVE_WEAK_MAP||shared$4.state){var store=shared$4.state||(shared$4.state=new WeakMap);store.get=store.get,store.has=store.has,store.set=store.set,set$8=function(e,t){if(store.has(e))throw TypeError$9(OBJECT_ALREADY_INITIALIZED);return t.facade=e,store.set(e,t),t},get$a=function(e){return store.get(e)||{}},has$2=function(e){return store.has(e)}}else{var STATE=sharedKey$3("state");hiddenKeys$6[STATE]=!0,set$8=function(e,t){if(hasOwn$r(e,STATE))throw TypeError$9(OBJECT_ALREADY_INITIALIZED);return t.facade=e,createNonEnumerableProperty$9(e,STATE,t),t},get$a=function(e){return hasOwn$r(e,STATE)?e[STATE]:{}},has$2=function(e){return hasOwn$r(e,STATE)}}var internalState={set:set$8,get:get$a,has:has$2,enforce:enforce,getterFor:getterFor},fails$Y=fails$13,isCallable$s=isCallable$A,hasOwn$q=hasOwnProperty_1,DESCRIPTORS$p=descriptors,CONFIGURABLE_FUNCTION_NAME$2=functionName.CONFIGURABLE,inspectSource$2=inspectSource$3,InternalStateModule$e=internalState,enforceInternalState$2=InternalStateModule$e.enforce,getInternalState$7=InternalStateModule$e.get,defineProperty$g=Object.defineProperty,CONFIGURABLE_LENGTH=DESCRIPTORS$p&&!fails$Y((function(){return 8!==defineProperty$g((function(){}),"length",{value:8}).length})),TEMPLATE=String(String).split("String"),makeBuiltIn$2=makeBuiltIn$3.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!hasOwn$q(e,"name")||CONFIGURABLE_FUNCTION_NAME$2&&e.name!==t)&&(DESCRIPTORS$p?defineProperty$g(e,"name",{value:t,configurable:!0}):e.name=t),CONFIGURABLE_LENGTH&&r&&hasOwn$q(r,"arity")&&e.length!==r.arity&&defineProperty$g(e,"length",{value:r.arity});try{r&&hasOwn$q(r,"constructor")&&r.constructor?DESCRIPTORS$p&&defineProperty$g(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=enforceInternalState$2(e);return hasOwn$q(n,"source")||(n.source=TEMPLATE.join("string"==typeof t?t:"")),e};Function.prototype.toString=makeBuiltIn$2((function(){return isCallable$s(this)&&getInternalState$7(this).source||inspectSource$2(this)}),"toString");var makeBuiltInExports=makeBuiltIn$3.exports,isCallable$r=isCallable$A,definePropertyModule$6=objectDefineProperty,makeBuiltIn$1=makeBuiltInExports,defineGlobalProperty$1=defineGlobalProperty$3,defineBuiltIn$l=function(e,t,r,n){n||(n={});var i=n.enumerable,o=void 0!==n.name?n.name:t;if(isCallable$r(r)&&makeBuiltIn$1(r,o,n),n.global)i?e[t]=r:defineGlobalProperty$1(t,r);else{try{n.unsafe?e[t]&&(i=!0):delete e[t]}catch(e){}i?e[t]=r:definePropertyModule$6.f(e,t,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},objectGetOwnPropertyNames={},ceil$2=Math.ceil,floor$d=Math.floor,mathTrunc=Math.trunc||function(e){var t=+e;return(t>0?floor$d:ceil$2)(t)},trunc$8=mathTrunc,toIntegerOrInfinity$e=function(e){var t=+e;return t!=t||0===t?0:trunc$8(t)},toIntegerOrInfinity$d=toIntegerOrInfinity$e,max$4=Math.max,min$9=Math.min,toAbsoluteIndex$8=function(e,t){var r=toIntegerOrInfinity$d(e);return r<0?max$4(r+t,0):min$9(r,t)},toIntegerOrInfinity$c=toIntegerOrInfinity$e,min$8=Math.min,toLength$d=function(e){return e>0?min$8(toIntegerOrInfinity$c(e),9007199254740991):0},toLength$c=toLength$d,lengthOfArrayLike$m=function(e){return toLength$c(e.length)},toIndexedObject$d=toIndexedObject$f,toAbsoluteIndex$7=toAbsoluteIndex$8,lengthOfArrayLike$l=lengthOfArrayLike$m,createMethod$a=function(e){return function(t,r,n){var i,o=toIndexedObject$d(t),a=lengthOfArrayLike$l(o),s=toAbsoluteIndex$7(n,a);if(e&&r!=r){for(;a>s;)if((i=o[s++])!=i)return!0}else for(;a>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},arrayIncludes={includes:createMethod$a(!0),indexOf:createMethod$a(!1)},uncurryThis$Y=functionUncurryThis,hasOwn$p=hasOwnProperty_1,toIndexedObject$c=toIndexedObject$f,indexOf$1=arrayIncludes.indexOf,hiddenKeys$5=hiddenKeys$7,push$n=uncurryThis$Y([].push),objectKeysInternal=function(e,t){var r,n=toIndexedObject$c(e),i=0,o=[];for(r in n)!hasOwn$p(hiddenKeys$5,r)&&hasOwn$p(n,r)&&push$n(o,r);for(;t.length>i;)hasOwn$p(n,r=t[i++])&&(~indexOf$1(o,r)||push$n(o,r));return o},enumBugKeys$3=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],internalObjectKeys$1=objectKeysInternal,enumBugKeys$2=enumBugKeys$3,hiddenKeys$4=enumBugKeys$2.concat("length","prototype");objectGetOwnPropertyNames.f=Object.getOwnPropertyNames||function(e){return internalObjectKeys$1(e,hiddenKeys$4)};var objectGetOwnPropertySymbols={};objectGetOwnPropertySymbols.f=Object.getOwnPropertySymbols;var getBuiltIn$c=getBuiltIn$f,uncurryThis$X=functionUncurryThis,getOwnPropertyNamesModule$3=objectGetOwnPropertyNames,getOwnPropertySymbolsModule$3=objectGetOwnPropertySymbols,anObject$o=anObject$q,concat$4=uncurryThis$X([].concat),ownKeys$4=getBuiltIn$c("Reflect","ownKeys")||function(e){var t=getOwnPropertyNamesModule$3.f(anObject$o(e)),r=getOwnPropertySymbolsModule$3.f;return r?concat$4(t,r(e)):t},hasOwn$o=hasOwnProperty_1,ownKeys$3=ownKeys$4,getOwnPropertyDescriptorModule$3=objectGetOwnPropertyDescriptor,definePropertyModule$5=objectDefineProperty,copyConstructorProperties$2=function(e,t,r){for(var n=ownKeys$3(t),i=definePropertyModule$5.f,o=getOwnPropertyDescriptorModule$3.f,a=0;a<n.length;a++){var s=n[a];hasOwn$o(e,s)||r&&hasOwn$o(r,s)||i(e,s,o(t,s))}},fails$X=fails$13,isCallable$q=isCallable$A,replacement=/#|\.prototype\./,isForced$4=function(e,t){var r=data[normalize(e)];return r==POLYFILL||r!=NATIVE&&(isCallable$q(t)?fails$X(t):!!t)},normalize=isForced$4.normalize=function(e){return String(e).replace(replacement,".").toLowerCase()},data=isForced$4.data={},NATIVE=isForced$4.NATIVE="N",POLYFILL=isForced$4.POLYFILL="P",isForced_1=isForced$4,global$F=global$O,getOwnPropertyDescriptor$6=objectGetOwnPropertyDescriptor.f,createNonEnumerableProperty$8=createNonEnumerableProperty$a,defineBuiltIn$k=defineBuiltIn$l,defineGlobalProperty=defineGlobalProperty$3,copyConstructorProperties$1=copyConstructorProperties$2,isForced$3=isForced_1,_export=function(e,t){var r,n,i,o,a,s=e.target,l=e.global,c=e.stat;if(r=l?global$F:c?global$F[s]||defineGlobalProperty(s,{}):(global$F[s]||{}).prototype)for(n in t){if(o=t[n],i=e.dontCallGetSet?(a=getOwnPropertyDescriptor$6(r,n))&&a.value:r[n],!isForced$3(l?n:s+(c?".":"#")+n,e.forced)&&void 0!==i){if(typeof o==typeof i)continue;copyConstructorProperties$1(o,i)}(e.sham||i&&i.sham)&&createNonEnumerableProperty$8(o,"sham",!0),defineBuiltIn$k(r,n,o,e)}},NATIVE_BIND$2=functionBindNative,FunctionPrototype$1=Function.prototype,apply$a=FunctionPrototype$1.apply,call$x=FunctionPrototype$1.call,functionApply="object"==typeof Reflect&&Reflect.apply||(NATIVE_BIND$2?call$x.bind(apply$a):function(){return call$x.apply(apply$a,arguments)}),uncurryThis$W=functionUncurryThis,arraySlice$f=uncurryThis$W([].slice),$TypeError$i=TypeError,validateArgumentsLength$7=function(e,t){if(e<t)throw $TypeError$i("Not enough arguments");return e},global$E=global$O,apply$9=functionApply,isCallable$p=isCallable$A,userAgent$9=engineUserAgent,arraySlice$e=arraySlice$f,validateArgumentsLength$6=validateArgumentsLength$7,MSIE=/MSIE .\./.test(userAgent$9),Function$2=global$E.Function,wrap$1=function(e){return MSIE?function(t,r){var n=validateArgumentsLength$6(arguments.length,1)>2,i=isCallable$p(t)?t:Function$2(t),o=n?arraySlice$e(arguments,2):void 0;return e(n?function(){apply$9(i,this,o)}:i,r)}:e},schedulersFix={setTimeout:wrap$1(global$E.setTimeout),setInterval:wrap$1(global$E.setInterval)},$$1H=_export,global$D=global$O,setInterval$5=schedulersFix.setInterval;$$1H({global:!0,bind:!0,forced:global$D.setInterval!==setInterval$5},{setInterval:setInterval$5});var $$1G=_export,global$C=global$O,setTimeout$1=schedulersFix.setTimeout;$$1G({global:!0,bind:!0,forced:global$C.setTimeout!==setTimeout$1},{setTimeout:setTimeout$1});var classofRaw$1=classofRaw$2,uncurryThis$V=functionUncurryThis,functionUncurryThisClause=function(e){if("Function"===classofRaw$1(e))return uncurryThis$V(e)},uncurryThis$U=functionUncurryThisClause,aCallable$h=aCallable$j,NATIVE_BIND$1=functionBindNative,bind$o=functionUncurryThisClause(functionUncurryThisClause.bind),functionBindContext=function(e,t){return aCallable$h(e),void 0===t?e:NATIVE_BIND$1?bind$o(e,t):function(){return e.apply(t,arguments)}},classof$l=classofRaw$2,isArray$6=Array.isArray||function(e){return"Array"==classof$l(e)},wellKnownSymbol$v=wellKnownSymbol$x,TO_STRING_TAG$4=wellKnownSymbol$v("toStringTag"),test$2={};test$2[TO_STRING_TAG$4]="z";var toStringTagSupport="[object z]"===String(test$2),TO_STRING_TAG_SUPPORT$2=toStringTagSupport,isCallable$o=isCallable$A,classofRaw=classofRaw$2,wellKnownSymbol$u=wellKnownSymbol$x,TO_STRING_TAG$3=wellKnownSymbol$u("toStringTag"),$Object$1=Object,CORRECT_ARGUMENTS="Arguments"==classofRaw(function(){return arguments}()),tryGet=function(e,t){try{return e[t]}catch(e){}},classof$k=TO_STRING_TAG_SUPPORT$2?classofRaw:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=tryGet(t=$Object$1(e),TO_STRING_TAG$3))?r:CORRECT_ARGUMENTS?classofRaw(t):"Object"==(n=classofRaw(t))&&isCallable$o(t.callee)?"Arguments":n},uncurryThis$T=functionUncurryThis,fails$W=fails$13,isCallable$n=isCallable$A,classof$j=classof$k,getBuiltIn$b=getBuiltIn$f,inspectSource$1=inspectSource$3,noop$1=function(){},empty=[],construct$1=getBuiltIn$b("Reflect","construct"),constructorRegExp=/^\s*(?:class|function)\b/,exec$8=uncurryThis$T(constructorRegExp.exec),INCORRECT_TO_STRING=!constructorRegExp.exec(noop$1),isConstructorModern=function(e){if(!isCallable$n(e))return!1;try{return construct$1(noop$1,empty,e),!0}catch(e){return!1}},isConstructorLegacy=function(e){if(!isCallable$n(e))return!1;switch(classof$j(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return INCORRECT_TO_STRING||!!exec$8(constructorRegExp,inspectSource$1(e))}catch(e){return!0}};isConstructorLegacy.sham=!0;var isConstructor$4=!construct$1||fails$W((function(){var e;return isConstructorModern(isConstructorModern.call)||!isConstructorModern(Object)||!isConstructorModern((function(){e=!0}))||e}))?isConstructorLegacy:isConstructorModern,isArray$5=isArray$6,isConstructor$3=isConstructor$4,isObject$r=isObject$x,wellKnownSymbol$t=wellKnownSymbol$x,SPECIES$6=wellKnownSymbol$t("species"),$Array$4=Array,arraySpeciesConstructor$1=function(e){var t;return isArray$5(e)&&(t=e.constructor,(isConstructor$3(t)&&(t===$Array$4||isArray$5(t.prototype))||isObject$r(t)&&null===(t=t[SPECIES$6]))&&(t=void 0)),void 0===t?$Array$4:t},arraySpeciesConstructor=arraySpeciesConstructor$1,arraySpeciesCreate$3=function(e,t){return new(arraySpeciesConstructor(e))(0===t?0:t)},bind$n=functionBindContext,uncurryThis$S=functionUncurryThis,IndexedObject$5=indexedObject,toObject$i=toObject$k,lengthOfArrayLike$k=lengthOfArrayLike$m,arraySpeciesCreate$2=arraySpeciesCreate$3,push$m=uncurryThis$S([].push),createMethod$9=function(e){var t=1==e,r=2==e,n=3==e,i=4==e,o=6==e,a=7==e,s=5==e||o;return function(l,c,u,d){for(var p,y,h=toObject$i(l),f=IndexedObject$5(h),$=bind$n(c,u),m=lengthOfArrayLike$k(f),b=0,g=d||arraySpeciesCreate$2,S=t?g(l,m):r||a?g(l,0):void 0;m>b;b++)if((s||b in f)&&(y=$(p=f[b],b,h),e))if(t)S[b]=y;else if(y)switch(e){case 3:return!0;case 5:return p;case 6:return b;case 2:push$m(S,p)}else switch(e){case 4:return!1;case 7:push$m(S,p)}return o?-1:n||i?i:S}},arrayIteration={forEach:createMethod$9(0),map:createMethod$9(1),filter:createMethod$9(2),some:createMethod$9(3),every:createMethod$9(4),find:createMethod$9(5),findIndex:createMethod$9(6),filterReject:createMethod$9(7)},fails$V=fails$13,wellKnownSymbol$s=wellKnownSymbol$x,V8_VERSION$2=engineV8Version,SPECIES$5=wellKnownSymbol$s("species"),arrayMethodHasSpeciesSupport$5=function(e){return V8_VERSION$2>=51||!fails$V((function(){var t=[];return(t.constructor={})[SPECIES$5]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},$$1F=_export,$filter$1=arrayIteration.filter,arrayMethodHasSpeciesSupport$4=arrayMethodHasSpeciesSupport$5,HAS_SPECIES_SUPPORT$3=arrayMethodHasSpeciesSupport$4("filter");$$1F({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$3},{filter:function(e){return $filter$1(this,e,arguments.length>1?arguments[1]:void 0)}});var TO_STRING_TAG_SUPPORT$1=toStringTagSupport,classof$i=classof$k,objectToString=TO_STRING_TAG_SUPPORT$1?{}.toString:function(){return"[object "+classof$i(this)+"]"},TO_STRING_TAG_SUPPORT=toStringTagSupport,defineBuiltIn$j=defineBuiltIn$l,toString$q=objectToString;TO_STRING_TAG_SUPPORT||defineBuiltIn$j(Object.prototype,"toString",toString$q,{unsafe:!0});var $TypeError$h=TypeError,MAX_SAFE_INTEGER=9007199254740991,doesNotExceedSafeInteger$3=function(e){if(e>MAX_SAFE_INTEGER)throw $TypeError$h("Maximum allowed index exceeded");return e},toPropertyKey$2=toPropertyKey$5,definePropertyModule$4=objectDefineProperty,createPropertyDescriptor$5=createPropertyDescriptor$8,createProperty$5=function(e,t,r){var n=toPropertyKey$2(t);n in e?definePropertyModule$4.f(e,n,createPropertyDescriptor$5(0,r)):e[n]=r},$$1E=_export,fails$U=fails$13,isArray$4=isArray$6,isObject$q=isObject$x,toObject$h=toObject$k,lengthOfArrayLike$j=lengthOfArrayLike$m,doesNotExceedSafeInteger$2=doesNotExceedSafeInteger$3,createProperty$4=createProperty$5,arraySpeciesCreate$1=arraySpeciesCreate$3,arrayMethodHasSpeciesSupport$3=arrayMethodHasSpeciesSupport$5,wellKnownSymbol$r=wellKnownSymbol$x,V8_VERSION$1=engineV8Version,IS_CONCAT_SPREADABLE=wellKnownSymbol$r("isConcatSpreadable"),IS_CONCAT_SPREADABLE_SUPPORT=V8_VERSION$1>=51||!fails$U((function(){var e=[];return e[IS_CONCAT_SPREADABLE]=!1,e.concat()[0]!==e})),SPECIES_SUPPORT=arrayMethodHasSpeciesSupport$3("concat"),isConcatSpreadable=function(e){if(!isObject$q(e))return!1;var t=e[IS_CONCAT_SPREADABLE];return void 0!==t?!!t:isArray$4(e)},FORCED$i=!IS_CONCAT_SPREADABLE_SUPPORT||!SPECIES_SUPPORT;$$1E({target:"Array",proto:!0,arity:1,forced:FORCED$i},{concat:function(e){var t,r,n,i,o,a=toObject$h(this),s=arraySpeciesCreate$1(a,0),l=0;for(t=-1,n=arguments.length;t<n;t++)if(isConcatSpreadable(o=-1===t?a:arguments[t]))for(i=lengthOfArrayLike$j(o),doesNotExceedSafeInteger$2(l+i),r=0;r<i;r++,l++)r in o&&createProperty$4(s,l,o[r]);else doesNotExceedSafeInteger$2(l+1),createProperty$4(s,l++,o);return s.length=l,s}});var fails$T=fails$13,arrayMethodIsStrict$c=function(e,t){var r=[][e];return!!r&&fails$T((function(){r.call(null,t||function(){return 1},1)}))},$$1D=_export,$every$1=arrayIteration.every,arrayMethodIsStrict$b=arrayMethodIsStrict$c,STRICT_METHOD$a=arrayMethodIsStrict$b("every");$$1D({target:"Array",proto:!0,forced:!STRICT_METHOD$a},{every:function(e){return $every$1(this,e,arguments.length>1?arguments[1]:void 0)}});var internalObjectKeys=objectKeysInternal,enumBugKeys$1=enumBugKeys$3,objectKeys$5=Object.keys||function(e){return internalObjectKeys(e,enumBugKeys$1)},$$1C=_export,toObject$g=toObject$k,nativeKeys=objectKeys$5,fails$S=fails$13,FAILS_ON_PRIMITIVES$4=fails$S((function(){nativeKeys(1)}));$$1C({target:"Object",stat:!0,forced:FAILS_ON_PRIMITIVES$4},{keys:function(e){return nativeKeys(toObject$g(e))}});var $$1B=_export,getBuiltIn$a=getBuiltIn$f,apply$8=functionApply,call$w=functionCall,uncurryThis$R=functionUncurryThis,fails$R=fails$13,isArray$3=isArray$6,isCallable$m=isCallable$A,isObject$p=isObject$x,isSymbol$3=isSymbol$6,arraySlice$d=arraySlice$f,NATIVE_SYMBOL$4=symbolConstructorDetection,$stringify=getBuiltIn$a("JSON","stringify"),exec$7=uncurryThis$R(/./.exec),charAt$b=uncurryThis$R("".charAt),charCodeAt$4=uncurryThis$R("".charCodeAt),replace$a=uncurryThis$R("".replace),numberToString$2=uncurryThis$R(1..toString),tester=/[\uD800-\uDFFF]/g,low=/^[\uD800-\uDBFF]$/,hi=/^[\uDC00-\uDFFF]$/,WRONG_SYMBOLS_CONVERSION=!NATIVE_SYMBOL$4||fails$R((function(){var e=getBuiltIn$a("Symbol")();return"[null]"!=$stringify([e])||"{}"!=$stringify({a:e})||"{}"!=$stringify(Object(e))})),ILL_FORMED_UNICODE=fails$R((function(){return'"\\udf06\\ud834"'!==$stringify("\udf06\ud834")||'"\\udead"'!==$stringify("\udead")})),stringifyWithSymbolsFix=function(e,t){var r=arraySlice$d(arguments),n=t;if((isObject$p(t)||void 0!==e)&&!isSymbol$3(e))return isArray$3(t)||(t=function(e,t){if(isCallable$m(n)&&(t=call$w(n,this,e,t)),!isSymbol$3(t))return t}),r[1]=t,apply$8($stringify,null,r)},fixIllFormed=function(e,t,r){var n=charAt$b(r,t-1),i=charAt$b(r,t+1);return exec$7(low,e)&&!exec$7(hi,i)||exec$7(hi,e)&&!exec$7(low,n)?"\\u"+numberToString$2(charCodeAt$4(e,0),16):e};$stringify&&$$1B({target:"JSON",stat:!0,arity:3,forced:WRONG_SYMBOLS_CONVERSION||ILL_FORMED_UNICODE},{stringify:function(e,t,r){var n=arraySlice$d(arguments),i=apply$8(WRONG_SYMBOLS_CONVERSION?stringifyWithSymbolsFix:$stringify,null,n);return ILL_FORMED_UNICODE&&"string"==typeof i?replace$a(i,tester,fixIllFormed):i}});var $$1A=_export,uncurryThis$Q=functionUncurryThisClause,$indexOf$1=arrayIncludes.indexOf,arrayMethodIsStrict$a=arrayMethodIsStrict$c,nativeIndexOf=uncurryThis$Q([].indexOf),NEGATIVE_ZERO$2=!!nativeIndexOf&&1/nativeIndexOf([1],1,-0)<0,STRICT_METHOD$9=arrayMethodIsStrict$a("indexOf");$$1A({target:"Array",proto:!0,forced:NEGATIVE_ZERO$2||!STRICT_METHOD$9},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return NEGATIVE_ZERO$2?nativeIndexOf(this,e,t)||0:$indexOf$1(this,e,t)}});var uncurryThis$P=functionUncurryThis,aCallable$g=aCallable$j,isObject$o=isObject$x,hasOwn$n=hasOwnProperty_1,arraySlice$c=arraySlice$f,NATIVE_BIND=functionBindNative,$Function=Function,concat$3=uncurryThis$P([].concat),join$7=uncurryThis$P([].join),factories={},construct2=function(e,t,r){if(!hasOwn$n(factories,t)){for(var n=[],i=0;i<t;i++)n[i]="a["+i+"]";factories[t]=$Function("C,a","return new C("+join$7(n,",")+")")}return factories[t](e,r)},functionBind=NATIVE_BIND?$Function.bind:function(e){var t=aCallable$g(this),r=t.prototype,n=arraySlice$c(arguments,1),i=function(){var r=concat$3(n,arraySlice$c(arguments));return this instanceof i?construct2(t,r.length,r):t.apply(e,r)};return isObject$o(r)&&(i.prototype=r),i},$$1z=_export,bind$m=functionBind;$$1z({target:"Function",proto:!0,forced:Function.bind!==bind$m},{bind:bind$m});var $$1y=_export,$map$1=arrayIteration.map,arrayMethodHasSpeciesSupport$2=arrayMethodHasSpeciesSupport$5,HAS_SPECIES_SUPPORT$2=arrayMethodHasSpeciesSupport$2("map");$$1y({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$2},{map:function(e){return $map$1(this,e,arguments.length>1?arguments[1]:void 0)}});var $forEach$2=arrayIteration.forEach,arrayMethodIsStrict$9=arrayMethodIsStrict$c,STRICT_METHOD$8=arrayMethodIsStrict$9("forEach"),arrayForEach=STRICT_METHOD$8?[].forEach:function(e){return $forEach$2(this,e,arguments.length>1?arguments[1]:void 0)},$$1x=_export,forEach$4=arrayForEach;$$1x({target:"Array",proto:!0,forced:[].forEach!=arrayForEach},{forEach:arrayForEach});var domIterables={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},documentCreateElement$1=documentCreateElement$2,classList=documentCreateElement$1("span").classList,DOMTokenListPrototype$2=classList&&classList.constructor&&classList.constructor.prototype,domTokenListPrototype=DOMTokenListPrototype$2===Object.prototype?void 0:DOMTokenListPrototype$2,global$B=global$O,DOMIterables$4=domIterables,DOMTokenListPrototype$1=domTokenListPrototype,forEach$3=arrayForEach,createNonEnumerableProperty$7=createNonEnumerableProperty$a,handlePrototype$1=function(e){if(e&&e.forEach!==forEach$3)try{createNonEnumerableProperty$7(e,"forEach",forEach$3)}catch(t){e.forEach=forEach$3}};for(var COLLECTION_NAME$1 in DOMIterables$4)DOMIterables$4[COLLECTION_NAME$1]&&handlePrototype$1(global$B[COLLECTION_NAME$1]&&global$B[COLLECTION_NAME$1].prototype);handlePrototype$1(DOMTokenListPrototype$1);var DESCRIPTORS$o=descriptors,uncurryThis$O=functionUncurryThis,call$v=functionCall,fails$Q=fails$13,objectKeys$4=objectKeys$5,getOwnPropertySymbolsModule$2=objectGetOwnPropertySymbols,propertyIsEnumerableModule$1=objectPropertyIsEnumerable,toObject$f=toObject$k,IndexedObject$4=indexedObject,$assign=Object.assign,defineProperty$f=Object.defineProperty,concat$2=uncurryThis$O([].concat),objectAssign=!$assign||fails$Q((function(){if(DESCRIPTORS$o&&1!==$assign({b:1},$assign(defineProperty$f({},"a",{enumerable:!0,get:function(){defineProperty$f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach((function(e){t[e]=e})),7!=$assign({},e)[r]||objectKeys$4($assign({},t)).join("")!=n}))?function(e,t){for(var r=toObject$f(e),n=arguments.length,i=1,o=getOwnPropertySymbolsModule$2.f,a=propertyIsEnumerableModule$1.f;n>i;)for(var s,l=IndexedObject$4(arguments[i++]),c=o?concat$2(objectKeys$4(l),o(l)):objectKeys$4(l),u=c.length,d=0;u>d;)s=c[d++],DESCRIPTORS$o&&!call$v(a,l,s)||(r[s]=l[s]);return r}:$assign,$$1w=_export,assign$4=objectAssign;$$1w({target:"Object",stat:!0,arity:2,forced:Object.assign!==assign$4},{assign:assign$4});var objectDefineProperties={},DESCRIPTORS$n=descriptors,V8_PROTOTYPE_DEFINE_BUG=v8PrototypeDefineBug,definePropertyModule$3=objectDefineProperty,anObject$n=anObject$q,toIndexedObject$b=toIndexedObject$f,objectKeys$3=objectKeys$5;objectDefineProperties.f=DESCRIPTORS$n&&!V8_PROTOTYPE_DEFINE_BUG?Object.defineProperties:function(e,t){anObject$n(e);for(var r,n=toIndexedObject$b(t),i=objectKeys$3(t),o=i.length,a=0;o>a;)definePropertyModule$3.f(e,r=i[a++],n[r]);return e};var activeXDocument,getBuiltIn$9=getBuiltIn$f,html$2=getBuiltIn$9("document","documentElement"),anObject$m=anObject$q,definePropertiesModule$1=objectDefineProperties,enumBugKeys=enumBugKeys$3,hiddenKeys$3=hiddenKeys$7,html$1=html$2,documentCreateElement=documentCreateElement$2,sharedKey$2=sharedKey$4,GT=">",LT="<",PROTOTYPE$2="prototype",SCRIPT="script",IE_PROTO$1=sharedKey$2("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return LT+SCRIPT+GT+e+LT+"/"+SCRIPT+GT},NullProtoObjectViaActiveX=function(e){e.write(scriptTag("")),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObjectViaIFrame=function(){var e,t=documentCreateElement("iframe"),r="java"+SCRIPT+":";return t.style.display="none",html$1.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(scriptTag("document.F=Object")),e.close(),e.F},NullProtoObject=function(){try{activeXDocument=new ActiveXObject("htmlfile")}catch(e){}NullProtoObject="undefined"!=typeof document?document.domain&&activeXDocument?NullProtoObjectViaActiveX(activeXDocument):NullProtoObjectViaIFrame():NullProtoObjectViaActiveX(activeXDocument);for(var e=enumBugKeys.length;e--;)delete NullProtoObject[PROTOTYPE$2][enumBugKeys[e]];return NullProtoObject()};hiddenKeys$3[IE_PROTO$1]=!0;var objectCreate=Object.create||function(e,t){var r;return null!==e?(EmptyConstructor[PROTOTYPE$2]=anObject$m(e),r=new EmptyConstructor,EmptyConstructor[PROTOTYPE$2]=null,r[IE_PROTO$1]=e):r=NullProtoObject(),void 0===t?r:definePropertiesModule$1.f(r,t)},wellKnownSymbol$q=wellKnownSymbol$x,create$9=objectCreate,defineProperty$e=objectDefineProperty.f,UNSCOPABLES=wellKnownSymbol$q("unscopables"),ArrayPrototype$b=Array.prototype;null==ArrayPrototype$b[UNSCOPABLES]&&defineProperty$e(ArrayPrototype$b,UNSCOPABLES,{configurable:!0,value:create$9(null)});var IteratorPrototype$2,PrototypeOfArrayIteratorPrototype,arrayIterator,addToUnscopables$3=function(e){ArrayPrototype$b[UNSCOPABLES][e]=!0},iterators={},fails$P=fails$13,correctPrototypeGetter=!fails$P((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),hasOwn$m=hasOwnProperty_1,isCallable$l=isCallable$A,toObject$e=toObject$k,sharedKey$1=sharedKey$4,CORRECT_PROTOTYPE_GETTER$1=correctPrototypeGetter,IE_PROTO=sharedKey$1("IE_PROTO"),$Object=Object,ObjectPrototype$4=$Object.prototype,objectGetPrototypeOf=CORRECT_PROTOTYPE_GETTER$1?$Object.getPrototypeOf:function(e){var t=toObject$e(e);if(hasOwn$m(t,IE_PROTO))return t[IE_PROTO];var r=t.constructor;return isCallable$l(r)&&t instanceof r?r.prototype:t instanceof $Object?ObjectPrototype$4:null},fails$O=fails$13,isCallable$k=isCallable$A,isObject$n=isObject$x,getPrototypeOf$4=objectGetPrototypeOf,defineBuiltIn$i=defineBuiltIn$l,wellKnownSymbol$p=wellKnownSymbol$x,ITERATOR$d=wellKnownSymbol$p("iterator"),BUGGY_SAFARI_ITERATORS$1=!1;[].keys&&("next"in(arrayIterator=[].keys())?(PrototypeOfArrayIteratorPrototype=getPrototypeOf$4(getPrototypeOf$4(arrayIterator)))!==Object.prototype&&(IteratorPrototype$2=PrototypeOfArrayIteratorPrototype):BUGGY_SAFARI_ITERATORS$1=!0);var NEW_ITERATOR_PROTOTYPE=!isObject$n(IteratorPrototype$2)||fails$O((function(){var e={};return IteratorPrototype$2[ITERATOR$d].call(e)!==e}));NEW_ITERATOR_PROTOTYPE&&(IteratorPrototype$2={}),isCallable$k(IteratorPrototype$2[ITERATOR$d])||defineBuiltIn$i(IteratorPrototype$2,ITERATOR$d,(function(){return this}));var iteratorsCore={IteratorPrototype:IteratorPrototype$2,BUGGY_SAFARI_ITERATORS:BUGGY_SAFARI_ITERATORS$1},defineProperty$d=objectDefineProperty.f,hasOwn$l=hasOwnProperty_1,wellKnownSymbol$o=wellKnownSymbol$x,TO_STRING_TAG$2=wellKnownSymbol$o("toStringTag"),setToStringTag$b=function(e,t,r){e&&!r&&(e=e.prototype),e&&!hasOwn$l(e,TO_STRING_TAG$2)&&defineProperty$d(e,TO_STRING_TAG$2,{configurable:!0,value:t})},IteratorPrototype$1=iteratorsCore.IteratorPrototype,create$8=objectCreate,createPropertyDescriptor$4=createPropertyDescriptor$8,setToStringTag$a=setToStringTag$b,Iterators$4=iterators,returnThis$1=function(){return this},iteratorCreateConstructor=function(e,t,r,n){var i=t+" Iterator";return e.prototype=create$8(IteratorPrototype$1,{next:createPropertyDescriptor$4(+!n,r)}),setToStringTag$a(e,i,!1),Iterators$4[i]=returnThis$1,e},isCallable$j=isCallable$A,$String$2=String,$TypeError$g=TypeError,aPossiblePrototype$1=function(e){if("object"==typeof e||isCallable$j(e))return e;throw $TypeError$g("Can't set "+$String$2(e)+" as a prototype")},uncurryThis$N=functionUncurryThis,anObject$l=anObject$q,aPossiblePrototype=aPossiblePrototype$1,objectSetPrototypeOf=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=uncurryThis$N(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(r,[]),t=r instanceof Array}catch(e){}return function(r,n){return anObject$l(r),aPossiblePrototype(n),t?e(r,n):r.__proto__=n,r}}():void 0),$$1v=_export,call$u=functionCall,FunctionName$1=functionName,isCallable$i=isCallable$A,createIteratorConstructor$2=iteratorCreateConstructor,getPrototypeOf$3=objectGetPrototypeOf,setPrototypeOf$5=objectSetPrototypeOf,setToStringTag$9=setToStringTag$b,createNonEnumerableProperty$6=createNonEnumerableProperty$a,defineBuiltIn$h=defineBuiltIn$l,wellKnownSymbol$n=wellKnownSymbol$x,Iterators$3=iterators,IteratorsCore=iteratorsCore,PROPER_FUNCTION_NAME$4=FunctionName$1.PROPER,CONFIGURABLE_FUNCTION_NAME$1=FunctionName$1.CONFIGURABLE,IteratorPrototype=IteratorsCore.IteratorPrototype,BUGGY_SAFARI_ITERATORS=IteratorsCore.BUGGY_SAFARI_ITERATORS,ITERATOR$c=wellKnownSymbol$n("iterator"),KEYS="keys",VALUES="values",ENTRIES="entries",returnThis=function(){return this},iteratorDefine=function(e,t,r,n,i,o,a){createIteratorConstructor$2(r,t,n);var s,l,c,u=function(e){if(e===i&&f)return f;if(!BUGGY_SAFARI_ITERATORS&&e in y)return y[e];switch(e){case KEYS:case VALUES:case ENTRIES:return function(){return new r(this,e)}}return function(){return new r(this)}},d=t+" Iterator",p=!1,y=e.prototype,h=y[ITERATOR$c]||y["@@iterator"]||i&&y[i],f=!BUGGY_SAFARI_ITERATORS&&h||u(i),$="Array"==t&&y.entries||h;if($&&(s=getPrototypeOf$3($.call(new e)))!==Object.prototype&&s.next&&(getPrototypeOf$3(s)!==IteratorPrototype&&(setPrototypeOf$5?setPrototypeOf$5(s,IteratorPrototype):isCallable$i(s[ITERATOR$c])||defineBuiltIn$h(s,ITERATOR$c,returnThis)),setToStringTag$9(s,d,!0)),PROPER_FUNCTION_NAME$4&&i==VALUES&&h&&h.name!==VALUES&&(CONFIGURABLE_FUNCTION_NAME$1?createNonEnumerableProperty$6(y,"name",VALUES):(p=!0,f=function(){return call$u(h,this)})),i)if(l={values:u(VALUES),keys:o?f:u(KEYS),entries:u(ENTRIES)},a)for(c in l)(BUGGY_SAFARI_ITERATORS||p||!(c in y))&&defineBuiltIn$h(y,c,l[c]);else $$1v({target:t,proto:!0,forced:BUGGY_SAFARI_ITERATORS||p},l);return y[ITERATOR$c]!==f&&defineBuiltIn$h(y,ITERATOR$c,f,{name:i}),Iterators$3[t]=f,l},createIterResultObject$4=function(e,t){return{value:e,done:t}},toIndexedObject$a=toIndexedObject$f,addToUnscopables$2=addToUnscopables$3,Iterators$2=iterators,InternalStateModule$d=internalState,defineProperty$c=objectDefineProperty.f,defineIterator$3=iteratorDefine,createIterResultObject$3=createIterResultObject$4,DESCRIPTORS$m=descriptors,ARRAY_ITERATOR="Array Iterator",setInternalState$c=InternalStateModule$d.set,getInternalState$6=InternalStateModule$d.getterFor(ARRAY_ITERATOR),es_array_iterator=defineIterator$3(Array,"Array",(function(e,t){setInternalState$c(this,{type:ARRAY_ITERATOR,target:toIndexedObject$a(e),index:0,kind:t})}),(function(){var e=getInternalState$6(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,createIterResultObject$3(void 0,!0)):createIterResultObject$3("keys"==r?n:"values"==r?t[n]:[n,t[n]],!1)}),"values"),values$d=Iterators$2.Arguments=Iterators$2.Array;if(addToUnscopables$2("keys"),addToUnscopables$2("values"),addToUnscopables$2("entries"),DESCRIPTORS$m&&"values"!==values$d.name)try{defineProperty$c(values$d,"name",{value:"values"})}catch(e){}var $location,defer,channel,port,classof$h=classofRaw$2,global$A=global$O,engineIsNode="process"==classof$h(global$A.process),getBuiltIn$8=getBuiltIn$f,definePropertyModule$2=objectDefineProperty,wellKnownSymbol$m=wellKnownSymbol$x,DESCRIPTORS$l=descriptors,SPECIES$4=wellKnownSymbol$m("species"),setSpecies$5=function(e){var t=getBuiltIn$8(e),r=definePropertyModule$2.f;DESCRIPTORS$l&&t&&!t[SPECIES$4]&&r(t,SPECIES$4,{configurable:!0,get:function(){return this}})},isPrototypeOf$m=objectIsPrototypeOf,$TypeError$f=TypeError,anInstance$b=function(e,t){if(isPrototypeOf$m(t,e))return e;throw $TypeError$f("Incorrect invocation")},isConstructor$2=isConstructor$4,tryToString$6=tryToString$8,$TypeError$e=TypeError,aConstructor$4=function(e){if(isConstructor$2(e))return e;throw $TypeError$e(tryToString$6(e)+" is not a constructor")},anObject$k=anObject$q,aConstructor$3=aConstructor$4,isNullOrUndefined$8=isNullOrUndefined$b,wellKnownSymbol$l=wellKnownSymbol$x,SPECIES$3=wellKnownSymbol$l("species"),speciesConstructor$5=function(e,t){var r,n=anObject$k(e).constructor;return void 0===n||isNullOrUndefined$8(r=anObject$k(n)[SPECIES$3])?t:aConstructor$3(r)},userAgent$8=engineUserAgent,engineIsIos=/(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$8),global$z=global$O,apply$7=functionApply,bind$l=functionBindContext,isCallable$h=isCallable$A,hasOwn$k=hasOwnProperty_1,fails$N=fails$13,html=html$2,arraySlice$b=arraySlice$f,createElement=documentCreateElement$2,validateArgumentsLength$5=validateArgumentsLength$7,IS_IOS$1=engineIsIos,IS_NODE$5=engineIsNode,set$7=global$z.setImmediate,clear=global$z.clearImmediate,process$4=global$z.process,Dispatch=global$z.Dispatch,Function$1=global$z.Function,MessageChannel=global$z.MessageChannel,String$1=global$z.String,counter=0,queue$1={},ONREADYSTATECHANGE="onreadystatechange";try{$location=global$z.location}catch(e){}var run=function(e){if(hasOwn$k(queue$1,e)){var t=queue$1[e];delete queue$1[e],t()}},runner=function(e){return function(){run(e)}},listener=function(e){run(e.data)},post=function(e){global$z.postMessage(String$1(e),$location.protocol+"//"+$location.host)};set$7&&clear||(set$7=function(e){validateArgumentsLength$5(arguments.length,1);var t=isCallable$h(e)?e:Function$1(e),r=arraySlice$b(arguments,1);return queue$1[++counter]=function(){apply$7(t,void 0,r)},defer(counter),counter},clear=function(e){delete queue$1[e]},IS_NODE$5?defer=function(e){process$4.nextTick(runner(e))}:Dispatch&&Dispatch.now?defer=function(e){Dispatch.now(runner(e))}:MessageChannel&&!IS_IOS$1?(port=(channel=new MessageChannel).port2,channel.port1.onmessage=listener,defer=bind$l(port.postMessage,port)):global$z.addEventListener&&isCallable$h(global$z.postMessage)&&!global$z.importScripts&&$location&&"file:"!==$location.protocol&&!fails$N(post)?(defer=post,global$z.addEventListener("message",listener,!1)):defer=ONREADYSTATECHANGE in createElement("script")?function(e){html.appendChild(createElement("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run(e)}}:function(e){setTimeout(runner(e),0)});var flush,head,last,notify$1,toggle,node,promise,then,task$1={set:set$7,clear:clear},userAgent$7=engineUserAgent,global$y=global$O,engineIsIosPebble=/ipad|iphone|ipod/i.test(userAgent$7)&&void 0!==global$y.Pebble,userAgent$6=engineUserAgent,engineIsWebosWebkit=/web0s(?!.*chrome)/i.test(userAgent$6),global$x=global$O,bind$k=functionBindContext,getOwnPropertyDescriptor$5=objectGetOwnPropertyDescriptor.f,macrotask=task$1.set,IS_IOS=engineIsIos,IS_IOS_PEBBLE=engineIsIosPebble,IS_WEBOS_WEBKIT=engineIsWebosWebkit,IS_NODE$4=engineIsNode,MutationObserver=global$x.MutationObserver||global$x.WebKitMutationObserver,document$2=global$x.document,process$3=global$x.process,Promise$1=global$x.Promise,queueMicrotaskDescriptor=getOwnPropertyDescriptor$5(global$x,"queueMicrotask"),queueMicrotask=queueMicrotaskDescriptor&&queueMicrotaskDescriptor.value;queueMicrotask||(flush=function(){var e,t;for(IS_NODE$4&&(e=process$3.domain)&&e.exit();head;){t=head.fn,head=head.next;try{t()}catch(e){throw head?notify$1():last=void 0,e}}last=void 0,e&&e.enter()},IS_IOS||IS_NODE$4||IS_WEBOS_WEBKIT||!MutationObserver||!document$2?!IS_IOS_PEBBLE&&Promise$1&&Promise$1.resolve?((promise=Promise$1.resolve(void 0)).constructor=Promise$1,then=bind$k(promise.then,promise),notify$1=function(){then(flush)}):IS_NODE$4?notify$1=function(){process$3.nextTick(flush)}:(macrotask=bind$k(macrotask,global$x),notify$1=function(){macrotask(flush)}):(toggle=!0,node=document$2.createTextNode(""),new MutationObserver(flush).observe(node,{characterData:!0}),notify$1=function(){node.data=toggle=!toggle}));var microtask$1=queueMicrotask||function(e){var t={fn:e,next:void 0};last&&(last.next=t),head||(head=t,notify$1()),last=t},global$w=global$O,hostReportErrors$1=function(e,t){var r=global$w.console;r&&r.error&&(1==arguments.length?r.error(e):r.error(e,t))},perform$3=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},Queue$1=function(){this.head=null,this.tail=null};Queue$1.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}};var queue=Queue$1,global$v=global$O,promiseNativeConstructor=global$v.Promise,engineIsDeno="object"==typeof Deno&&Deno&&"object"==typeof Deno.version,IS_DENO$1=engineIsDeno,IS_NODE$3=engineIsNode,engineIsBrowser=!IS_DENO$1&&!IS_NODE$3&&"object"==typeof window&&"object"==typeof document,global$u=global$O,NativePromiseConstructor$4=promiseNativeConstructor,isCallable$g=isCallable$A,isForced$2=isForced_1,inspectSource=inspectSource$3,wellKnownSymbol$k=wellKnownSymbol$x,IS_BROWSER=engineIsBrowser,IS_DENO=engineIsDeno,V8_VERSION=engineV8Version;NativePromiseConstructor$4&&NativePromiseConstructor$4.prototype;var SPECIES$2=wellKnownSymbol$k("species"),SUBCLASSING=!1,NATIVE_PROMISE_REJECTION_EVENT$1=isCallable$g(global$u.PromiseRejectionEvent),FORCED_PROMISE_CONSTRUCTOR$5=isForced$2("Promise",(function(){var e=inspectSource(NativePromiseConstructor$4),t=e!==String(NativePromiseConstructor$4);if(!t&&66===V8_VERSION)return!0;if(!V8_VERSION||V8_VERSION<51||!/native code/.test(e)){var r=new NativePromiseConstructor$4((function(e){e(1)})),n=function(e){e((function(){}),(function(){}))};if((r.constructor={})[SPECIES$2]=n,!(SUBCLASSING=r.then((function(){}))instanceof n))return!0}return!t&&(IS_BROWSER||IS_DENO)&&!NATIVE_PROMISE_REJECTION_EVENT$1})),promiseConstructorDetection={CONSTRUCTOR:FORCED_PROMISE_CONSTRUCTOR$5,REJECTION_EVENT:NATIVE_PROMISE_REJECTION_EVENT$1,SUBCLASSING:SUBCLASSING},newPromiseCapability$2={},aCallable$f=aCallable$j,$TypeError$d=TypeError,PromiseCapability=function(e){var t,r;this.promise=new e((function(e,n){if(void 0!==t||void 0!==r)throw $TypeError$d("Bad Promise constructor");t=e,r=n})),this.resolve=aCallable$f(t),this.reject=aCallable$f(r)};newPromiseCapability$2.f=function(e){return new PromiseCapability(e)};var Internal,OwnPromiseCapability,PromiseWrapper,nativeThen,$$1u=_export,IS_NODE$2=engineIsNode,global$t=global$O,call$t=functionCall,defineBuiltIn$g=defineBuiltIn$l,setPrototypeOf$4=objectSetPrototypeOf,setToStringTag$8=setToStringTag$b,setSpecies$4=setSpecies$5,aCallable$e=aCallable$j,isCallable$f=isCallable$A,isObject$m=isObject$x,anInstance$a=anInstance$b,speciesConstructor$4=speciesConstructor$5,task=task$1.set,microtask=microtask$1,hostReportErrors=hostReportErrors$1,perform$2=perform$3,Queue=queue,InternalStateModule$c=internalState,NativePromiseConstructor$3=promiseNativeConstructor,PromiseConstructorDetection=promiseConstructorDetection,newPromiseCapabilityModule$3=newPromiseCapability$2,PROMISE="Promise",FORCED_PROMISE_CONSTRUCTOR$4=PromiseConstructorDetection.CONSTRUCTOR,NATIVE_PROMISE_REJECTION_EVENT=PromiseConstructorDetection.REJECTION_EVENT,NATIVE_PROMISE_SUBCLASSING=PromiseConstructorDetection.SUBCLASSING,getInternalPromiseState=InternalStateModule$c.getterFor(PROMISE),setInternalState$b=InternalStateModule$c.set,NativePromisePrototype$2=NativePromiseConstructor$3&&NativePromiseConstructor$3.prototype,PromiseConstructor=NativePromiseConstructor$3,PromisePrototype=NativePromisePrototype$2,TypeError$8=global$t.TypeError,document$1=global$t.document,process$2=global$t.process,newPromiseCapability$1=newPromiseCapabilityModule$3.f,newGenericPromiseCapability=newPromiseCapability$1,DISPATCH_EVENT=!!(document$1&&document$1.createEvent&&global$t.dispatchEvent),UNHANDLED_REJECTION="unhandledrejection",REJECTION_HANDLED="rejectionhandled",PENDING=0,FULFILLED=1,REJECTED=2,HANDLED=1,UNHANDLED=2,isThenable=function(e){var t;return!(!isObject$m(e)||!isCallable$f(t=e.then))&&t},callReaction=function(e,t){var r,n,i,o=t.value,a=t.state==FULFILLED,s=a?e.ok:e.fail,l=e.resolve,c=e.reject,u=e.domain;try{s?(a||(t.rejection===UNHANDLED&&onHandleUnhandled(t),t.rejection=HANDLED),!0===s?r=o:(u&&u.enter(),r=s(o),u&&(u.exit(),i=!0)),r===e.promise?c(TypeError$8("Promise-chain cycle")):(n=isThenable(r))?call$t(n,r,l,c):l(r)):c(o)}catch(e){u&&!i&&u.exit(),c(e)}},notify=function(e,t){e.notified||(e.notified=!0,microtask((function(){for(var r,n=e.reactions;r=n.get();)callReaction(r,e);e.notified=!1,t&&!e.rejection&&onUnhandled(e)})))},dispatchEvent=function(e,t,r){var n,i;DISPATCH_EVENT?((n=document$1.createEvent("Event")).promise=t,n.reason=r,n.initEvent(e,!1,!0),global$t.dispatchEvent(n)):n={promise:t,reason:r},!NATIVE_PROMISE_REJECTION_EVENT&&(i=global$t["on"+e])?i(n):e===UNHANDLED_REJECTION&&hostReportErrors("Unhandled promise rejection",r)},onUnhandled=function(e){call$t(task,global$t,(function(){var t,r=e.facade,n=e.value;if(isUnhandled(e)&&(t=perform$2((function(){IS_NODE$2?process$2.emit("unhandledRejection",n,r):dispatchEvent(UNHANDLED_REJECTION,r,n)})),e.rejection=IS_NODE$2||isUnhandled(e)?UNHANDLED:HANDLED,t.error))throw t.value}))},isUnhandled=function(e){return e.rejection!==HANDLED&&!e.parent},onHandleUnhandled=function(e){call$t(task,global$t,(function(){var t=e.facade;IS_NODE$2?process$2.emit("rejectionHandled",t):dispatchEvent(REJECTION_HANDLED,t,e.value)}))},bind$j=function(e,t,r){return function(n){e(t,n,r)}},internalReject=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=REJECTED,notify(e,!0))},internalResolve=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw TypeError$8("Promise can't be resolved itself");var n=isThenable(t);n?microtask((function(){var r={done:!1};try{call$t(n,t,bind$j(internalResolve,r,e),bind$j(internalReject,r,e))}catch(t){internalReject(r,t,e)}})):(e.value=t,e.state=FULFILLED,notify(e,!1))}catch(t){internalReject({done:!1},t,e)}}};if(FORCED_PROMISE_CONSTRUCTOR$4&&(PromisePrototype=(PromiseConstructor=function(e){anInstance$a(this,PromisePrototype),aCallable$e(e),call$t(Internal,this);var t=getInternalPromiseState(this);try{e(bind$j(internalResolve,t),bind$j(internalReject,t))}catch(e){internalReject(t,e)}}).prototype,(Internal=function(e){setInternalState$b(this,{type:PROMISE,done:!1,notified:!1,parent:!1,reactions:new Queue,rejection:!1,state:PENDING,value:void 0})}).prototype=defineBuiltIn$g(PromisePrototype,"then",(function(e,t){var r=getInternalPromiseState(this),n=newPromiseCapability$1(speciesConstructor$4(this,PromiseConstructor));return r.parent=!0,n.ok=!isCallable$f(e)||e,n.fail=isCallable$f(t)&&t,n.domain=IS_NODE$2?process$2.domain:void 0,r.state==PENDING?r.reactions.add(n):microtask((function(){callReaction(n,r)})),n.promise})),OwnPromiseCapability=function(){var e=new Internal,t=getInternalPromiseState(e);this.promise=e,this.resolve=bind$j(internalResolve,t),this.reject=bind$j(internalReject,t)},newPromiseCapabilityModule$3.f=newPromiseCapability$1=function(e){return e===PromiseConstructor||e===PromiseWrapper?new OwnPromiseCapability(e):newGenericPromiseCapability(e)},isCallable$f(NativePromiseConstructor$3)&&NativePromisePrototype$2!==Object.prototype)){nativeThen=NativePromisePrototype$2.then,NATIVE_PROMISE_SUBCLASSING||defineBuiltIn$g(NativePromisePrototype$2,"then",(function(e,t){var r=this;return new PromiseConstructor((function(e,t){call$t(nativeThen,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete NativePromisePrototype$2.constructor}catch(e){}setPrototypeOf$4&&setPrototypeOf$4(NativePromisePrototype$2,PromisePrototype)}$$1u({global:!0,constructor:!0,wrap:!0,forced:FORCED_PROMISE_CONSTRUCTOR$4},{Promise:PromiseConstructor}),setToStringTag$8(PromiseConstructor,PROMISE,!1),setSpecies$4(PROMISE);var wellKnownSymbol$j=wellKnownSymbol$x,Iterators$1=iterators,ITERATOR$b=wellKnownSymbol$j("iterator"),ArrayPrototype$a=Array.prototype,isArrayIteratorMethod$3=function(e){return void 0!==e&&(Iterators$1.Array===e||ArrayPrototype$a[ITERATOR$b]===e)},classof$g=classof$k,getMethod$4=getMethod$6,isNullOrUndefined$7=isNullOrUndefined$b,Iterators=iterators,wellKnownSymbol$i=wellKnownSymbol$x,ITERATOR$a=wellKnownSymbol$i("iterator"),getIteratorMethod$6=function(e){if(!isNullOrUndefined$7(e))return getMethod$4(e,ITERATOR$a)||getMethod$4(e,"@@iterator")||Iterators[classof$g(e)]},call$s=functionCall,aCallable$d=aCallable$j,anObject$j=anObject$q,tryToString$5=tryToString$8,getIteratorMethod$5=getIteratorMethod$6,$TypeError$c=TypeError,getIterator$b=function(e,t){var r=arguments.length<2?getIteratorMethod$5(e):t;if(aCallable$d(r))return anObject$j(call$s(r,e));throw $TypeError$c(tryToString$5(e)+" is not iterable")},call$r=functionCall,anObject$i=anObject$q,getMethod$3=getMethod$6,iteratorClose$2=function(e,t,r){var n,i;anObject$i(e);try{if(!(n=getMethod$3(e,"return"))){if("throw"===t)throw r;return r}n=call$r(n,e)}catch(e){i=!0,n=e}if("throw"===t)throw r;if(i)throw n;return anObject$i(n),r},bind$i=functionBindContext,call$q=functionCall,anObject$h=anObject$q,tryToString$4=tryToString$8,isArrayIteratorMethod$2=isArrayIteratorMethod$3,lengthOfArrayLike$i=lengthOfArrayLike$m,isPrototypeOf$l=objectIsPrototypeOf,getIterator$a=getIterator$b,getIteratorMethod$4=getIteratorMethod$6,iteratorClose$1=iteratorClose$2,$TypeError$b=TypeError,Result=function(e,t){this.stopped=e,this.result=t},ResultPrototype=Result.prototype,iterate$k=function(e,t,r){var n,i,o,a,s,l,c,u=r&&r.that,d=!(!r||!r.AS_ENTRIES),p=!(!r||!r.IS_RECORD),y=!(!r||!r.IS_ITERATOR),h=!(!r||!r.INTERRUPTED),f=bind$i(t,u),$=function(e){return n&&iteratorClose$1(n,"normal",e),new Result(!0,e)},m=function(e){return d?(anObject$h(e),h?f(e[0],e[1],$):f(e[0],e[1])):h?f(e,$):f(e)};if(p)n=e.iterator;else if(y)n=e;else{if(!(i=getIteratorMethod$4(e)))throw $TypeError$b(tryToString$4(e)+" is not iterable");if(isArrayIteratorMethod$2(i)){for(o=0,a=lengthOfArrayLike$i(e);a>o;o++)if((s=m(e[o]))&&isPrototypeOf$l(ResultPrototype,s))return s;return new Result(!1)}n=getIterator$a(e,i)}for(l=p?e.next:n.next;!(c=call$q(l,n)).done;){try{s=m(c.value)}catch(e){iteratorClose$1(n,"throw",e)}if("object"==typeof s&&s&&isPrototypeOf$l(ResultPrototype,s))return s}return new Result(!1)},wellKnownSymbol$h=wellKnownSymbol$x,ITERATOR$9=wellKnownSymbol$h("iterator"),SAFE_CLOSING=!1;try{var called=0,iteratorWithReturn={next:function(){return{done:!!called++}},return:function(){SAFE_CLOSING=!0}};iteratorWithReturn[ITERATOR$9]=function(){return this},Array.from(iteratorWithReturn,(function(){throw 2}))}catch(e){}var checkCorrectnessOfIteration$4=function(e,t){if(!t&&!SAFE_CLOSING)return!1;var r=!1;try{var n={};n[ITERATOR$9]=function(){return{next:function(){return{done:r=!0}}}},e(n)}catch(e){}return r},NativePromiseConstructor$2=promiseNativeConstructor,checkCorrectnessOfIteration$3=checkCorrectnessOfIteration$4,FORCED_PROMISE_CONSTRUCTOR$3=promiseConstructorDetection.CONSTRUCTOR,promiseStaticsIncorrectIteration=FORCED_PROMISE_CONSTRUCTOR$3||!checkCorrectnessOfIteration$3((function(e){NativePromiseConstructor$2.all(e).then(void 0,(function(){}))})),$$1t=_export,call$p=functionCall,aCallable$c=aCallable$j,newPromiseCapabilityModule$2=newPromiseCapability$2,perform$1=perform$3,iterate$j=iterate$k,PROMISE_STATICS_INCORRECT_ITERATION$1=promiseStaticsIncorrectIteration;$$1t({target:"Promise",stat:!0,forced:PROMISE_STATICS_INCORRECT_ITERATION$1},{all:function(e){var t=this,r=newPromiseCapabilityModule$2.f(t),n=r.resolve,i=r.reject,o=perform$1((function(){var r=aCallable$c(t.resolve),o=[],a=0,s=1;iterate$j(e,(function(e){var l=a++,c=!1;s++,call$p(r,t,e).then((function(e){c||(c=!0,o[l]=e,--s||n(o))}),i)})),--s||n(o)}));return o.error&&i(o.value),r.promise}});var $$1s=_export,FORCED_PROMISE_CONSTRUCTOR$2=promiseConstructorDetection.CONSTRUCTOR,NativePromiseConstructor$1=promiseNativeConstructor,getBuiltIn$7=getBuiltIn$f,isCallable$e=isCallable$A,defineBuiltIn$f=defineBuiltIn$l,NativePromisePrototype$1=NativePromiseConstructor$1&&NativePromiseConstructor$1.prototype;if($$1s({target:"Promise",proto:!0,forced:FORCED_PROMISE_CONSTRUCTOR$2,real:!0},{catch:function(e){return this.then(void 0,e)}}),isCallable$e(NativePromiseConstructor$1)){var method$d=getBuiltIn$7("Promise").prototype.catch;NativePromisePrototype$1.catch!==method$d&&defineBuiltIn$f(NativePromisePrototype$1,"catch",method$d,{unsafe:!0})}var $$1r=_export,call$o=functionCall,aCallable$b=aCallable$j,newPromiseCapabilityModule$1=newPromiseCapability$2,perform=perform$3,iterate$i=iterate$k,PROMISE_STATICS_INCORRECT_ITERATION=promiseStaticsIncorrectIteration;$$1r({target:"Promise",stat:!0,forced:PROMISE_STATICS_INCORRECT_ITERATION},{race:function(e){var t=this,r=newPromiseCapabilityModule$1.f(t),n=r.reject,i=perform((function(){var i=aCallable$b(t.resolve);iterate$i(e,(function(e){call$o(i,t,e).then(r.resolve,n)}))}));return i.error&&n(i.value),r.promise}});var $$1q=_export,call$n=functionCall,newPromiseCapabilityModule=newPromiseCapability$2,FORCED_PROMISE_CONSTRUCTOR$1=promiseConstructorDetection.CONSTRUCTOR;$$1q({target:"Promise",stat:!0,forced:FORCED_PROMISE_CONSTRUCTOR$1},{reject:function(e){var t=newPromiseCapabilityModule.f(this);return call$n(t.reject,void 0,e),t.promise}});var anObject$g=anObject$q,isObject$l=isObject$x,newPromiseCapability=newPromiseCapability$2,promiseResolve$2=function(e,t){if(anObject$g(e),isObject$l(t)&&t.constructor===e)return t;var r=newPromiseCapability.f(e);return(0,r.resolve)(t),r.promise},$$1p=_export,getBuiltIn$6=getBuiltIn$f,FORCED_PROMISE_CONSTRUCTOR=promiseConstructorDetection.CONSTRUCTOR,promiseResolve$1=promiseResolve$2;getBuiltIn$6("Promise"),$$1p({target:"Promise",stat:!0,forced:FORCED_PROMISE_CONSTRUCTOR},{resolve:function(e){return promiseResolve$1(this,e)}});var classof$f=classof$k,$String$1=String,toString$p=function(e){if("Symbol"===classof$f(e))throw TypeError("Cannot convert a Symbol value to a string");return $String$1(e)},uncurryThis$M=functionUncurryThis,toIntegerOrInfinity$b=toIntegerOrInfinity$e,toString$o=toString$p,requireObjectCoercible$c=requireObjectCoercible$f,charAt$a=uncurryThis$M("".charAt),charCodeAt$3=uncurryThis$M("".charCodeAt),stringSlice$e=uncurryThis$M("".slice),createMethod$8=function(e){return function(t,r){var n,i,o=toString$o(requireObjectCoercible$c(t)),a=toIntegerOrInfinity$b(r),s=o.length;return a<0||a>=s?e?"":void 0:(n=charCodeAt$3(o,a))<55296||n>56319||a+1===s||(i=charCodeAt$3(o,a+1))<56320||i>57343?e?charAt$a(o,a):n:e?stringSlice$e(o,a,a+2):i-56320+(n-55296<<10)+65536}},stringMultibyte={codeAt:createMethod$8(!1),charAt:createMethod$8(!0)},charAt$9=stringMultibyte.charAt,toString$n=toString$p,InternalStateModule$b=internalState,defineIterator$2=iteratorDefine,createIterResultObject$2=createIterResultObject$4,STRING_ITERATOR="String Iterator",setInternalState$a=InternalStateModule$b.set,getInternalState$5=InternalStateModule$b.getterFor(STRING_ITERATOR);defineIterator$2(String,"String",(function(e){setInternalState$a(this,{type:STRING_ITERATOR,string:toString$n(e),index:0})}),(function(){var e,t=getInternalState$5(this),r=t.string,n=t.index;return n>=r.length?createIterResultObject$2(void 0,!0):(e=charAt$9(r,n),t.index+=e.length,createIterResultObject$2(e,!1))}));var global$s=global$O,DOMIterables$3=domIterables,DOMTokenListPrototype=domTokenListPrototype,ArrayIteratorMethods=es_array_iterator,createNonEnumerableProperty$5=createNonEnumerableProperty$a,wellKnownSymbol$g=wellKnownSymbol$x,ITERATOR$8=wellKnownSymbol$g("iterator"),TO_STRING_TAG$1=wellKnownSymbol$g("toStringTag"),ArrayValues=ArrayIteratorMethods.values,handlePrototype=function(e,t){if(e){if(e[ITERATOR$8]!==ArrayValues)try{createNonEnumerableProperty$5(e,ITERATOR$8,ArrayValues)}catch(t){e[ITERATOR$8]=ArrayValues}if(e[TO_STRING_TAG$1]||createNonEnumerableProperty$5(e,TO_STRING_TAG$1,t),DOMIterables$3[t])for(var r in ArrayIteratorMethods)if(e[r]!==ArrayIteratorMethods[r])try{createNonEnumerableProperty$5(e,r,ArrayIteratorMethods[r])}catch(t){e[r]=ArrayIteratorMethods[r]}}};for(var COLLECTION_NAME in DOMIterables$3)handlePrototype(global$s[COLLECTION_NAME]&&global$s[COLLECTION_NAME].prototype,COLLECTION_NAME);handlePrototype(DOMTokenListPrototype,"DOMTokenList");var uncurryThis$L=functionUncurryThis,defineBuiltIn$e=defineBuiltIn$l,DatePrototype=Date.prototype,INVALID_DATE="Invalid Date",TO_STRING$1="toString",nativeDateToString=uncurryThis$L(DatePrototype[TO_STRING$1]),thisTimeValue$2=uncurryThis$L(DatePrototype.getTime);String(new Date(NaN))!=INVALID_DATE&&defineBuiltIn$e(DatePrototype,TO_STRING$1,(function(){var e=thisTimeValue$2(this);return e==e?nativeDateToString(this):INVALID_DATE}));var $$1o=_export,NativePromiseConstructor=promiseNativeConstructor,fails$M=fails$13,getBuiltIn$5=getBuiltIn$f,isCallable$d=isCallable$A,speciesConstructor$3=speciesConstructor$5,promiseResolve=promiseResolve$2,defineBuiltIn$d=defineBuiltIn$l,NativePromisePrototype=NativePromiseConstructor&&NativePromiseConstructor.prototype,NON_GENERIC=!!NativePromiseConstructor&&fails$M((function(){NativePromisePrototype.finally.call({then:function(){}},(function(){}))}));if($$1o({target:"Promise",proto:!0,real:!0,forced:NON_GENERIC},{finally:function(e){var t=speciesConstructor$3(this,getBuiltIn$5("Promise")),r=isCallable$d(e);return this.then(r?function(r){return promiseResolve(t,e()).then((function(){return r}))}:e,r?function(r){return promiseResolve(t,e()).then((function(){throw r}))}:e)}}),isCallable$d(NativePromiseConstructor)){var method$c=getBuiltIn$5("Promise").prototype.finally;NativePromisePrototype.finally!==method$c&&defineBuiltIn$d(NativePromisePrototype,"finally",method$c,{unsafe:!0})}var isCallable$c=isCallable$A,isObject$k=isObject$x,setPrototypeOf$3=objectSetPrototypeOf,inheritIfRequired$3=function(e,t,r){var n,i;return setPrototypeOf$3&&isCallable$c(n=t.constructor)&&n!==r&&isObject$k(i=n.prototype)&&i!==r.prototype&&setPrototypeOf$3(e,i),e},uncurryThis$K=functionUncurryThis,thisNumberValue$2=uncurryThis$K(1..valueOf),whitespaces$6="\t\n\v\f\r                 \u2028\u2029\ufeff",uncurryThis$J=functionUncurryThis,requireObjectCoercible$b=requireObjectCoercible$f,toString$m=toString$p,whitespaces$5=whitespaces$6,replace$9=uncurryThis$J("".replace),whitespace="["+whitespaces$5+"]",ltrim=RegExp("^"+whitespace+whitespace+"*"),rtrim=RegExp(whitespace+whitespace+"*$"),createMethod$7=function(e){return function(t){var r=toString$m(requireObjectCoercible$b(t));return 1&e&&(r=replace$9(r,ltrim,"")),2&e&&(r=replace$9(r,rtrim,"")),r}},stringTrim={start:createMethod$7(1),end:createMethod$7(2),trim:createMethod$7(3)},DESCRIPTORS$k=descriptors,global$r=global$O,uncurryThis$I=functionUncurryThis,isForced$1=isForced_1,defineBuiltIn$c=defineBuiltIn$l,hasOwn$j=hasOwnProperty_1,inheritIfRequired$2=inheritIfRequired$3,isPrototypeOf$k=objectIsPrototypeOf,isSymbol$2=isSymbol$6,toPrimitive$7=toPrimitive$9,fails$L=fails$13,getOwnPropertyNames$2=objectGetOwnPropertyNames.f,getOwnPropertyDescriptor$4=objectGetOwnPropertyDescriptor.f,defineProperty$b=objectDefineProperty.f,thisNumberValue$1=thisNumberValue$2,trim$a=stringTrim.trim,NUMBER="Number",NativeNumber=global$r[NUMBER],NumberPrototype=NativeNumber.prototype,TypeError$7=global$r.TypeError,arraySlice$a=uncurryThis$I("".slice),charCodeAt$2=uncurryThis$I("".charCodeAt),toNumeric=function(e){var t=toPrimitive$7(e,"number");return"bigint"==typeof t?t:toNumber(t)},toNumber=function(e){var t,r,n,i,o,a,s,l,c=toPrimitive$7(e,"number");if(isSymbol$2(c))throw TypeError$7("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=trim$a(c),43===(t=charCodeAt$2(c,0))||45===t){if(88===(r=charCodeAt$2(c,2))||120===r)return NaN}else if(48===t){switch(charCodeAt$2(c,1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+c}for(a=(o=arraySlice$a(c,2)).length,s=0;s<a;s++)if((l=charCodeAt$2(o,s))<48||l>i)return NaN;return parseInt(o,n)}return+c};if(isForced$1(NUMBER,!NativeNumber(" 0o1")||!NativeNumber("0b1")||NativeNumber("+0x1"))){for(var key$1,NumberWrapper=function(e){var t=arguments.length<1?0:NativeNumber(toNumeric(e)),r=this;return isPrototypeOf$k(NumberPrototype,r)&&fails$L((function(){thisNumberValue$1(r)}))?inheritIfRequired$2(Object(t),r,NumberWrapper):t},keys$9=DESCRIPTORS$k?getOwnPropertyNames$2(NativeNumber):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),j$1=0;keys$9.length>j$1;j$1++)hasOwn$j(NativeNumber,key$1=keys$9[j$1])&&!hasOwn$j(NumberWrapper,key$1)&&defineProperty$b(NumberWrapper,key$1,getOwnPropertyDescriptor$4(NativeNumber,key$1));NumberWrapper.prototype=NumberPrototype,NumberPrototype.constructor=NumberWrapper,defineBuiltIn$c(global$r,NUMBER,NumberWrapper,{constructor:!0})}var DESCRIPTORS$j=descriptors,FUNCTION_NAME_EXISTS=functionName.EXISTS,uncurryThis$H=functionUncurryThis,defineProperty$a=objectDefineProperty.f,FunctionPrototype=Function.prototype,functionToString$1=uncurryThis$H(FunctionPrototype.toString),nameRE=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,regExpExec$2=uncurryThis$H(nameRE.exec),NAME$1="name";DESCRIPTORS$j&&!FUNCTION_NAME_EXISTS&&defineProperty$a(FunctionPrototype,NAME$1,{configurable:!0,get:function(){try{return regExpExec$2(nameRE,functionToString$1(this))[1]}catch(e){return""}}});var DESCRIPTORS$i=descriptors,isArray$2=isArray$6,$TypeError$a=TypeError,getOwnPropertyDescriptor$3=Object.getOwnPropertyDescriptor,SILENT_ON_NON_WRITABLE_LENGTH_SET=DESCRIPTORS$i&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}(),arraySetLength=SILENT_ON_NON_WRITABLE_LENGTH_SET?function(e,t){if(isArray$2(e)&&!getOwnPropertyDescriptor$3(e,"length").writable)throw $TypeError$a("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},tryToString$3=tryToString$8,$TypeError$9=TypeError,deletePropertyOrThrow$4=function(e,t){if(!delete e[t])throw $TypeError$9("Cannot delete property "+tryToString$3(t)+" of "+tryToString$3(e))},$$1n=_export,toObject$d=toObject$k,toAbsoluteIndex$6=toAbsoluteIndex$8,toIntegerOrInfinity$a=toIntegerOrInfinity$e,lengthOfArrayLike$h=lengthOfArrayLike$m,setArrayLength$1=arraySetLength,doesNotExceedSafeInteger$1=doesNotExceedSafeInteger$3,arraySpeciesCreate=arraySpeciesCreate$3,createProperty$3=createProperty$5,deletePropertyOrThrow$3=deletePropertyOrThrow$4,arrayMethodHasSpeciesSupport$1=arrayMethodHasSpeciesSupport$5,HAS_SPECIES_SUPPORT$1=arrayMethodHasSpeciesSupport$1("splice"),max$3=Math.max,min$7=Math.min;$$1n({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT$1},{splice:function(e,t){var r,n,i,o,a,s,l=toObject$d(this),c=lengthOfArrayLike$h(l),u=toAbsoluteIndex$6(e,c),d=arguments.length;for(0===d?r=n=0:1===d?(r=0,n=c-u):(r=d-2,n=min$7(max$3(toIntegerOrInfinity$a(t),0),c-u)),doesNotExceedSafeInteger$1(c+r-n),i=arraySpeciesCreate(l,n),o=0;o<n;o++)(a=u+o)in l&&createProperty$3(i,o,l[a]);if(i.length=n,r<n){for(o=u;o<c-n;o++)s=o+r,(a=o+n)in l?l[s]=l[a]:deletePropertyOrThrow$3(l,s);for(o=c;o>c-n+r;o--)deletePropertyOrThrow$3(l,o-1)}else if(r>n)for(o=c-n;o>u;o--)s=o+r-1,(a=o+n-1)in l?l[s]=l[a]:deletePropertyOrThrow$3(l,s);for(o=0;o<r;o++)l[o+u]=arguments[o+2];return setArrayLength$1(l,c-n+r),i}});var global$q=global$O,fails$K=fails$13,uncurryThis$G=functionUncurryThis,toString$l=toString$p,trim$9=stringTrim.trim,whitespaces$4=whitespaces$6,$parseInt$1=global$q.parseInt,Symbol$3=global$q.Symbol,ITERATOR$7=Symbol$3&&Symbol$3.iterator,hex=/^[+-]?0x/i,exec$6=uncurryThis$G(hex.exec),FORCED$h=8!==$parseInt$1(whitespaces$4+"08")||22!==$parseInt$1(whitespaces$4+"0x16")||ITERATOR$7&&!fails$K((function(){$parseInt$1(Object(ITERATOR$7))})),numberParseInt=FORCED$h?function(e,t){var r=trim$9(toString$l(e));return $parseInt$1(r,t>>>0||(exec$6(hex,r)?16:10))}:$parseInt$1,$$1m=_export,$parseInt=numberParseInt;$$1m({global:!0,forced:parseInt!=numberParseInt},{parseInt:numberParseInt});var $$1l=_export$1,$find$2=arrayIteration$1.find,FIND$1="find",SKIPS_HOLES$1=!0;FIND$1 in[]&&Array(1)[FIND$1]((function(){SKIPS_HOLES$1=!1})),$$1l({target:"Array",proto:!0,forced:SKIPS_HOLES$1},{find:function(e){return $find$2(this,e,arguments.length>1?arguments[1]:void 0)}});var entryVirtual$d=entryVirtual$o,find$8=entryVirtual$d("Array").find,isPrototypeOf$j=objectIsPrototypeOf$1,method$b=find$8,ArrayPrototype$9=Array.prototype,find$7=function(e){var t=e.find;return e===ArrayPrototype$9||isPrototypeOf$j(ArrayPrototype$9,e)&&t===ArrayPrototype$9.find?method$b:t},parent$1i=find$7,find$6=parent$1i,parent$1h=find$6,find$5=parent$1h,parent$1g=find$5,find$4=parent$1g,find$3=find$4,find$2=find$3,_findInstanceProperty=getDefaultExportFromCjs(find$2),$$1k=_export$1;$$1k({target:"Number",stat:!0},{isNaN:function(e){return e!=e}});var path$d=path$A,isNan$5=path$d.Number.isNaN,parent$1f=isNan$5,isNan$4=parent$1f,parent$1e=isNan$4,isNan$3=parent$1e,parent$1d=isNan$3,isNan$2=parent$1d,isNan$1=isNan$2,isNan=isNan$1,_Number$isNaN=getDefaultExportFromCjs(isNan),entryVirtual$c=entryVirtual$o,keys$8=entryVirtual$c("Array").keys,parent$1c=keys$8,keys$7=parent$1c,classof$e=classof$w,hasOwn$i=hasOwnProperty_1$1,isPrototypeOf$i=objectIsPrototypeOf$1,method$a=keys$7,ArrayPrototype$8=Array.prototype,DOMIterables$2={DOMTokenList:!0,NodeList:!0},keys$6=function(e){var t=e.keys;return e===ArrayPrototype$8||isPrototypeOf$i(ArrayPrototype$8,e)&&t===ArrayPrototype$8.keys||hasOwn$i(DOMIterables$2,classof$e(e))?method$a:t},parent$1b=keys$6,keys$5=parent$1b,parent$1a=keys$5,keys$4=parent$1a,keys$3=keys$4,keys$2=keys$3,_keysInstanceProperty=getDefaultExportFromCjs(keys$2),hasOwn$h=hasOwnProperty_1$1,isDataDescriptor$1=function(e){return void 0!==e&&(hasOwn$h(e,"value")||hasOwn$h(e,"writable"))},$$1j=_export$1,call$m=functionCall$1,isObject$j=isObject$M,anObject$f=anObject$E,isDataDescriptor=isDataDescriptor$1,getOwnPropertyDescriptorModule$2=objectGetOwnPropertyDescriptor$1,getPrototypeOf$2=objectGetPrototypeOf$1;function get$9(e,t){var r,n,i=arguments.length<3?e:arguments[2];return anObject$f(e)===i?e[t]:(r=getOwnPropertyDescriptorModule$2.f(e,t))?isDataDescriptor(r)?r.value:void 0===r.get?void 0:call$m(r.get,i):isObject$j(n=getPrototypeOf$2(e))?get$9(n,t,i):void 0}$$1j({target:"Reflect",stat:!0},{get:get$9});var path$c=path$A,get$8=path$c.Reflect.get,parent$19=get$8,get$7=parent$19,parent$18=get$7,get$6=parent$18,parent$17=get$6,get$5=parent$17,get$4=get$5,_Reflect$get$1=getDefaultExportFromCjs(get$4),get$3=get$4,_Reflect$get=getDefaultExportFromCjs(get$3),WrappedWellKnownSymbolModule=wellKnownSymbolWrapped$1,toPrimitive$6=WrappedWellKnownSymbolModule.f("toPrimitive"),parent$16=toPrimitive$6,toPrimitive$5=parent$16,parent$15=toPrimitive$5,toPrimitive$4=parent$15,parent$14=toPrimitive$4,toPrimitive$3=parent$14,toPrimitive$2=toPrimitive$3,_Symbol$toPrimitive$1=getDefaultExportFromCjs(toPrimitive$2),toPrimitive$1=toPrimitive$2,_Symbol$toPrimitive=getDefaultExportFromCjs(toPrimitive$1);function ownKeys$2(e,t){var r=_Object$keys(e);if(_Object$getOwnPropertySymbols){var n=_Object$getOwnPropertySymbols(e);t&&(n=_filterInstanceProperty(n).call(n,(function(t){return _Object$getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread2$2(e){for(var t=1;t<arguments.length;t++){var r,n,i=null!=arguments[t]?arguments[t]:{};t%2?_forEachInstanceProperty(r=ownKeys$2(Object(i),!0)).call(r,(function(t){_defineProperty$4(e,t,i[t])})):_Object$getOwnPropertyDescriptors?_Object$defineProperties(e,_Object$getOwnPropertyDescriptors(i)):_forEachInstanceProperty(n=ownKeys$2(Object(i))).call(n,(function(t){_Object$defineProperty(e,t,_Object$getOwnPropertyDescriptor(i,t))}))}return e}function _typeof$3(e){return(_typeof$3="function"==typeof _Symbol&&"symbol"==typeof _Symbol$iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof _Symbol&&e.constructor===_Symbol&&e!==_Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck$7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$7(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,_toPropertyKey$1(n.key),n)}}function _createClass$7(e,t,r){return t&&_defineProperties$7(e.prototype,t),r&&_defineProperties$7(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty$4(e,t,r){return(t=_toPropertyKey$1(t))in e?_Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toConsumableArray$3(e){return _arrayWithoutHoles$3(e)||_iterableToArray$3(e)||_unsupportedIterableToArray$4(e)||_nonIterableSpread$3()}function _arrayWithoutHoles$3(e){if(_Array$isArray(e))return _arrayLikeToArray$4(e)}function _iterableToArray$3(e){if(void 0!==_Symbol&&null!=_getIteratorMethod(e)||null!=e["@@iterator"])return _Array$from(e)}function _unsupportedIterableToArray$4(e,t){var r;if(e){if("string"==typeof e)return _arrayLikeToArray$4(e,t);var n=_sliceInstanceProperty(r=Object.prototype.toString.call(e)).call(r,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?_Array$from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray$4(e,t):void 0}}function _arrayLikeToArray$4(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _nonIterableSpread$3(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toPrimitive$1(e,t){if("object"!==_typeof$5(e)||null===e)return e;var r=e[_Symbol$toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_typeof$5(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey$1(e){var t=_toPrimitive$1(e,"string");return"symbol"===_typeof$5(t)?t:String(t)}var eventemitter3={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function o(e,t,n,o,a){if("function"!=typeof n)throw new TypeError("The listener must be a function");var s=new i(n,o||e,a),l=r?r+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],s]:e._events[l].push(s):(e._events[l]=s,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function s(){this._events=new n,this._eventsCount=0}_Object$create&&(n.prototype=_Object$create(null),(new n).__proto__||(r=!1)),s.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?_sliceInstanceProperty(n).call(n,1):n);return _Object$getOwnPropertySymbols?_concatInstanceProperty(i).call(i,_Object$getOwnPropertySymbols(e)):i},s.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,a=new Array(o);i<o;i++)a[i]=n[i].fn;return a},s.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},s.prototype.emit=function(e,t,n,i,o,a){var s=r?r+e:e;if(!this._events[s])return!1;var l,c,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,n),!0;case 4:return u.fn.call(u.context,t,n,i),!0;case 5:return u.fn.call(u.context,t,n,i,o),!0;case 6:return u.fn.call(u.context,t,n,i,o,a),!0}for(c=1,l=new Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var p,y=u.length;for(c=0;c<y;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,n);break;case 4:u[c].fn.call(u[c].context,t,n,i);break;default:if(!l)for(p=1,l=new Array(d-1);p<d;p++)l[p-1]=arguments[p];u[c].fn.apply(u[c].context,l)}}return!0},s.prototype.on=function(e,t,r){return o(this,e,t,r,!1)},s.prototype.once=function(e,t,r){return o(this,e,t,r,!0)},s.prototype.removeListener=function(e,t,n,i){var o=r?r+e:e;if(!this._events[o])return this;if(!t)return a(this,o),this;var s=this._events[o];if(s.fn)s.fn!==t||i&&!s.once||n&&s.context!==n||a(this,o);else{for(var l=0,c=[],u=s.length;l<u;l++)(s[l].fn!==t||i&&!s[l].once||n&&s[l].context!==n)&&c.push(s[l]);c.length?this._events[o]=1===c.length?c[0]:c:a(this,o)}return this},s.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&a(this,t)):(this._events=new n,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=r,s.EventEmitter=s,e.exports=s}(eventemitter3);var eventemitter3Exports=eventemitter3.exports,EventEmitter$1=getDefaultExportFromCjs(eventemitter3Exports),$$1i=_export$1,$some$2=arrayIteration$1.some,arrayMethodIsStrict$8=arrayMethodIsStrict$g,STRICT_METHOD$7=arrayMethodIsStrict$8("some");$$1i({target:"Array",proto:!0,forced:!STRICT_METHOD$7},{some:function(e){return $some$2(this,e,arguments.length>1?arguments[1]:void 0)}});var entryVirtual$b=entryVirtual$o,some$6=entryVirtual$b("Array").some,isPrototypeOf$h=objectIsPrototypeOf$1,method$9=some$6,ArrayPrototype$7=Array.prototype,some$5=function(e){var t=e.some;return e===ArrayPrototype$7||isPrototypeOf$h(ArrayPrototype$7,e)&&t===ArrayPrototype$7.some?method$9:t},parent$13=some$5,some$4=parent$13,parent$12=some$4,some$3=parent$12,parent$11=some$3,some$2=parent$11,some$1=some$2,some2=some$1,_someInstanceProperty=getDefaultExportFromCjs(some2),toIntegerOrInfinity$9=toIntegerOrInfinity$j,toString$k=toString$B,requireObjectCoercible$a=requireObjectCoercible$k,$RangeError$7=RangeError,stringRepeat$1=function(e){var t=toString$k(requireObjectCoercible$a(this)),r="",n=toIntegerOrInfinity$9(e);if(n<0||n==1/0)throw $RangeError$7("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(r+=t);return r},uncurryThis$F=functionUncurryThis$1,toLength$b=toLength$f,toString$j=toString$B,$repeat$2=stringRepeat$1,requireObjectCoercible$9=requireObjectCoercible$k,repeat$2=uncurryThis$F($repeat$2),stringSlice$d=uncurryThis$F("".slice),ceil$1=Math.ceil,createMethod$6=function(e){return function(t,r,n){var i,o,a=toString$j(requireObjectCoercible$9(t)),s=toLength$b(r),l=a.length,c=void 0===n?" ":toString$j(n);return s<=l||""==c?a:((o=repeat$2(c,ceil$1((i=s-l)/c.length))).length>i&&(o=stringSlice$d(o,0,i)),e?a+o:o+a)}},stringPad$1={start:createMethod$6(!1),end:createMethod$6(!0)},userAgent$5=engineUserAgent$1,stringPadWebkitBug$1=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent$5),$$1h=_export$1,$padStart$1=stringPad$1.start,WEBKIT_BUG$1=stringPadWebkitBug$1;$$1h({target:"String",proto:!0,forced:WEBKIT_BUG$1},{padStart:function(e){return $padStart$1(this,e,arguments.length>1?arguments[1]:void 0)}});var entryVirtual$a=entryVirtual$o,padStart$7=entryVirtual$a("String").padStart,isPrototypeOf$g=objectIsPrototypeOf$1,method$8=padStart$7,StringPrototype$3=String.prototype,padStart$6=function(e){var t=e.padStart;return"string"==typeof e||e===StringPrototype$3||isPrototypeOf$g(StringPrototype$3,e)&&t===StringPrototype$3.padStart?method$8:t},parent$10=padStart$6,padStart$5=parent$10,parent$$=padStart$5,padStart$4=parent$$,parent$_=padStart$4,padStart$3=parent$_,padStart$2=padStart$3,padStart$1=padStart$2,_padStartInstanceProperty=getDefaultExportFromCjs(padStart$1),path$b=path$A,setInterval$4=path$b.setInterval,parent$Z=setInterval$4,setInterval$3=parent$Z,parent$Y=setInterval$3,setInterval$2=parent$Y,setInterval$1=setInterval$2,setInterval=setInterval$1,_setInterval=getDefaultExportFromCjs(setInterval),global$p=global$19,fails$J=fails$1t,uncurryThis$E=functionUncurryThis$1,toString$i=toString$B,trim$8=stringTrim$1.trim,whitespaces$3=whitespaces$9,charAt$8=uncurryThis$E("".charAt),$parseFloat$3=global$p.parseFloat,Symbol$2=global$p.Symbol,ITERATOR$6=Symbol$2&&Symbol$2.iterator,FORCED$g=1/$parseFloat$3(whitespaces$3+"-0")!=-1/0||ITERATOR$6&&!fails$J((function(){$parseFloat$3(Object(ITERATOR$6))})),numberParseFloat$1=FORCED$g?function(e){var t=trim$8(toString$i(e)),r=$parseFloat$3(t);return 0===r&&"-"==charAt$8(t,0)?-0:r}:$parseFloat$3,$$1g=_export$1,$parseFloat$2=numberParseFloat$1;$$1g({global:!0,forced:parseFloat!=numberParseFloat$1},{parseFloat:numberParseFloat$1});var path$a=path$A,_parseFloat$6=path$a.parseFloat,parent$X=_parseFloat$6,_parseFloat$5=parent$X,parent$W=_parseFloat$5,_parseFloat$4=parent$W,parent$V=_parseFloat$4,_parseFloat$3=parent$V,_parseFloat$2=_parseFloat$3,_parseFloat=_parseFloat$2,_parseFloat$1=getDefaultExportFromCjs(_parseFloat),PROPER_FUNCTION_NAME$3=functionName$1.PROPER,fails$I=fails$1t,whitespaces$2=whitespaces$9,non$1="​…᠎",stringTrimForced$1=function(e){return fails$I((function(){return!!whitespaces$2[e]()||non$1[e]()!==non$1||PROPER_FUNCTION_NAME$3&&whitespaces$2[e].name!==e}))},$$1f=_export$1,$trim$1=stringTrim$1.trim,forcedStringTrimMethod$1=stringTrimForced$1;$$1f({target:"String",proto:!0,forced:forcedStringTrimMethod$1("trim")},{trim:function(){return $trim$1(this)}});var entryVirtual$9=entryVirtual$o,trim$7=entryVirtual$9("String").trim,isPrototypeOf$f=objectIsPrototypeOf$1,method$7=trim$7,StringPrototype$2=String.prototype,trim$6=function(e){var t=e.trim;return"string"==typeof e||e===StringPrototype$2||isPrototypeOf$f(StringPrototype$2,e)&&t===StringPrototype$2.trim?method$7:t},parent$U=trim$6,trim$5=parent$U,parent$T=trim$5,trim$4=parent$T,parent$S=trim$4,trim$3=parent$S,trim$2=trim$3,trim$1=trim$2,_trimInstanceProperty=getDefaultExportFromCjs(trim$1),arraySlice$9=arraySliceSimple$1,floor$c=Math.floor,mergeSort$1=function(e,t){var r=e.length,n=floor$c(r/2);return r<8?insertionSort$1(e,t):merge$1(e,mergeSort$1(arraySlice$9(e,0,n),t),mergeSort$1(arraySlice$9(e,n),t),t)},insertionSort$1=function(e,t){for(var r,n,i=e.length,o=1;o<i;){for(n=o,r=e[o];n&&t(e[n-1],r)>0;)e[n]=e[--n];n!==o++&&(e[n]=r)}return e},merge$1=function(e,t,r,n){for(var i=t.length,o=r.length,a=0,s=0;a<i||s<o;)e[a+s]=a<i&&s<o?n(t[a],r[s])<=0?t[a++]:r[s++]:a<i?t[a++]:r[s++];return e},arraySort$3=mergeSort$1,userAgent$4=engineUserAgent$1,firefox$1=userAgent$4.match(/firefox\/(\d+)/i),engineFfVersion$1=!!firefox$1&&+firefox$1[1],UA$1=engineUserAgent$1,engineIsIeOrEdge$1=/MSIE|Trident/.test(UA$1),userAgent$3=engineUserAgent$1,webkit$1=userAgent$3.match(/AppleWebKit\/(\d+)\./),engineWebkitVersion$1=!!webkit$1&&+webkit$1[1],$$1e=_export$1,uncurryThis$D=functionUncurryThis$1,aCallable$a=aCallable$v,toObject$c=toObject$v,lengthOfArrayLike$g=lengthOfArrayLike$v,deletePropertyOrThrow$2=deletePropertyOrThrow$6,toString$h=toString$B,fails$H=fails$1t,internalSort$2=arraySort$3,arrayMethodIsStrict$7=arrayMethodIsStrict$g,FF$3=engineFfVersion$1,IE_OR_EDGE$2=engineIsIeOrEdge$1,V8$2=engineV8Version$1,WEBKIT$2=engineWebkitVersion$1,test$1=[],nativeSort$2=uncurryThis$D(test$1.sort),push$l=uncurryThis$D(test$1.push),FAILS_ON_UNDEFINED$1=fails$H((function(){test$1.sort(void 0)})),FAILS_ON_NULL$1=fails$H((function(){test$1.sort(null)})),STRICT_METHOD$6=arrayMethodIsStrict$7("sort"),STABLE_SORT$2=!fails$H((function(){if(V8$2)return V8$2<70;if(!(FF$3&&FF$3>3)){if(IE_OR_EDGE$2)return!0;if(WEBKIT$2)return WEBKIT$2<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)test$1.push({k:t+n,v:r})}for(test$1.sort((function(e,t){return t.v-e.v})),n=0;n<test$1.length;n++)t=test$1[n].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}})),FORCED$f=FAILS_ON_UNDEFINED$1||!FAILS_ON_NULL$1||!STRICT_METHOD$6||!STABLE_SORT$2,getSortCompare$2=function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:toString$h(t)>toString$h(r)?1:-1}};$$1e({target:"Array",proto:!0,forced:FORCED$f},{sort:function(e){void 0!==e&&aCallable$a(e);var t=toObject$c(this);if(STABLE_SORT$2)return void 0===e?nativeSort$2(t):nativeSort$2(t,e);var r,n,i=[],o=lengthOfArrayLike$g(t);for(n=0;n<o;n++)n in t&&push$l(i,t[n]);for(internalSort$2(i,getSortCompare$2(e)),r=lengthOfArrayLike$g(i),n=0;n<r;)t[n]=i[n++];for(;n<o;)deletePropertyOrThrow$2(t,n++);return t}});var entryVirtual$8=entryVirtual$o,sort$6=entryVirtual$8("Array").sort,isPrototypeOf$e=objectIsPrototypeOf$1,method$6=sort$6,ArrayPrototype$6=Array.prototype,sort$5=function(e){var t=e.sort;return e===ArrayPrototype$6||isPrototypeOf$e(ArrayPrototype$6,e)&&t===ArrayPrototype$6.sort?method$6:t},parent$R=sort$5,sort$4=parent$R,parent$Q=sort$4,sort$3=parent$Q,parent$P=sort$3,sort$2=parent$P,sort$1=sort$2,sort2=sort$1,_sortInstanceProperty=getDefaultExportFromCjs(sort2),$$1d=_export$1,uncurryThis$C=functionUncurryThis$1,$Date$1=Date,thisTimeValue$1=uncurryThis$C($Date$1.prototype.getTime);$$1d({target:"Date",stat:!0},{now:function(){return thisTimeValue$1(new $Date$1)}});var _context,path$9=path$A,now$5=path$9.Date.now,parent$O=now$5,now$4=parent$O,parent$N=now$4,now$3=parent$N,parent$M=now$3,now$2=parent$M,now$1=now$2,now2=now$1,_Date$now=getDefaultExportFromCjs(now2),XG_DEBUG_OPEN="undefined"!=typeof window&&window.location&&_indexOfInstanceProperty(_context=window.location.href).call(_context,"xgplayerdebugger=1")>-1,STYLE={info:"color: #525252; background-color: #90ee90;",error:"color: #525252; background-color: red;",warn:"color: #525252; background-color: yellow; "},XGTAG="%c[xgplayer]",XG_DEBUG={config:{debug:XG_DEBUG_OPEN?3:0},logInfo:function(e){for(var t,r,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];this.config.debug>=3&&(r=console).log.apply(r,_concatInstanceProperty(t=[XGTAG,STYLE.info,e]).call(t,i))},logWarn:function(e){for(var t,r,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];this.config.debug>=1&&(r=console).warn.apply(r,_concatInstanceProperty(t=[XGTAG,STYLE.warn,e]).call(t,i))},logError:function(e){var t,r;if(!(this.config.debug<1)){for(var n=this.config.debug>=2?"trace":"error",i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];(r=console)[n].apply(r,_concatInstanceProperty(t=[XGTAG,STYLE.error,e]).call(t,o))}}},XgplayerTimeRange=function(){function e(t){_classCallCheck$7(this,e),this.bufferedList=t}return _createClass$7(e,[{key:"start",value:function(e){return this.bufferedList[e].start}},{key:"end",value:function(e){return this.bufferedList[e].end}},{key:"length",get:function(){return this.bufferedList.length}}]),e}(),util$1={};function checkIsIn(e,t){for(var r=0,n=t.length;r<n;r++)if(_indexOfInstanceProperty(e).call(e,t[r])>-1)return!0;return!1}util$1.createDom=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=document.createElement(t);return o.className=i,o.innerHTML=r,_forEachInstanceProperty(e=_Object$keys(n)).call(e,(function(e){var r=e,i=n[e];"video"===t||"audio"===t||"live-video"===t?i&&o.setAttribute(r,i):o.setAttribute(r,i)})),o},util$1.createDomFromHtml=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";try{var n=document.createElement("div");n.innerHTML=e;var i=n.children;if(n=null,i.length>0){var o;if(i=i[0],r&&util$1.addClass(i,r),t)_forEachInstanceProperty(o=_Object$keys(t)).call(o,(function(e){i.setAttribute(e,t[e])}));return i}return null}catch(e){return XG_DEBUG.logError("util.createDomFromHtml",e),null}},util$1.hasClass=function(e,t){if(!e||!t)return!1;try{return _someInstanceProperty(Array.prototype).call(e.classList,(function(e){return e===t}))}catch(n){var r=e.className&&"object"===_typeof$3(e.className)?e.getAttribute("class"):e.className;return r&&!!r.match(new RegExp("(\\s|^)"+t+"(\\s|$)"))}},util$1.addClass=function(e,t){if(e&&t)try{var r;_forEachInstanceProperty(r=t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g)).call(r,(function(t){t&&e.classList.add(t)}))}catch(r){util$1.hasClass(e,t)||(e.className&&"object"===_typeof$3(e.className)?e.setAttribute("class",e.getAttribute("class")+" "+t):e.className+=" "+t)}},util$1.removeClass=function(e,t){if(e&&t)try{var r;_forEachInstanceProperty(r=t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g)).call(r,(function(t){t&&e.classList.remove(t)}))}catch(r){var n;if(util$1.hasClass(e,t))_forEachInstanceProperty(n=t.split(/\s+/g)).call(n,(function(t){var r=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className&&"object"===_typeof$3(e.className)?e.setAttribute("class",e.getAttribute("class").replace(r," ")):e.className=e.className.replace(r," ")}))}},util$1.toggleClass=function(e,t){var r;e&&_forEachInstanceProperty(r=t.split(/\s+/g)).call(r,(function(t){util$1.hasClass(e,t)?util$1.removeClass(e,t):util$1.addClass(e,t)}))},util$1.classNames=function(){for(var e=arguments,t=[],r=function(r){if("String"===util$1.typeOf(e[r]))t.push(e[r]);else if("Object"===util$1.typeOf(e[r])){var n;_mapInstanceProperty(n=_Object$keys(e[r])).call(n,(function(n){e[r][n]&&t.push(n)}))}},n=0;n<arguments.length;n++)r(n);return t.join(" ")},util$1.findDom=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,r=arguments.length>1?arguments[1]:void 0;try{e=t.querySelector(r)}catch(n){XG_DEBUG.logError("util.findDom",n),0===_indexOfInstanceProperty(r).call(r,"#")&&(e=t.getElementById(_sliceInstanceProperty(r).call(r,1)))}return e},util$1.getCss=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,!1)[t]},util$1.padStart=function(e,t,r){for(var n=String(r),i=t>>0,o=Math.ceil(i/n.length),a=[],s=String(e);o--;)a.push(n);return a.join("").substring(0,i-s.length)+s},util$1.format=function(e){if(window.isNaN(e))return"";e=Math.round(e);var t=_padStartInstanceProperty(util$1).call(util$1,Math.floor(e/3600),2,0),r=_padStartInstanceProperty(util$1).call(util$1,Math.floor((e-3600*t)/60),2,0),n=_padStartInstanceProperty(util$1).call(util$1,Math.floor(e-3600*t-60*r),2,0);return("00"===t?[r,n]:[t,r,n]).join(":")},util$1.event=function(e){if(e.touches){var t=e.touches[0]||e.changedTouches[0];e.clientX=t.clientX||0,e.clientY=t.clientY||0,e.offsetX=t.pageX-t.target.offsetLeft,e.offsetY=t.pageY-t.target.offsetTop}e._target=e.target||e.srcElement},util$1.typeOf=function(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]},util$1.deepCopy=function(e,t){var r;if("Object"===util$1.typeOf(t)&&"Object"===util$1.typeOf(e))return _forEachInstanceProperty(r=_Object$keys(t)).call(r,(function(r){if("Object"!==util$1.typeOf(t[r])||t[r]instanceof Node)if("Array"===util$1.typeOf(t[r])){var n;e[r]="Array"===util$1.typeOf(e[r])?_concatInstanceProperty(n=e[r]).call(n,t[r]):t[r]}else e[r]=t[r];else void 0===e[r]||void 0===e[r]?e[r]=t[r]:util$1.deepCopy(e[r],t[r])})),e},util$1.deepMerge=function(e,t){var r;return _mapInstanceProperty(r=_Object$keys(t)).call(r,(function(r){var n;"Array"===util$1.typeOf(t[r])&&"Array"===util$1.typeOf(e[r])?"Array"===util$1.typeOf(e[r])&&(n=e[r]).push.apply(n,_toConsumableArray$3(t[r])):util$1.typeOf(e[r])!==util$1.typeOf(t[r])||null===e[r]||"Object"!==util$1.typeOf(e[r])||t[r]instanceof window.Node?null!==t[r]&&(e[r]=t[r]):util$1.deepMerge(e[r],t[r])})),e},util$1.getBgImage=function(e){var t=(e.currentStyle||window.getComputedStyle(e,null)).backgroundImage;if(!t||"none"===t)return"";var r=document.createElement("a");return r.href=t.replace(/url\("|"\)/g,""),r.href},util$1.copyDom=function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return _forEachInstanceProperty(Array.prototype).call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return""},util$1.setInterval=function(e,t,r,n){e._interval[t]||(e._interval[t]=_setInterval(_bindInstanceProperty(r).call(r,e),n))},util$1.clearInterval=function(e,t){clearInterval(e._interval[t]),e._interval[t]=null},util$1.setTimeout=function(e,t,r){e._timers||(e._timers=[]);var n=_setTimeout((function(){t(),util$1.clearTimeout(e,n)}),r);return e._timers.push(n),n},util$1.clearTimeout=function(e,t){var r=e._timers;if("Array"===util$1.typeOf(r)){for(var n=0;n<r.length;n++)if(r[n]===t){_spliceInstanceProperty(r).call(r,n,1),clearTimeout(t);break}}else clearTimeout(t)},util$1.clearAllTimers=function(e){var t=e._timers;"Array"===util$1.typeOf(t)&&(_mapInstanceProperty(t).call(t,(function(e){clearTimeout(e)})),e._timerIds=[])},util$1.createImgBtn=function(e,t,r,n){var i,o,a,s,l,c,u,d,p,y,h,f,$=util$1.createDom("xg-".concat(e),"",{},"xgplayer-".concat(e,"-img"));($.style.backgroundImage='url("'.concat(t,'")'),r&&n)&&(_everyInstanceProperty(i=["px","rem","em","pt","dp","vw","vh","vm","%"]).call(i,(function(e){var t,i;return!(_indexOfInstanceProperty(r).call(r,e)>-1&&_indexOfInstanceProperty(n).call(n,e)>-1)||(u=_parseFloat$1(_trimInstanceProperty(t=_sliceInstanceProperty(r).call(r,0,_indexOfInstanceProperty(r).call(r,e))).call(t)),d=_parseFloat$1(_trimInstanceProperty(i=_sliceInstanceProperty(n).call(n,0,_indexOfInstanceProperty(n).call(n,e))).call(i)),p=e,!1)})),$.style.width=_concatInstanceProperty(o="".concat(u)).call(o,p),$.style.height=_concatInstanceProperty(a="".concat(d)).call(a,p),$.style.backgroundSize=_concatInstanceProperty(s=_concatInstanceProperty(l=_concatInstanceProperty(c="".concat(u)).call(c,p," ")).call(l,d)).call(s,p),$.style.margin="start"===e?_concatInstanceProperty(y=_concatInstanceProperty(h=_concatInstanceProperty(f="-".concat(d/2)).call(f,p," auto auto -")).call(h,u/2)).call(y,p):"auto 5px auto 5px");return $},util$1.Hex2RGBA=function(e,t){var r,n=[];if(/^\#[0-9A-F]{3}$/i.test(e)){var i="#";e.replace(/[0-9A-F]/gi,(function(e){i+=e+e})),e=i}return/^#[0-9A-F]{6}$/i.test(e)?(e.replace(/[0-9A-F]{2}/gi,(function(e){n.push(_parseInt$1(e,16))})),_concatInstanceProperty(r="rgba(".concat(n.join(","),", ")).call(r,t,")")):"rgba(255, 255, 255, 0.1)"},util$1.getFullScreenEl=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},util$1.checkIsFunction=function(e){return e&&"function"==typeof e},util$1.checkIsObject=function(e){return null!==e&&"object"===_typeof$3(e)},util$1.hide=function(e){e.style.display="none"},util$1.show=function(e,t){e.style.display=t||"block"},util$1.isUndefined=function(e){if(null==e)return!0},util$1.isNotNull=function(e){return!(null==e)},util$1.setStyleFromCsstext=function(e,t){if(t)if("String"===util$1.typeOf(t)){var r=t.replace(/\s+/g,"").split(";");_mapInstanceProperty(r).call(r,(function(t){if(t){var r=t.split(":");r.length>1&&(e.style[r[0]]=r[1])}}))}else{var n;_mapInstanceProperty(n=_Object$keys(t)).call(n,(function(r){e.style[r]=t[r]}))}},util$1.filterStyleFromText=function(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["width","height","top","left","bottom","right","position","z-index","padding","margin","transform"],n=e.style.cssText;if(!n)return{};var i=n.replace(/\s+/g,"").split(";"),o={},a={};return _mapInstanceProperty(i).call(i,(function(e){if(e){var t=e.split(":");t.length>1&&(checkIsIn(t[0],r)?o[t[0]]=t[1]:a[t[0]]=t[1])}})),e.setAttribute("style",""),_mapInstanceProperty(t=_Object$keys(a)).call(t,(function(t){e.style[t]=a[t]})),o},util$1.getStyleFromCsstext=function(e){var t=e.style.cssText;if(!t)return{};var r=t.replace(/\s+/g,"").split(";"),n={};return _mapInstanceProperty(r).call(r,(function(e){if(e){var t=e.split(":");t.length>1&&(n[t[0]]=t[1])}})),n},util$1.preloadImg=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};if(e){var n=new window.Image;n.onload=function(e){n=null,t&&t(e)},n.onerror=function(e){n=null,r&&r(e)},n.src=e}},util$1.stopPropagation=function(e){e&&e.stopPropagation()},util$1.scrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},util$1.scrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0},util$1.checkTouchSupport=function(){return"ontouchstart"in window},util$1.getBuffered2=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,r=[],n=0;n<e.length;n++)r.push({start:e.start(n)<.5?0:e.start(n),end:e.end(n)});_sortInstanceProperty(r).call(r,(function(e,t){var r=e.start-t.start;return r||t.end-e.end}));var i=[];if(t)for(var o=0;o<r.length;o++){var a=i.length;if(a){var s=i[a-1].end;r[o].start-s<t?r[o].end>s&&(i[a-1].end=r[o].end):i.push(r[o])}else i.push(r[o])}else i=r;return new XgplayerTimeRange(i)},util$1.getEventPos=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.touches&&e.touches.length>0&&(e=e.touches[0]),{x:e.x/t,y:e.y/t,clientX:e.clientX/t,clientY:e.clientY/t,offsetX:e.offsetX/t,offsetY:e.offsetY/t,pageX:e.pageX/t,pageY:e.pageY/t}},util$1.requestAnimationFrame=function(e){var t=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(t)return t(e)},util$1.getHostFromUrl=function(e){if("String"!==util$1.typeOf(e))return"";var t=e.split("/"),r="";return t.length>3&&t[2]&&(r=t[2]),r},util$1.cancelAnimationFrame=function(e){var t=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame;t&&t(e)},util$1.isMSE=function(e){return!!(e&&e instanceof HTMLMediaElement)&&(/^blob/.test(e.currentSrc)||/^blob/.test(e.src))},util$1.generateSessionId=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=(new Date).getTime();try{e=_parseInt$1(e)}catch(t){e=0}return t+=e,window.performance&&"function"==typeof window.performance.now&&(t+=_parseInt$1(window.performance.now())),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var r=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?r:3&r|8).toString(16)}))},util$1.createEvent=function(e){var t;return"function"==typeof window.Event?t=new Event(e):(t=document.createEvent("Event")).initEvent(e,!0,!0),t},util$1.adjustTimeByDuration=function(e,t,r){return t&&e&&(e>t||r&&e<t)?t:e},util$1.createPositionBar=function(e,t){var r=util$1.createDom("xg-bar","",{"data-index":-1},e);return t.appendChild(r),r},util$1.getTransformStyle=function(){var e,t,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{x:0,y:0,scale:1,rotate:0};return _concatInstanceProperty(e=_concatInstanceProperty(t=_concatInstanceProperty(r="scale(".concat(n.scale||1,") translate(")).call(r,n.x||0,"%, ")).call(t,n.y||0,"%) rotate(")).call(e,n.rotate||0,"deg)")},util$1.convertDeg=function(e){return Math.abs(e)<=1?360*e:e%360};var VERSION_REG={android:/(Android)\s([\d.]+)/,ios:/(Version)\/([\d.]+)/},H264_MIMETYPES=["avc1.42E01E, mp4a.40.2","avc1.58A01E, mp4a.40.2","avc1.4D401E, mp4a.40.2","avc1.64001E, mp4a.40.2","avc1.42E01E","mp4v.20.8","avc1.42E01E, mp4a.40.2","avc1.58A01E, mp4a.40.2","avc1.4D401E, mp4a.40.2","avc1.64001E, mp4a.40.2","mp4v.20.8, mp4a.40.2","mp4v.20.240, mp4a.40.2"],sniffer={get device(){return sniffer.os.isPc?"pc":"mobile"},get browser(){var e,t;if("undefined"==typeof navigator)return"";var r=navigator.userAgent.toLowerCase(),n={ie:/rv:([\d.]+)\) like gecko/,firefox:/firefox\/([\d.]+)/,chrome:/chrome\/([\d.]+)/,opera:/opera.([\d.]+)/,safari:/version\/([\d.]+).*safari/};return _concatInstanceProperty(e=[]).call(e,_filterInstanceProperty(t=_Object$keys(n)).call(t,(function(e){return n[e].test(r)})))[0]},get os(){if("undefined"==typeof navigator)return{};var e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),r=/(?:SymbianOS)/.test(e)||t,n=/(?:Android)/.test(e),i=/(?:Firefox)/.test(e),o=/(?:iPad|PlayBook)/.test(e)||n&&!/(?:Mobile)/.test(e)||i&&/(?:Tablet)/.test(e),a=/(?:iPhone)/.test(e)&&!o,s=!(a||n||r||o),l=/(?:iPad|PlayBook)/.test(e);return{isTablet:o,isPhone:a,isIpad:l,isIos:a||l,isAndroid:n,isPc:s,isSymbian:r,isWindowsPhone:t,isFireFox:i}},get osVersion(){if("undefined"==typeof navigator)return 0;var e=navigator.userAgent,t="",r=(t=/(?:iPhone)|(?:iPad|PlayBook)/.test(e)?VERSION_REG.ios:VERSION_REG.android)?t.exec(e):[];if(r&&r.length>=3){var n=r[2].split(".");return n.length>0?_parseInt$1(n[0]):0}return 0},get isWeixin(){if("undefined"==typeof navigator)return!1;return!!/(micromessenger)\/([\d.]+)/.exec(navigator.userAgent.toLocaleLowerCase())},isSupportMP4:function(){var e={isSupport:!1,mime:""};if("undefined"==typeof document)return e;if(this.supportResult)return this.supportResult;var t=document.createElement("video");return"function"==typeof t.canPlayType&&_mapInstanceProperty(H264_MIMETYPES).call(H264_MIMETYPES,(function(r){"probably"===t.canPlayType('video/mp4; codecs="'.concat(r,'"'))&&(e.isSupport=!0,e.mime+="||".concat(r))})),this.supportResult=e,t=null,e},isMSESupport:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"';if("undefined"==typeof MediaSource||!MediaSource)return!1;try{return MediaSource.isTypeSupported(e)}catch(t){return this._logger.error(e,t),!1}},isHevcSupported:function(){return!("undefined"==typeof MediaSource||!MediaSource.isTypeSupported)&&(MediaSource.isTypeSupported('video/mp4;codecs="hev1.1.6.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.2.4.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.3.E.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.4.10.L120.90"'))},probeConfigSupported:function(e){var t={supported:!1,smooth:!1,powerEfficient:!1};if(!e||"undefined"==typeof navigator)return _Promise.resolve(t);if(navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo)return navigator.mediaCapabilities.decodingInfo(e);var r=e.video||{},n=e.audio||{};try{var i=MediaSource.isTypeSupported(r.contentType),o=MediaSource.isTypeSupported(n.contentType);return _Promise.resolve({supported:i&&o,smooth:!1,powerEfficient:!1})}catch(e){return _Promise.resolve(t)}}},version$1="3.0.7",ERROR_MAP={1:5101,2:5102,3:5103,4:5104,5:5105,6:5106},Errors=_createClass$7((function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{errorType:"",errorCode:0,errorMessage:"",originError:"",ext:{},mediaError:null};_classCallCheck$7(this,e);var n=t&&t.i18n?t.i18n.ERROR_TYPES:null;if(t.media){var i,o=r.mediaError?r.mediaError:t.media.error||{},a=t.duration,s=t.currentTime,l=t.ended,c=t.src,u=t.currentSrc,d=t.media,p=d.readyState,y=d.networkState,h=r.errorCode||o.code;ERROR_MAP[h]&&(h=ERROR_MAP[h]);var f={playerVersion:version$1,currentTime:s,duration:a,ended:l,readyState:p,networkState:y,src:c||u,errorType:r.errorType,errorCode:h,message:r.errorMessage||o.message,mediaError:o,originError:r.originError?r.originError.stack:"",host:util$1.getHostFromUrl(c||u)};return r.ext&&_mapInstanceProperty(i=_Object$keys(r.ext)).call(i,(function(e){f[e]=r.ext[e]})),f}if(arguments.length>1){for(var $={playerVersion:version$1,domain:document.domain},m=["errorType","currentTime","duration","networkState","readyState","src","currentSrc","ended","errd","errorCode","mediaError"],b=0;b<arguments.length;b++)$[m[b]]=arguments[b];return $.ex=n?(n[arguments[0]]||{}).msg:"",$}})),TIME_UPDATE="timeupdate",WAITING="waiting",LOADED_DATA="loadeddata",LOAD_START="loadstart",DEFINITION_CHANGE="definition_change",AFTER_DEFINITION_CHANGE="after_definition_change";function callHandler(e,t,r){for(var n,i=arguments.length,o=new Array(i>3?i-3:0),a=3;a<i;a++)o[a-3]=arguments[a];var s,l=t.call.apply(t,_concatInstanceProperty(n=[e]).call(n,o));r&&"function"==typeof r&&(l&&l.then?l.then((function(){for(var t,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];r.call.apply(r,_concatInstanceProperty(t=[e]).call(t,i))})):r.call.apply(r,_concatInstanceProperty(s=[e]).call(s,o)))}function hook(e,t){var r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{pre:null,next:null};return this.__hooks||(this.__hooks={}),!this.__hooks[e]&&(this.__hooks[e]=null),_bindInstanceProperty(r=function(){var r,i=arguments,o=this;if(n.pre)try{var a,s;(s=n.pre).call.apply(s,_concatInstanceProperty(a=[this]).call(a,_sliceInstanceProperty(Array.prototype).call(arguments)))}catch(t){var l,c;throw t.message=_concatInstanceProperty(l=_concatInstanceProperty(c="[pluginName: ".concat(this.pluginName,":")).call(c,e,":pre error] >> ")).call(l,t.message),t}if(this.__hooks&&this.__hooks[e])try{var u,d,p,y=(d=this.__hooks[e]).call.apply(d,_concatInstanceProperty(u=[this,this]).call(u,_sliceInstanceProperty(Array.prototype).call(arguments)));if(y)if(y.then)y.then((function(e){var r;!1!==e&&callHandler.apply(void 0,_concatInstanceProperty(r=[o,t,n.next]).call(r,_toConsumableArray$3(i)))})).catch((function(e){throw e}));else callHandler.apply(void 0,_concatInstanceProperty(p=[this,t,n.next]).call(p,_sliceInstanceProperty(Array.prototype).call(arguments)));else if(void 0===y){var h;callHandler.apply(void 0,_concatInstanceProperty(h=[this,t,n.next]).call(h,_sliceInstanceProperty(Array.prototype).call(arguments)))}}catch(t){var f,$;throw t.message=_concatInstanceProperty(f=_concatInstanceProperty($="[pluginName: ".concat(this.pluginName,":")).call($,e,"] >> ")).call(f,t.message),t}else callHandler.apply(void 0,_concatInstanceProperty(r=[this,t,n.next]).call(r,_sliceInstanceProperty(Array.prototype).call(arguments)))}).call(r,this)}function useHooks(e,t){var r=this.__hooks;if(r)return r.hasOwnProperty(e)?(r&&(r[e]=t),!0):(console.warn("has no supported hook which name [".concat(e,"]")),!1)}function removeHooks(e,t){var r=this.__hooks;r&&delete r[e]}function hooksDescriptor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e.__hooks={},t&&_mapInstanceProperty(t).call(t,(function(t){e.__hooks[t]=null})),_Object$defineProperty(e,"hooks",{get:function(){var t;return e.__hooks&&_mapInstanceProperty(t=_Object$keys(e.__hooks)).call(t,(function(t){if(e.__hooks[t])return t}))}})}function delHooksDescriptor(e){e.__hooks=null}function showErrorMsg(e,t){var r;XG_DEBUG.logError(_concatInstanceProperty(r="[".concat(e,"] event or callback cant be undefined or null when call ")).call(r,t))}var BasePlugin=function(){function e(t){_classCallCheck$7(this,e),util$1.checkIsFunction(this.beforeCreate)&&this.beforeCreate(t),hooksDescriptor(this),this.__args=t,this.__events={},this.__onceEvents={},this.config=t.config||{},this.player=null,this.playerConfig={},this.pluginName="",this.__init(t)}return _createClass$7(e,[{key:"beforeCreate",value:function(e){}},{key:"afterCreate",value:function(){}},{key:"beforePlayerInit",value:function(){}},{key:"onPluginsReady",value:function(){}},{key:"afterPlayerInit",value:function(){}},{key:"destroy",value:function(){}},{key:"__init",value:function(e){this.player=e.player,this.playerConfig=e.player&&e.player.config,this.pluginName=e.pluginName?e.pluginName.toLowerCase():this.constructor.pluginName.toLowerCase(),this.logger=e.player&&e.player.logger}},{key:"updateLang",value:function(e){e||(e=this.lang)}},{key:"lang",get:function(){return this.player.lang}},{key:"i18n",get:function(){return this.player.i18n}},{key:"i18nKeys",get:function(){return this.player.i18nKeys}},{key:"domEventType",get:function(){var e=util$1.checkTouchSupport()?"touch":"mouse";return!this.playerConfig||"touch"!==this.playerConfig.domEventType&&"mouse"!==this.playerConfig.domEventType||(e=this.playerConfig.domEventType),e}},{key:"on",value:function(e,t){var r=this;e&&t&&this.player?"string"==typeof e?(this.__events[e]=t,this.player.on(e,t)):_Array$isArray(e)&&_forEachInstanceProperty(e).call(e,(function(e){r.__events[e]=t,r.player.on(e,t)})):showErrorMsg(this.pluginName,"plugin.on(event, callback)")}},{key:"once",value:function(e,t){var r=this;e&&t&&this.player?"string"==typeof e?(this.__onceEvents[e]=t,this.player.once(e,t)):_Array$isArray(e)&&_forEachInstanceProperty(e).call(e,(function(n){r.__onceEvents[n]=t,r.player.once(e,t)})):showErrorMsg(this.pluginName,"plugin.once(event, callback)")}},{key:"off",value:function(e,t){var r=this;e&&t&&this.player?"string"==typeof e?(delete this.__events[e],this.player.off(e,t)):_Array$isArray(e)&&_forEachInstanceProperty(e).call(e,(function(n){delete r.__events[e],r.player.off(n,t)})):showErrorMsg(this.pluginName,"plugin.off(event, callback)")}},{key:"offAll",value:function(){var e,t=this;_forEachInstanceProperty(e=["__events","__onceEvents"]).call(e,(function(e){var r;_forEachInstanceProperty(r=_Object$keys(t[e])).call(r,(function(r){t[e][r]&&t.off(r,t[e][r]),r&&delete t[e][r]}))})),this.__events={},this.__onceEvents={}}},{key:"emit",value:function(e){var t,r;if(this.player){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];(r=this.player).emit.apply(r,_concatInstanceProperty(t=[e]).call(t,i))}}},{key:"emitUserAction",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.player){var n=_objectSpread2$2(_objectSpread2$2({},r),{},{pluginName:this.pluginName});this.player.emitUserAction(e,t,n)}}},{key:"hook",value:function(e,t){var r;return hook.call.apply(hook,_concatInstanceProperty(r=[this]).call(r,_sliceInstanceProperty(Array.prototype).call(arguments)))}},{key:"useHooks",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];return useHooks.call.apply(useHooks,_concatInstanceProperty(r=[this]).call(r,_sliceInstanceProperty(Array.prototype).call(arguments)))}},{key:"removeHooks",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];return removeHooks.call.apply(removeHooks,_concatInstanceProperty(r=[this]).call(r,_sliceInstanceProperty(Array.prototype).call(arguments)))}},{key:"registerPlugin",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(this.player)return r&&(t.pluginName=r),this.player.registerPlugin({plugin:e,options:t})}},{key:"getPlugin",value:function(e){return this.player?this.player.getPlugin(e):null}},{key:"__destroy",value:function(){var e,t=this,r=this.player,n=this.pluginName;this.offAll(),util$1.clearAllTimers(this),util$1.checkIsFunction(this.destroy)&&this.destroy(),_mapInstanceProperty(e=["player","playerConfig","pluginName","logger","__args","__hooks"]).call(e,(function(e){t[e]=null})),r.unRegisterPlugin(n),delHooksDescriptor(this)}}],[{key:"defineGetterOrSetter",value:function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&_Object$defineProperty(e,r,t[r])}},{key:"defaultConfig",get:function(){return{}}},{key:"pluginName",get:function(){return"pluginName"}}]),e}(),fails$G=fails$1t,wellKnownSymbol$f=wellKnownSymbol$U,DESCRIPTORS$h=descriptors$1,IS_PURE$1=isPure$1,ITERATOR$5=wellKnownSymbol$f("iterator"),urlConstructorDetection$1=!fails$G((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach((function(e,n){t.delete("b"),r+=n+e})),IS_PURE$1&&!e.toJSON||!t.size&&(IS_PURE$1||!DESCRIPTORS$h)||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[ITERATOR$5]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host})),uncurryThis$B=functionUncurryThis$1,maxInt$1=2147483647,base$1=36,tMin$1=1,tMax$1=26,skew$1=38,damp$1=700,initialBias$1=72,initialN$1=128,delimiter$1="-",regexNonASCII$1=/[^\0-\u007E]/,regexSeparators$1=/[.\u3002\uFF0E\uFF61]/g,OVERFLOW_ERROR$1="Overflow: input needs wider integers to process",baseMinusTMin$1=base$1-tMin$1,$RangeError$6=RangeError,exec$5=uncurryThis$B(regexSeparators$1.exec),floor$b=Math.floor,fromCharCode$1=String.fromCharCode,charCodeAt$1=uncurryThis$B("".charCodeAt),join$6=uncurryThis$B([].join),push$k=uncurryThis$B([].push),replace$8=uncurryThis$B("".replace),split$5=uncurryThis$B("".split),toLowerCase$3=uncurryThis$B("".toLowerCase),ucs2decode$1=function(e){for(var t=[],r=0,n=e.length;r<n;){var i=charCodeAt$1(e,r++);if(i>=55296&&i<=56319&&r<n){var o=charCodeAt$1(e,r++);56320==(64512&o)?push$k(t,((1023&i)<<10)+(1023&o)+65536):(push$k(t,i),r--)}else push$k(t,i)}return t},digitToBasic$1=function(e){return e+22+75*(e<26)},adapt$1=function(e,t,r){var n=0;for(e=r?floor$b(e/damp$1):e>>1,e+=floor$b(e/t);e>baseMinusTMin$1*tMax$1>>1;)e=floor$b(e/baseMinusTMin$1),n+=base$1;return floor$b(n+(baseMinusTMin$1+1)*e/(e+skew$1))},encode$2=function(e){var t,r,n=[],i=(e=ucs2decode$1(e)).length,o=initialN$1,a=0,s=initialBias$1;for(t=0;t<e.length;t++)(r=e[t])<128&&push$k(n,fromCharCode$1(r));var l=n.length,c=l;for(l&&push$k(n,delimiter$1);c<i;){var u=maxInt$1;for(t=0;t<e.length;t++)(r=e[t])>=o&&r<u&&(u=r);var d=c+1;if(u-o>floor$b((maxInt$1-a)/d))throw $RangeError$6(OVERFLOW_ERROR$1);for(a+=(u-o)*d,o=u,t=0;t<e.length;t++){if((r=e[t])<o&&++a>maxInt$1)throw $RangeError$6(OVERFLOW_ERROR$1);if(r==o){for(var p=a,y=base$1;;){var h=y<=s?tMin$1:y>=s+tMax$1?tMax$1:y-s;if(p<h)break;var f=p-h,$=base$1-h;push$k(n,fromCharCode$1(digitToBasic$1(h+f%$))),p=floor$b(f/$),y+=base$1}push$k(n,fromCharCode$1(digitToBasic$1(p))),s=adapt$1(a,d,c==l),a=0,c++}}a++,o++}return join$6(n,"")},stringPunycodeToAscii$1=function(e){var t,r,n=[],i=split$5(replace$8(toLowerCase$3(e),regexSeparators$1,"."),".");for(t=0;t<i.length;t++)r=i[t],push$k(n,exec$5(regexNonASCII$1,r)?"xn--"+encode$2(r):r);return join$6(n,".")},defineBuiltIn$b=defineBuiltIn$r,defineBuiltIns$6=function(e,t,r){for(var n in t)r&&r.unsafe&&e[n]?e[n]=t[n]:defineBuiltIn$b(e,n,t[n],r);return e},$$1c=_export$1,global$o=global$19,call$l=functionCall$1,uncurryThis$A=functionUncurryThis$1,DESCRIPTORS$g=descriptors$1,USE_NATIVE_URL$4=urlConstructorDetection$1,defineBuiltIn$a=defineBuiltIn$r,defineBuiltInAccessor$5=defineBuiltInAccessor$8,defineBuiltIns$5=defineBuiltIns$6,setToStringTag$7=setToStringTag$i,createIteratorConstructor$1=iteratorCreateConstructor$1,InternalStateModule$a=internalState$1,anInstance$9=anInstance$d,isCallable$b=isCallable$W,hasOwn$g=hasOwnProperty_1$1,bind$h=functionBindContext$1,classof$d=classof$w,anObject$e=anObject$E,isObject$i=isObject$M,$toString$5=toString$B,create$7=objectCreate$1,createPropertyDescriptor$3=createPropertyDescriptor$g,getIterator$9=getIterator$e,getIteratorMethod$3=getIteratorMethod$g,validateArgumentsLength$4=validateArgumentsLength$a,wellKnownSymbol$e=wellKnownSymbol$U,arraySort$2=arraySort$3,ITERATOR$4=wellKnownSymbol$e("iterator"),URL_SEARCH_PARAMS$1="URLSearchParams",URL_SEARCH_PARAMS_ITERATOR$1=URL_SEARCH_PARAMS$1+"Iterator",setInternalState$9=InternalStateModule$a.set,getInternalParamsState$1=InternalStateModule$a.getterFor(URL_SEARCH_PARAMS$1),getInternalIteratorState$1=InternalStateModule$a.getterFor(URL_SEARCH_PARAMS_ITERATOR$1),getOwnPropertyDescriptor$2=Object.getOwnPropertyDescriptor,safeGetBuiltIn$1=function(e){if(!DESCRIPTORS$g)return global$o[e];var t=getOwnPropertyDescriptor$2(global$o,e);return t&&t.value},nativeFetch$1=safeGetBuiltIn$1("fetch"),NativeRequest$1=safeGetBuiltIn$1("Request"),Headers$2=safeGetBuiltIn$1("Headers"),RequestPrototype$1=NativeRequest$1&&NativeRequest$1.prototype,HeadersPrototype$1=Headers$2&&Headers$2.prototype,RegExp$3=global$o.RegExp,TypeError$6=global$o.TypeError,decodeURIComponent$2=global$o.decodeURIComponent,encodeURIComponent$2=global$o.encodeURIComponent,charAt$7=uncurryThis$A("".charAt),join$5=uncurryThis$A([].join),push$j=uncurryThis$A([].push),replace$7=uncurryThis$A("".replace),shift$3=uncurryThis$A([].shift),splice$1=uncurryThis$A([].splice),split$4=uncurryThis$A("".split),stringSlice$c=uncurryThis$A("".slice),plus$1=/\+/g,sequences$1=Array(4),percentSequence$1=function(e){return sequences$1[e-1]||(sequences$1[e-1]=RegExp$3("((?:%[\\da-f]{2}){"+e+"})","gi"))},percentDecode$1=function(e){try{return decodeURIComponent$2(e)}catch(t){return e}},deserialize$1=function(e){var t=replace$7(e,plus$1," "),r=4;try{return decodeURIComponent$2(t)}catch(e){for(;r;)t=replace$7(t,percentSequence$1(r--),percentDecode$1);return t}},find$1=/[!'()~]|%20/g,replacements$1={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},replacer$1=function(e){return replacements$1[e]},serialize$1=function(e){return replace$7(encodeURIComponent$2(e),find$1,replacer$1)},URLSearchParamsIterator$1=createIteratorConstructor$1((function(e,t){setInternalState$9(this,{type:URL_SEARCH_PARAMS_ITERATOR$1,iterator:getIterator$9(getInternalParamsState$1(e).entries),kind:t})}),"Iterator",(function(){var e=getInternalIteratorState$1(this),t=e.kind,r=e.iterator.next(),n=r.value;return r.done||(r.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),r}),!0),URLSearchParamsState$1=function(e){this.entries=[],this.url=null,void 0!==e&&(isObject$i(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===charAt$7(e,0)?stringSlice$c(e,1):e:$toString$5(e)))};URLSearchParamsState$1.prototype={type:URL_SEARCH_PARAMS$1,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,n,i,o,a,s,l=getIteratorMethod$3(e);if(l)for(r=(t=getIterator$9(e,l)).next;!(n=call$l(r,t)).done;){if(o=(i=getIterator$9(anObject$e(n.value))).next,(a=call$l(o,i)).done||(s=call$l(o,i)).done||!call$l(o,i).done)throw TypeError$6("Expected sequence with length 2");push$j(this.entries,{key:$toString$5(a.value),value:$toString$5(s.value)})}else for(var c in e)hasOwn$g(e,c)&&push$j(this.entries,{key:c,value:$toString$5(e[c])})},parseQuery:function(e){if(e)for(var t,r,n=split$4(e,"&"),i=0;i<n.length;)(t=n[i++]).length&&(r=split$4(t,"="),push$j(this.entries,{key:deserialize$1(shift$3(r)),value:deserialize$1(join$5(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],n=0;n<t.length;)e=t[n++],push$j(r,serialize$1(e.key)+"="+serialize$1(e.value));return join$5(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var URLSearchParamsConstructor$1=function(){anInstance$9(this,URLSearchParamsPrototype$1);var e=setInternalState$9(this,new URLSearchParamsState$1(arguments.length>0?arguments[0]:void 0));DESCRIPTORS$g||(this.length=e.entries.length)},URLSearchParamsPrototype$1=URLSearchParamsConstructor$1.prototype;if(defineBuiltIns$5(URLSearchParamsPrototype$1,{append:function(e,t){validateArgumentsLength$4(arguments.length,2);var r=getInternalParamsState$1(this);push$j(r.entries,{key:$toString$5(e),value:$toString$5(t)}),DESCRIPTORS$g||this.length++,r.updateURL()},delete:function(e){validateArgumentsLength$4(arguments.length,1);for(var t=getInternalParamsState$1(this),r=t.entries,n=$toString$5(e),i=0;i<r.length;)r[i].key===n?splice$1(r,i,1):i++;DESCRIPTORS$g||(this.length=r.length),t.updateURL()},get:function(e){validateArgumentsLength$4(arguments.length,1);for(var t=getInternalParamsState$1(this).entries,r=$toString$5(e),n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){validateArgumentsLength$4(arguments.length,1);for(var t=getInternalParamsState$1(this).entries,r=$toString$5(e),n=[],i=0;i<t.length;i++)t[i].key===r&&push$j(n,t[i].value);return n},has:function(e){validateArgumentsLength$4(arguments.length,1);for(var t=getInternalParamsState$1(this).entries,r=$toString$5(e),n=0;n<t.length;)if(t[n++].key===r)return!0;return!1},set:function(e,t){validateArgumentsLength$4(arguments.length,1);for(var r,n=getInternalParamsState$1(this),i=n.entries,o=!1,a=$toString$5(e),s=$toString$5(t),l=0;l<i.length;l++)(r=i[l]).key===a&&(o?splice$1(i,l--,1):(o=!0,r.value=s));o||push$j(i,{key:a,value:s}),DESCRIPTORS$g||(this.length=i.length),n.updateURL()},sort:function(){var e=getInternalParamsState$1(this);arraySort$2(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=getInternalParamsState$1(this).entries,n=bind$h(e,arguments.length>1?arguments[1]:void 0),i=0;i<r.length;)n((t=r[i++]).value,t.key,this)},keys:function(){return new URLSearchParamsIterator$1(this,"keys")},values:function(){return new URLSearchParamsIterator$1(this,"values")},entries:function(){return new URLSearchParamsIterator$1(this,"entries")}},{enumerable:!0}),defineBuiltIn$a(URLSearchParamsPrototype$1,ITERATOR$4,URLSearchParamsPrototype$1.entries,{name:"entries"}),defineBuiltIn$a(URLSearchParamsPrototype$1,"toString",(function(){return getInternalParamsState$1(this).serialize()}),{enumerable:!0}),DESCRIPTORS$g&&defineBuiltInAccessor$5(URLSearchParamsPrototype$1,"size",{get:function(){return getInternalParamsState$1(this).entries.length},configurable:!0,enumerable:!0}),setToStringTag$7(URLSearchParamsConstructor$1,URL_SEARCH_PARAMS$1),$$1c({global:!0,constructor:!0,forced:!USE_NATIVE_URL$4},{URLSearchParams:URLSearchParamsConstructor$1}),!USE_NATIVE_URL$4&&isCallable$b(Headers$2)){var headersHas$1=uncurryThis$A(HeadersPrototype$1.has),headersSet$1=uncurryThis$A(HeadersPrototype$1.set),wrapRequestOptions$1=function(e){if(isObject$i(e)){var t,r=e.body;if(classof$d(r)===URL_SEARCH_PARAMS$1)return t=e.headers?new Headers$2(e.headers):new Headers$2,headersHas$1(t,"content-type")||headersSet$1(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),create$7(e,{body:createPropertyDescriptor$3(0,$toString$5(r)),headers:createPropertyDescriptor$3(0,t)})}return e};if(isCallable$b(nativeFetch$1)&&$$1c({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return nativeFetch$1(e,arguments.length>1?wrapRequestOptions$1(arguments[1]):{})}}),isCallable$b(NativeRequest$1)){var RequestConstructor$1=function(e){return anInstance$9(this,RequestPrototype$1),new NativeRequest$1(e,arguments.length>1?wrapRequestOptions$1(arguments[1]):{})};RequestPrototype$1.constructor=RequestConstructor$1,RequestConstructor$1.prototype=RequestPrototype$1,$$1c({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:RequestConstructor$1})}}var EOF$1,web_urlSearchParams_constructor$1={URLSearchParams:URLSearchParamsConstructor$1,getState:getInternalParamsState$1},$$1b=_export$1,DESCRIPTORS$f=descriptors$1,USE_NATIVE_URL$3=urlConstructorDetection$1,global$n=global$19,bind$g=functionBindContext$1,uncurryThis$z=functionUncurryThis$1,defineBuiltIn$9=defineBuiltIn$r,defineBuiltInAccessor$4=defineBuiltInAccessor$8,anInstance$8=anInstance$d,hasOwn$f=hasOwnProperty_1$1,assign$3=objectAssign$1,arrayFrom$2=arrayFrom$3,arraySlice$8=arraySliceSimple$1,codeAt$1=stringMultibyte$1.codeAt,toASCII$1=stringPunycodeToAscii$1,$toString$4=toString$B,setToStringTag$6=setToStringTag$i,validateArgumentsLength$3=validateArgumentsLength$a,URLSearchParamsModule$1=web_urlSearchParams_constructor$1,InternalStateModule$9=internalState$1,setInternalState$8=InternalStateModule$9.set,getInternalURLState$1=InternalStateModule$9.getterFor("URL"),URLSearchParams$2=URLSearchParamsModule$1.URLSearchParams,getInternalSearchParamsState$1=URLSearchParamsModule$1.getState,NativeURL$1=global$n.URL,TypeError$5=global$n.TypeError,parseInt$2=global$n.parseInt,floor$a=Math.floor,pow$5=Math.pow,charAt$6=uncurryThis$z("".charAt),exec$4=uncurryThis$z(/./.exec),join$4=uncurryThis$z([].join),numberToString$1=uncurryThis$z(1..toString),pop$1=uncurryThis$z([].pop),push$i=uncurryThis$z([].push),replace$6=uncurryThis$z("".replace),shift$2=uncurryThis$z([].shift),split$3=uncurryThis$z("".split),stringSlice$b=uncurryThis$z("".slice),toLowerCase$2=uncurryThis$z("".toLowerCase),unshift$1=uncurryThis$z([].unshift),INVALID_AUTHORITY$1="Invalid authority",INVALID_SCHEME$1="Invalid scheme",INVALID_HOST$1="Invalid host",INVALID_PORT$1="Invalid port",ALPHA$1=/[a-z]/i,ALPHANUMERIC$1=/[\d+-.a-z]/i,DIGIT$1=/\d/,HEX_START$1=/^0x/i,OCT$1=/^[0-7]+$/,DEC$1=/^\d+$/,HEX$1=/^[\da-f]+$/i,FORBIDDEN_HOST_CODE_POINT$1=/[\0\t\n\r #%/:<>?@[\\\]^|]/,FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT$1=/[\0\t\n\r #/:<>?@[\\\]^|]/,LEADING_C0_CONTROL_OR_SPACE=/^[\u0000-\u0020]+/,TRAILING_C0_CONTROL_OR_SPACE=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,TAB_AND_NEW_LINE$1=/[\t\n\r]/g,parseIPv4$1=function(e){var t,r,n,i,o,a,s,l=split$3(e,".");if(l.length&&""==l[l.length-1]&&l.length--,(t=l.length)>4)return e;for(r=[],n=0;n<t;n++){if(""==(i=l[n]))return e;if(o=10,i.length>1&&"0"==charAt$6(i,0)&&(o=exec$4(HEX_START$1,i)?16:8,i=stringSlice$b(i,8==o?1:2)),""===i)a=0;else{if(!exec$4(10==o?DEC$1:8==o?OCT$1:HEX$1,i))return e;a=parseInt$2(i,o)}push$i(r,a)}for(n=0;n<t;n++)if(a=r[n],n==t-1){if(a>=pow$5(256,5-t))return null}else if(a>255)return null;for(s=pop$1(r),n=0;n<r.length;n++)s+=r[n]*pow$5(256,3-n);return s},parseIPv6$1=function(e){var t,r,n,i,o,a,s,l=[0,0,0,0,0,0,0,0],c=0,u=null,d=0,p=function(){return charAt$6(e,d)};if(":"==p()){if(":"!=charAt$6(e,1))return;d+=2,u=++c}for(;p();){if(8==c)return;if(":"!=p()){for(t=r=0;r<4&&exec$4(HEX$1,p());)t=16*t+parseInt$2(p(),16),d++,r++;if("."==p()){if(0==r)return;if(d-=r,c>6)return;for(n=0;p();){if(i=null,n>0){if(!("."==p()&&n<4))return;d++}if(!exec$4(DIGIT$1,p()))return;for(;exec$4(DIGIT$1,p());){if(o=parseInt$2(p(),10),null===i)i=o;else{if(0==i)return;i=10*i+o}if(i>255)return;d++}l[c]=256*l[c]+i,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==p()){if(d++,!p())return}else if(p())return;l[c++]=t}else{if(null!==u)return;d++,u=++c}}if(null!==u)for(a=c-u,c=7;0!=c&&a>0;)s=l[c],l[c--]=l[u+a-1],l[u+--a]=s;else if(8!=c)return;return l},findLongestZeroSequence$1=function(e){for(var t=null,r=1,n=null,i=0,o=0;o<8;o++)0!==e[o]?(i>r&&(t=n,r=i),n=null,i=0):(null===n&&(n=o),++i);return i>r&&(t=n,r=i),t},serializeHost$1=function(e){var t,r,n,i;if("number"==typeof e){for(t=[],r=0;r<4;r++)unshift$1(t,e%256),e=floor$a(e/256);return join$4(t,".")}if("object"==typeof e){for(t="",n=findLongestZeroSequence$1(e),r=0;r<8;r++)i&&0===e[r]||(i&&(i=!1),n===r?(t+=r?":":"::",i=!0):(t+=numberToString$1(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},C0ControlPercentEncodeSet$1={},fragmentPercentEncodeSet$1=assign$3({},C0ControlPercentEncodeSet$1,{" ":1,'"':1,"<":1,">":1,"`":1}),pathPercentEncodeSet$1=assign$3({},fragmentPercentEncodeSet$1,{"#":1,"?":1,"{":1,"}":1}),userinfoPercentEncodeSet$1=assign$3({},pathPercentEncodeSet$1,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),percentEncode$1=function(e,t){var r=codeAt$1(e,0);return r>32&&r<127&&!hasOwn$f(t,e)?e:encodeURIComponent(e)},specialSchemes$1={ftp:21,file:null,http:80,https:443,ws:80,wss:443},isWindowsDriveLetter$1=function(e,t){var r;return 2==e.length&&exec$4(ALPHA$1,charAt$6(e,0))&&(":"==(r=charAt$6(e,1))||!t&&"|"==r)},startsWithWindowsDriveLetter$1=function(e){var t;return e.length>1&&isWindowsDriveLetter$1(stringSlice$b(e,0,2))&&(2==e.length||"/"===(t=charAt$6(e,2))||"\\"===t||"?"===t||"#"===t)},isSingleDot$1=function(e){return"."===e||"%2e"===toLowerCase$2(e)},isDoubleDot$1=function(e){return".."===(e=toLowerCase$2(e))||"%2e."===e||".%2e"===e||"%2e%2e"===e},SCHEME_START$1={},SCHEME$1={},NO_SCHEME$1={},SPECIAL_RELATIVE_OR_AUTHORITY$1={},PATH_OR_AUTHORITY$1={},RELATIVE$1={},RELATIVE_SLASH$1={},SPECIAL_AUTHORITY_SLASHES$1={},SPECIAL_AUTHORITY_IGNORE_SLASHES$1={},AUTHORITY$1={},HOST$1={},HOSTNAME$1={},PORT$1={},FILE$1={},FILE_SLASH$1={},FILE_HOST$1={},PATH_START$1={},PATH$1={},CANNOT_BE_A_BASE_URL_PATH$1={},QUERY$1={},FRAGMENT$1={},URLState$1=function(e,t,r){var n,i,o,a=$toString$4(e);if(t){if(i=this.parse(a))throw TypeError$5(i);this.searchParams=null}else{if(void 0!==r&&(n=new URLState$1(r,!0)),i=this.parse(a,null,n))throw TypeError$5(i);(o=getInternalSearchParamsState$1(new URLSearchParams$2)).bindURL(this),this.searchParams=o}};URLState$1.prototype={type:"URL",parse:function(e,t,r){var n,i,o,a,s=this,l=t||SCHEME_START$1,c=0,u="",d=!1,p=!1,y=!1;for(e=$toString$4(e),t||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,e=replace$6(e,LEADING_C0_CONTROL_OR_SPACE,""),e=replace$6(e,TRAILING_C0_CONTROL_OR_SPACE,"$1")),e=replace$6(e,TAB_AND_NEW_LINE$1,""),n=arrayFrom$2(e);c<=n.length;){switch(i=n[c],l){case SCHEME_START$1:if(!i||!exec$4(ALPHA$1,i)){if(t)return INVALID_SCHEME$1;l=NO_SCHEME$1;continue}u+=toLowerCase$2(i),l=SCHEME$1;break;case SCHEME$1:if(i&&(exec$4(ALPHANUMERIC$1,i)||"+"==i||"-"==i||"."==i))u+=toLowerCase$2(i);else{if(":"!=i){if(t)return INVALID_SCHEME$1;u="",l=NO_SCHEME$1,c=0;continue}if(t&&(s.isSpecial()!=hasOwn$f(specialSchemes$1,u)||"file"==u&&(s.includesCredentials()||null!==s.port)||"file"==s.scheme&&!s.host))return;if(s.scheme=u,t)return void(s.isSpecial()&&specialSchemes$1[s.scheme]==s.port&&(s.port=null));u="","file"==s.scheme?l=FILE$1:s.isSpecial()&&r&&r.scheme==s.scheme?l=SPECIAL_RELATIVE_OR_AUTHORITY$1:s.isSpecial()?l=SPECIAL_AUTHORITY_SLASHES$1:"/"==n[c+1]?(l=PATH_OR_AUTHORITY$1,c++):(s.cannotBeABaseURL=!0,push$i(s.path,""),l=CANNOT_BE_A_BASE_URL_PATH$1)}break;case NO_SCHEME$1:if(!r||r.cannotBeABaseURL&&"#"!=i)return INVALID_SCHEME$1;if(r.cannotBeABaseURL&&"#"==i){s.scheme=r.scheme,s.path=arraySlice$8(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,l=FRAGMENT$1;break}l="file"==r.scheme?FILE$1:RELATIVE$1;continue;case SPECIAL_RELATIVE_OR_AUTHORITY$1:if("/"!=i||"/"!=n[c+1]){l=RELATIVE$1;continue}l=SPECIAL_AUTHORITY_IGNORE_SLASHES$1,c++;break;case PATH_OR_AUTHORITY$1:if("/"==i){l=AUTHORITY$1;break}l=PATH$1;continue;case RELATIVE$1:if(s.scheme=r.scheme,i==EOF$1)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$8(r.path),s.query=r.query;else if("/"==i||"\\"==i&&s.isSpecial())l=RELATIVE_SLASH$1;else if("?"==i)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$8(r.path),s.query="",l=QUERY$1;else{if("#"!=i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$8(r.path),s.path.length--,l=PATH$1;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$8(r.path),s.query=r.query,s.fragment="",l=FRAGMENT$1}break;case RELATIVE_SLASH$1:if(!s.isSpecial()||"/"!=i&&"\\"!=i){if("/"!=i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,l=PATH$1;continue}l=AUTHORITY$1}else l=SPECIAL_AUTHORITY_IGNORE_SLASHES$1;break;case SPECIAL_AUTHORITY_SLASHES$1:if(l=SPECIAL_AUTHORITY_IGNORE_SLASHES$1,"/"!=i||"/"!=charAt$6(u,c+1))continue;c++;break;case SPECIAL_AUTHORITY_IGNORE_SLASHES$1:if("/"!=i&&"\\"!=i){l=AUTHORITY$1;continue}break;case AUTHORITY$1:if("@"==i){d&&(u="%40"+u),d=!0,o=arrayFrom$2(u);for(var h=0;h<o.length;h++){var f=o[h];if(":"!=f||y){var $=percentEncode$1(f,userinfoPercentEncodeSet$1);y?s.password+=$:s.username+=$}else y=!0}u=""}else if(i==EOF$1||"/"==i||"?"==i||"#"==i||"\\"==i&&s.isSpecial()){if(d&&""==u)return INVALID_AUTHORITY$1;c-=arrayFrom$2(u).length+1,u="",l=HOST$1}else u+=i;break;case HOST$1:case HOSTNAME$1:if(t&&"file"==s.scheme){l=FILE_HOST$1;continue}if(":"!=i||p){if(i==EOF$1||"/"==i||"?"==i||"#"==i||"\\"==i&&s.isSpecial()){if(s.isSpecial()&&""==u)return INVALID_HOST$1;if(t&&""==u&&(s.includesCredentials()||null!==s.port))return;if(a=s.parseHost(u))return a;if(u="",l=PATH_START$1,t)return;continue}"["==i?p=!0:"]"==i&&(p=!1),u+=i}else{if(""==u)return INVALID_HOST$1;if(a=s.parseHost(u))return a;if(u="",l=PORT$1,t==HOSTNAME$1)return}break;case PORT$1:if(!exec$4(DIGIT$1,i)){if(i==EOF$1||"/"==i||"?"==i||"#"==i||"\\"==i&&s.isSpecial()||t){if(""!=u){var m=parseInt$2(u,10);if(m>65535)return INVALID_PORT$1;s.port=s.isSpecial()&&m===specialSchemes$1[s.scheme]?null:m,u=""}if(t)return;l=PATH_START$1;continue}return INVALID_PORT$1}u+=i;break;case FILE$1:if(s.scheme="file","/"==i||"\\"==i)l=FILE_SLASH$1;else{if(!r||"file"!=r.scheme){l=PATH$1;continue}if(i==EOF$1)s.host=r.host,s.path=arraySlice$8(r.path),s.query=r.query;else if("?"==i)s.host=r.host,s.path=arraySlice$8(r.path),s.query="",l=QUERY$1;else{if("#"!=i){startsWithWindowsDriveLetter$1(join$4(arraySlice$8(n,c),""))||(s.host=r.host,s.path=arraySlice$8(r.path),s.shortenPath()),l=PATH$1;continue}s.host=r.host,s.path=arraySlice$8(r.path),s.query=r.query,s.fragment="",l=FRAGMENT$1}}break;case FILE_SLASH$1:if("/"==i||"\\"==i){l=FILE_HOST$1;break}r&&"file"==r.scheme&&!startsWithWindowsDriveLetter$1(join$4(arraySlice$8(n,c),""))&&(isWindowsDriveLetter$1(r.path[0],!0)?push$i(s.path,r.path[0]):s.host=r.host),l=PATH$1;continue;case FILE_HOST$1:if(i==EOF$1||"/"==i||"\\"==i||"?"==i||"#"==i){if(!t&&isWindowsDriveLetter$1(u))l=PATH$1;else if(""==u){if(s.host="",t)return;l=PATH_START$1}else{if(a=s.parseHost(u))return a;if("localhost"==s.host&&(s.host=""),t)return;u="",l=PATH_START$1}continue}u+=i;break;case PATH_START$1:if(s.isSpecial()){if(l=PATH$1,"/"!=i&&"\\"!=i)continue}else if(t||"?"!=i)if(t||"#"!=i){if(i!=EOF$1&&(l=PATH$1,"/"!=i))continue}else s.fragment="",l=FRAGMENT$1;else s.query="",l=QUERY$1;break;case PATH$1:if(i==EOF$1||"/"==i||"\\"==i&&s.isSpecial()||!t&&("?"==i||"#"==i)){if(isDoubleDot$1(u)?(s.shortenPath(),"/"==i||"\\"==i&&s.isSpecial()||push$i(s.path,"")):isSingleDot$1(u)?"/"==i||"\\"==i&&s.isSpecial()||push$i(s.path,""):("file"==s.scheme&&!s.path.length&&isWindowsDriveLetter$1(u)&&(s.host&&(s.host=""),u=charAt$6(u,0)+":"),push$i(s.path,u)),u="","file"==s.scheme&&(i==EOF$1||"?"==i||"#"==i))for(;s.path.length>1&&""===s.path[0];)shift$2(s.path);"?"==i?(s.query="",l=QUERY$1):"#"==i&&(s.fragment="",l=FRAGMENT$1)}else u+=percentEncode$1(i,pathPercentEncodeSet$1);break;case CANNOT_BE_A_BASE_URL_PATH$1:"?"==i?(s.query="",l=QUERY$1):"#"==i?(s.fragment="",l=FRAGMENT$1):i!=EOF$1&&(s.path[0]+=percentEncode$1(i,C0ControlPercentEncodeSet$1));break;case QUERY$1:t||"#"!=i?i!=EOF$1&&("'"==i&&s.isSpecial()?s.query+="%27":s.query+="#"==i?"%23":percentEncode$1(i,C0ControlPercentEncodeSet$1)):(s.fragment="",l=FRAGMENT$1);break;case FRAGMENT$1:i!=EOF$1&&(s.fragment+=percentEncode$1(i,fragmentPercentEncodeSet$1))}c++}},parseHost:function(e){var t,r,n;if("["==charAt$6(e,0)){if("]"!=charAt$6(e,e.length-1))return INVALID_HOST$1;if(!(t=parseIPv6$1(stringSlice$b(e,1,-1))))return INVALID_HOST$1;this.host=t}else if(this.isSpecial()){if(e=toASCII$1(e),exec$4(FORBIDDEN_HOST_CODE_POINT$1,e))return INVALID_HOST$1;if(null===(t=parseIPv4$1(e)))return INVALID_HOST$1;this.host=t}else{if(exec$4(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT$1,e))return INVALID_HOST$1;for(t="",r=arrayFrom$2(e),n=0;n<r.length;n++)t+=percentEncode$1(r[n],C0ControlPercentEncodeSet$1);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return hasOwn$f(specialSchemes$1,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&isWindowsDriveLetter$1(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,n=e.password,i=e.host,o=e.port,a=e.path,s=e.query,l=e.fragment,c=t+":";return null!==i?(c+="//",e.includesCredentials()&&(c+=r+(n?":"+n:"")+"@"),c+=serializeHost$1(i),null!==o&&(c+=":"+o)):"file"==t&&(c+="//"),c+=e.cannotBeABaseURL?a[0]:a.length?"/"+join$4(a,"/"):"",null!==s&&(c+="?"+s),null!==l&&(c+="#"+l),c},setHref:function(e){var t=this.parse(e);if(t)throw TypeError$5(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new URLConstructor$1(e.path[0]).origin}catch(e){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+serializeHost$1(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse($toString$4(e)+":",SCHEME_START$1)},getUsername:function(){return this.username},setUsername:function(e){var t=arrayFrom$2($toString$4(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=percentEncode$1(t[r],userinfoPercentEncodeSet$1)}},getPassword:function(){return this.password},setPassword:function(e){var t=arrayFrom$2($toString$4(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=percentEncode$1(t[r],userinfoPercentEncodeSet$1)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?serializeHost$1(e):serializeHost$1(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,HOST$1)},getHostname:function(){var e=this.host;return null===e?"":serializeHost$1(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,HOSTNAME$1)},getPort:function(){var e=this.port;return null===e?"":$toString$4(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""==(e=$toString$4(e))?this.port=null:this.parse(e,PORT$1))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+join$4(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,PATH_START$1))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""==(e=$toString$4(e))?this.query=null:("?"==charAt$6(e,0)&&(e=stringSlice$b(e,1)),this.query="",this.parse(e,QUERY$1)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!=(e=$toString$4(e))?("#"==charAt$6(e,0)&&(e=stringSlice$b(e,1)),this.fragment="",this.parse(e,FRAGMENT$1)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var URLConstructor$1=function(e){var t=anInstance$8(this,URLPrototype$1),r=validateArgumentsLength$3(arguments.length,1)>1?arguments[1]:void 0,n=setInternalState$8(t,new URLState$1(e,!1,r));DESCRIPTORS$f||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},URLPrototype$1=URLConstructor$1.prototype,accessorDescriptor$1=function(e,t){return{get:function(){return getInternalURLState$1(this)[e]()},set:t&&function(e){return getInternalURLState$1(this)[t](e)},configurable:!0,enumerable:!0}};if(DESCRIPTORS$f&&(defineBuiltInAccessor$4(URLPrototype$1,"href",accessorDescriptor$1("serialize","setHref")),defineBuiltInAccessor$4(URLPrototype$1,"origin",accessorDescriptor$1("getOrigin")),defineBuiltInAccessor$4(URLPrototype$1,"protocol",accessorDescriptor$1("getProtocol","setProtocol")),defineBuiltInAccessor$4(URLPrototype$1,"username",accessorDescriptor$1("getUsername","setUsername")),defineBuiltInAccessor$4(URLPrototype$1,"password",accessorDescriptor$1("getPassword","setPassword")),defineBuiltInAccessor$4(URLPrototype$1,"host",accessorDescriptor$1("getHost","setHost")),defineBuiltInAccessor$4(URLPrototype$1,"hostname",accessorDescriptor$1("getHostname","setHostname")),defineBuiltInAccessor$4(URLPrototype$1,"port",accessorDescriptor$1("getPort","setPort")),defineBuiltInAccessor$4(URLPrototype$1,"pathname",accessorDescriptor$1("getPathname","setPathname")),defineBuiltInAccessor$4(URLPrototype$1,"search",accessorDescriptor$1("getSearch","setSearch")),defineBuiltInAccessor$4(URLPrototype$1,"searchParams",accessorDescriptor$1("getSearchParams")),defineBuiltInAccessor$4(URLPrototype$1,"hash",accessorDescriptor$1("getHash","setHash"))),defineBuiltIn$9(URLPrototype$1,"toJSON",(function(){return getInternalURLState$1(this).serialize()}),{enumerable:!0}),defineBuiltIn$9(URLPrototype$1,"toString",(function(){return getInternalURLState$1(this).serialize()}),{enumerable:!0}),NativeURL$1){var nativeCreateObjectURL$1=NativeURL$1.createObjectURL,nativeRevokeObjectURL$1=NativeURL$1.revokeObjectURL;nativeCreateObjectURL$1&&defineBuiltIn$9(URLConstructor$1,"createObjectURL",bind$g(nativeCreateObjectURL$1,NativeURL$1)),nativeRevokeObjectURL$1&&defineBuiltIn$9(URLConstructor$1,"revokeObjectURL",bind$g(nativeRevokeObjectURL$1,NativeURL$1))}setToStringTag$6(URLConstructor$1,"URL"),$$1b({global:!0,constructor:!0,forced:!USE_NATIVE_URL$3,sham:!DESCRIPTORS$f},{URL:URLConstructor$1});var $$1a=_export$1,getBuiltIn$4=getBuiltIn$v,fails$F=fails$1t,validateArgumentsLength$2=validateArgumentsLength$a,toString$g=toString$B,USE_NATIVE_URL$2=urlConstructorDetection$1,URL$1=getBuiltIn$4("URL"),THROWS_WITHOUT_ARGUMENTS=USE_NATIVE_URL$2&&fails$F((function(){URL$1.canParse()}));$$1a({target:"URL",stat:!0,forced:!THROWS_WITHOUT_ARGUMENTS},{canParse:function(e){var t=validateArgumentsLength$2(arguments.length,1),r=toString$g(e),n=t<2||void 0===arguments[1]?void 0:toString$g(arguments[1]);try{return!!new URL$1(r,n)}catch(e){return!1}}});var path$8=path$A,url$5=path$8.URL,parent$L=url$5,url$4=parent$L,parent$K=url$4,url$3=parent$K,parent$J=url$3,url$2=parent$J,url$1=url$2,url=url$1,_URL=getDefaultExportFromCjs(url),isObject$h=isObject$M,classof$c=classofRaw$5,wellKnownSymbol$d=wellKnownSymbol$U,MATCH$3=wellKnownSymbol$d("match"),isRegexp$1=function(e){var t;return isObject$h(e)&&(void 0!==(t=e[MATCH$3])?!!t:"RegExp"==classof$c(e))},isRegExp$2=isRegexp$1,$TypeError$8=TypeError,notARegexp$1=function(e){if(isRegExp$2(e))throw $TypeError$8("The method doesn't accept regular expressions");return e},wellKnownSymbol$c=wellKnownSymbol$U,MATCH$2=wellKnownSymbol$c("match"),correctIsRegexpLogic$1=function(e){var t=/./;try{"/./"[e](t)}catch(r){try{return t[MATCH$2]=!1,"/./"[e](t)}catch(e){}}return!1},$$19=_export$1,uncurryThis$y=functionUncurryThisClause$1;objectGetOwnPropertyDescriptor$1.f;var toLength$a=toLength$f,toString$f=toString$B,notARegExp$3=notARegexp$1,requireObjectCoercible$8=requireObjectCoercible$k,correctIsRegExpLogic$3=correctIsRegexpLogic$1,nativeStartsWith$1=uncurryThis$y("".startsWith),stringSlice$a=uncurryThis$y("".slice),min$6=Math.min,CORRECT_IS_REGEXP_LOGIC$1=correctIsRegExpLogic$3("startsWith");$$19({target:"String",proto:!0,forced:!CORRECT_IS_REGEXP_LOGIC$1},{startsWith:function(e){var t=toString$f(requireObjectCoercible$8(this));notARegExp$3(e);var r=toLength$a(min$6(arguments.length>1?arguments[1]:void 0,t.length)),n=toString$f(e);return nativeStartsWith$1?nativeStartsWith$1(t,n,r):stringSlice$a(t,r,r+n.length)===n}});var entryVirtual$7=entryVirtual$o,startsWith$6=entryVirtual$7("String").startsWith,isPrototypeOf$d=objectIsPrototypeOf$1,method$5=startsWith$6,StringPrototype$1=String.prototype,startsWith$5=function(e){var t=e.startsWith;return"string"==typeof e||e===StringPrototype$1||isPrototypeOf$d(StringPrototype$1,e)&&t===StringPrototype$1.startsWith?method$5:t},parent$I=startsWith$5,startsWith$4=parent$I,parent$H=startsWith$4,startsWith$3=parent$H,parent$G=startsWith$3,startsWith$2=parent$G,startsWith$1=startsWith$2,startsWith2=startsWith$1,_startsWithInstanceProperty=getDefaultExportFromCjs(startsWith2),$$18=_export$1,$includes$2=arrayIncludes$1.includes,fails$E=fails$1t,BROKEN_ON_SPARSE$1=fails$E((function(){return!Array(1).includes()}));$$18({target:"Array",proto:!0,forced:BROKEN_ON_SPARSE$1},{includes:function(e){return $includes$2(this,e,arguments.length>1?arguments[1]:void 0)}});var entryVirtual$6=entryVirtual$o,includes$7=entryVirtual$6("Array").includes,$$17=_export$1,uncurryThis$x=functionUncurryThis$1,notARegExp$2=notARegexp$1,requireObjectCoercible$7=requireObjectCoercible$k,toString$e=toString$B,correctIsRegExpLogic$2=correctIsRegexpLogic$1,stringIndexOf$2=uncurryThis$x("".indexOf);$$17({target:"String",proto:!0,forced:!correctIsRegExpLogic$2("includes")},{includes:function(e){return!!~stringIndexOf$2(toString$e(requireObjectCoercible$7(this)),toString$e(notARegExp$2(e)),arguments.length>1?arguments[1]:void 0)}});var entryVirtual$5=entryVirtual$o,includes$6=entryVirtual$5("String").includes,isPrototypeOf$c=objectIsPrototypeOf$1,arrayMethod=includes$7,stringMethod=includes$6,ArrayPrototype$5=Array.prototype,StringPrototype=String.prototype,includes$5=function(e){var t=e.includes;return e===ArrayPrototype$5||isPrototypeOf$c(ArrayPrototype$5,e)&&t===ArrayPrototype$5.includes?arrayMethod:"string"==typeof e||e===StringPrototype||isPrototypeOf$c(StringPrototype,e)&&t===StringPrototype.includes?stringMethod:t},parent$F=includes$5,includes$4=parent$F,parent$E=includes$4,includes$3=parent$E,parent$D=includes$3,includes$2=parent$D,includes$1=includes$2,includes3=includes$1,_includesInstanceProperty=getDefaultExportFromCjs(includes3);function _classCallCheck$6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$6(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass$6(e,t,r){return t&&_defineProperties$6(e.prototype,t),r&&_defineProperties$6(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty$3(e,t,r){return t in e?_Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _inherits$4(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=_Object$create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),_Object$defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf$4(e,t)}function _getPrototypeOf$4(e){var t;return(_getPrototypeOf$4=_Object$setPrototypeOf?_bindInstanceProperty(t=_Object$getPrototypeOf).call(t):function(e){return e.__proto__||_Object$getPrototypeOf(e)})(e)}function _setPrototypeOf$4(e,t){var r;return(_setPrototypeOf$4=_Object$setPrototypeOf?_bindInstanceProperty(r=_Object$setPrototypeOf).call(r):function(e,t){return e.__proto__=t,e})(e,t)}function _isNativeReflectConstruct$4(){if("undefined"==typeof Reflect||!_Reflect$construct)return!1;if(_Reflect$construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(_Reflect$construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _assertThisInitialized$4(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn$4(e,t){if(t&&("object"===_typeof$5(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$4(e)}function _createSuper$4(e){var t=_isNativeReflectConstruct$4();return function(){var r,n=_getPrototypeOf$4(e);if(t){var i=_getPrototypeOf$4(this).constructor;r=_Reflect$construct(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn$4(this,r)}}var fails$D=fails$13,wellKnownSymbol$b=wellKnownSymbol$x,IS_PURE=isPure,ITERATOR$3=wellKnownSymbol$b("iterator"),urlConstructorDetection=!fails$D((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach((function(e,n){t.delete("b"),r+=n+e})),IS_PURE&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[ITERATOR$3]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host})),makeBuiltIn=makeBuiltInExports,defineProperty$9=objectDefineProperty,defineBuiltInAccessor$3=function(e,t,r){return r.get&&makeBuiltIn(r.get,t,{getter:!0}),r.set&&makeBuiltIn(r.set,t,{setter:!0}),defineProperty$9.f(e,t,r)},anObject$d=anObject$q,iteratorClose=iteratorClose$2,callWithSafeIterationClosing$1=function(e,t,r,n){try{return n?t(anObject$d(r)[0],r[1]):t(r)}catch(t){iteratorClose(e,"throw",t)}},bind$f=functionBindContext,call$k=functionCall,toObject$b=toObject$k,callWithSafeIterationClosing=callWithSafeIterationClosing$1,isArrayIteratorMethod$1=isArrayIteratorMethod$3,isConstructor$1=isConstructor$4,lengthOfArrayLike$f=lengthOfArrayLike$m,createProperty$2=createProperty$5,getIterator$8=getIterator$b,getIteratorMethod$2=getIteratorMethod$6,$Array$3=Array,arrayFrom$1=function(e){var t=toObject$b(e),r=isConstructor$1(this),n=arguments.length,i=n>1?arguments[1]:void 0,o=void 0!==i;o&&(i=bind$f(i,n>2?arguments[2]:void 0));var a,s,l,c,u,d,p=getIteratorMethod$2(t),y=0;if(!p||this===$Array$3&&isArrayIteratorMethod$1(p))for(a=lengthOfArrayLike$f(t),s=r?new this(a):$Array$3(a);a>y;y++)d=o?i(t[y],y):t[y],createProperty$2(s,y,d);else for(u=(c=getIterator$8(t,p)).next,s=r?new this:[];!(l=call$k(u,c)).done;y++)d=o?callWithSafeIterationClosing(c,i,[l.value,y],!0):l.value,createProperty$2(s,y,d);return s.length=y,s},toAbsoluteIndex$5=toAbsoluteIndex$8,lengthOfArrayLike$e=lengthOfArrayLike$m,createProperty$1=createProperty$5,$Array$2=Array,max$2=Math.max,arraySliceSimple=function(e,t,r){for(var n=lengthOfArrayLike$e(e),i=toAbsoluteIndex$5(t,n),o=toAbsoluteIndex$5(void 0===r?n:r,n),a=$Array$2(max$2(o-i,0)),s=0;i<o;i++,s++)createProperty$1(a,s,e[i]);return a.length=s,a},uncurryThis$w=functionUncurryThis,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexNonASCII=/[^\0-\u007E]/,regexSeparators=/[.\u3002\uFF0E\uFF61]/g,OVERFLOW_ERROR="Overflow: input needs wider integers to process",baseMinusTMin=base-tMin,$RangeError$5=RangeError,exec$3=uncurryThis$w(regexSeparators.exec),floor$9=Math.floor,fromCharCode=String.fromCharCode,charCodeAt=uncurryThis$w("".charCodeAt),join$3=uncurryThis$w([].join),push$h=uncurryThis$w([].push),replace$5=uncurryThis$w("".replace),split$2=uncurryThis$w("".split),toLowerCase$1=uncurryThis$w("".toLowerCase),ucs2decode=function(e){for(var t=[],r=0,n=e.length;r<n;){var i=charCodeAt(e,r++);if(i>=55296&&i<=56319&&r<n){var o=charCodeAt(e,r++);56320==(64512&o)?push$h(t,((1023&i)<<10)+(1023&o)+65536):(push$h(t,i),r--)}else push$h(t,i)}return t},digitToBasic=function(e){return e+22+75*(e<26)},adapt=function(e,t,r){var n=0;for(e=r?floor$9(e/damp):e>>1,e+=floor$9(e/t);e>baseMinusTMin*tMax>>1;)e=floor$9(e/baseMinusTMin),n+=base;return floor$9(n+(baseMinusTMin+1)*e/(e+skew))},encode$1=function(e){var t,r,n=[],i=(e=ucs2decode(e)).length,o=initialN,a=0,s=initialBias;for(t=0;t<e.length;t++)(r=e[t])<128&&push$h(n,fromCharCode(r));var l=n.length,c=l;for(l&&push$h(n,delimiter);c<i;){var u=maxInt;for(t=0;t<e.length;t++)(r=e[t])>=o&&r<u&&(u=r);var d=c+1;if(u-o>floor$9((maxInt-a)/d))throw $RangeError$5(OVERFLOW_ERROR);for(a+=(u-o)*d,o=u,t=0;t<e.length;t++){if((r=e[t])<o&&++a>maxInt)throw $RangeError$5(OVERFLOW_ERROR);if(r==o){for(var p=a,y=base;;){var h=y<=s?tMin:y>=s+tMax?tMax:y-s;if(p<h)break;var f=p-h,$=base-h;push$h(n,fromCharCode(digitToBasic(h+f%$))),p=floor$9(f/$),y+=base}push$h(n,fromCharCode(digitToBasic(p))),s=adapt(a,d,c==l),a=0,c++}}a++,o++}return join$3(n,"")},stringPunycodeToAscii=function(e){var t,r,n=[],i=split$2(replace$5(toLowerCase$1(e),regexSeparators,"."),".");for(t=0;t<i.length;t++)r=i[t],push$h(n,exec$3(regexNonASCII,r)?"xn--"+encode$1(r):r);return join$3(n,".")},defineBuiltIn$8=defineBuiltIn$l,defineBuiltIns$4=function(e,t,r){for(var n in t)defineBuiltIn$8(e,n,t[n],r);return e},arraySlice$7=arraySliceSimple,floor$8=Math.floor,mergeSort=function(e,t){var r=e.length,n=floor$8(r/2);return r<8?insertionSort(e,t):merge(e,mergeSort(arraySlice$7(e,0,n),t),mergeSort(arraySlice$7(e,n),t),t)},insertionSort=function(e,t){for(var r,n,i=e.length,o=1;o<i;){for(n=o,r=e[o];n&&t(e[n-1],r)>0;)e[n]=e[--n];n!==o++&&(e[n]=r)}return e},merge=function(e,t,r,n){for(var i=t.length,o=r.length,a=0,s=0;a<i||s<o;)e[a+s]=a<i&&s<o?n(t[a],r[s])<=0?t[a++]:r[s++]:a<i?t[a++]:r[s++];return e},arraySort$1=mergeSort,$$16=_export,global$m=global$O,call$j=functionCall,uncurryThis$v=functionUncurryThis,DESCRIPTORS$e=descriptors,USE_NATIVE_URL$1=urlConstructorDetection,defineBuiltIn$7=defineBuiltIn$l,defineBuiltIns$3=defineBuiltIns$4,setToStringTag$5=setToStringTag$b,createIteratorConstructor=iteratorCreateConstructor,InternalStateModule$8=internalState,anInstance$7=anInstance$b,isCallable$a=isCallable$A,hasOwn$e=hasOwnProperty_1,bind$e=functionBindContext,classof$b=classof$k,anObject$c=anObject$q,isObject$g=isObject$x,$toString$3=toString$p,create$6=objectCreate,createPropertyDescriptor$2=createPropertyDescriptor$8,getIterator$7=getIterator$b,getIteratorMethod$1=getIteratorMethod$6,validateArgumentsLength$1=validateArgumentsLength$7,wellKnownSymbol$a=wellKnownSymbol$x,arraySort=arraySort$1,ITERATOR$2=wellKnownSymbol$a("iterator"),URL_SEARCH_PARAMS="URLSearchParams",URL_SEARCH_PARAMS_ITERATOR=URL_SEARCH_PARAMS+"Iterator",setInternalState$7=InternalStateModule$8.set,getInternalParamsState=InternalStateModule$8.getterFor(URL_SEARCH_PARAMS),getInternalIteratorState=InternalStateModule$8.getterFor(URL_SEARCH_PARAMS_ITERATOR),getOwnPropertyDescriptor$1=Object.getOwnPropertyDescriptor,safeGetBuiltIn=function(e){if(!DESCRIPTORS$e)return global$m[e];var t=getOwnPropertyDescriptor$1(global$m,e);return t&&t.value},nativeFetch=safeGetBuiltIn("fetch"),NativeRequest=safeGetBuiltIn("Request"),Headers$1=safeGetBuiltIn("Headers"),RequestPrototype=NativeRequest&&NativeRequest.prototype,HeadersPrototype=Headers$1&&Headers$1.prototype,RegExp$2=global$m.RegExp,TypeError$4=global$m.TypeError,decodeURIComponent$1=global$m.decodeURIComponent,encodeURIComponent$1=global$m.encodeURIComponent,charAt$5=uncurryThis$v("".charAt),join$2=uncurryThis$v([].join),push$g=uncurryThis$v([].push),replace$4=uncurryThis$v("".replace),shift$1=uncurryThis$v([].shift),splice3=uncurryThis$v([].splice),split$1=uncurryThis$v("".split),stringSlice$9=uncurryThis$v("".slice),plus=/\+/g,sequences=Array(4),percentSequence=function(e){return sequences[e-1]||(sequences[e-1]=RegExp$2("((?:%[\\da-f]{2}){"+e+"})","gi"))},percentDecode=function(e){try{return decodeURIComponent$1(e)}catch(t){return e}},deserialize=function(e){var t=replace$4(e,plus," "),r=4;try{return decodeURIComponent$1(t)}catch(e){for(;r;)t=replace$4(t,percentSequence(r--),percentDecode);return t}},find2=/[!'()~]|%20/g,replacements={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},replacer=function(e){return replacements[e]},serialize=function(e){return replace$4(encodeURIComponent$1(e),find2,replacer)},URLSearchParamsIterator=createIteratorConstructor((function(e,t){setInternalState$7(this,{type:URL_SEARCH_PARAMS_ITERATOR,iterator:getIterator$7(getInternalParamsState(e).entries),kind:t})}),"Iterator",(function(){var e=getInternalIteratorState(this),t=e.kind,r=e.iterator.next(),n=r.value;return r.done||(r.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),r}),!0),URLSearchParamsState=function(e){this.entries=[],this.url=null,void 0!==e&&(isObject$g(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===charAt$5(e,0)?stringSlice$9(e,1):e:$toString$3(e)))};URLSearchParamsState.prototype={type:URL_SEARCH_PARAMS,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,n,i,o,a,s,l=getIteratorMethod$1(e);if(l)for(r=(t=getIterator$7(e,l)).next;!(n=call$j(r,t)).done;){if(o=(i=getIterator$7(anObject$c(n.value))).next,(a=call$j(o,i)).done||(s=call$j(o,i)).done||!call$j(o,i).done)throw TypeError$4("Expected sequence with length 2");push$g(this.entries,{key:$toString$3(a.value),value:$toString$3(s.value)})}else for(var c in e)hasOwn$e(e,c)&&push$g(this.entries,{key:c,value:$toString$3(e[c])})},parseQuery:function(e){if(e)for(var t,r,n=split$1(e,"&"),i=0;i<n.length;)(t=n[i++]).length&&(r=split$1(t,"="),push$g(this.entries,{key:deserialize(shift$1(r)),value:deserialize(join$2(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],n=0;n<t.length;)e=t[n++],push$g(r,serialize(e.key)+"="+serialize(e.value));return join$2(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var URLSearchParamsConstructor=function(){anInstance$7(this,URLSearchParamsPrototype),setInternalState$7(this,new URLSearchParamsState(arguments.length>0?arguments[0]:void 0))},URLSearchParamsPrototype=URLSearchParamsConstructor.prototype;if(defineBuiltIns$3(URLSearchParamsPrototype,{append:function(e,t){validateArgumentsLength$1(arguments.length,2);var r=getInternalParamsState(this);push$g(r.entries,{key:$toString$3(e),value:$toString$3(t)}),r.updateURL()},delete:function(e){validateArgumentsLength$1(arguments.length,1);for(var t=getInternalParamsState(this),r=t.entries,n=$toString$3(e),i=0;i<r.length;)r[i].key===n?splice3(r,i,1):i++;t.updateURL()},get:function(e){validateArgumentsLength$1(arguments.length,1);for(var t=getInternalParamsState(this).entries,r=$toString$3(e),n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){validateArgumentsLength$1(arguments.length,1);for(var t=getInternalParamsState(this).entries,r=$toString$3(e),n=[],i=0;i<t.length;i++)t[i].key===r&&push$g(n,t[i].value);return n},has:function(e){validateArgumentsLength$1(arguments.length,1);for(var t=getInternalParamsState(this).entries,r=$toString$3(e),n=0;n<t.length;)if(t[n++].key===r)return!0;return!1},set:function(e,t){validateArgumentsLength$1(arguments.length,1);for(var r,n=getInternalParamsState(this),i=n.entries,o=!1,a=$toString$3(e),s=$toString$3(t),l=0;l<i.length;l++)(r=i[l]).key===a&&(o?splice3(i,l--,1):(o=!0,r.value=s));o||push$g(i,{key:a,value:s}),n.updateURL()},sort:function(){var e=getInternalParamsState(this);arraySort(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=getInternalParamsState(this).entries,n=bind$e(e,arguments.length>1?arguments[1]:void 0),i=0;i<r.length;)n((t=r[i++]).value,t.key,this)},keys:function(){return new URLSearchParamsIterator(this,"keys")},values:function(){return new URLSearchParamsIterator(this,"values")},entries:function(){return new URLSearchParamsIterator(this,"entries")}},{enumerable:!0}),defineBuiltIn$7(URLSearchParamsPrototype,ITERATOR$2,URLSearchParamsPrototype.entries,{name:"entries"}),defineBuiltIn$7(URLSearchParamsPrototype,"toString",(function(){return getInternalParamsState(this).serialize()}),{enumerable:!0}),setToStringTag$5(URLSearchParamsConstructor,URL_SEARCH_PARAMS),$$16({global:!0,constructor:!0,forced:!USE_NATIVE_URL$1},{URLSearchParams:URLSearchParamsConstructor}),!USE_NATIVE_URL$1&&isCallable$a(Headers$1)){var headersHas=uncurryThis$v(HeadersPrototype.has),headersSet=uncurryThis$v(HeadersPrototype.set),wrapRequestOptions=function(e){if(isObject$g(e)){var t,r=e.body;if(classof$b(r)===URL_SEARCH_PARAMS)return t=e.headers?new Headers$1(e.headers):new Headers$1,headersHas(t,"content-type")||headersSet(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),create$6(e,{body:createPropertyDescriptor$2(0,$toString$3(r)),headers:createPropertyDescriptor$2(0,t)})}return e};if(isCallable$a(nativeFetch)&&$$16({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return nativeFetch(e,arguments.length>1?wrapRequestOptions(arguments[1]):{})}}),isCallable$a(NativeRequest)){var RequestConstructor=function(e){return anInstance$7(this,RequestPrototype),new NativeRequest(e,arguments.length>1?wrapRequestOptions(arguments[1]):{})};RequestPrototype.constructor=RequestConstructor,RequestConstructor.prototype=RequestPrototype,$$16({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:RequestConstructor})}}var EOF,web_urlSearchParams_constructor={URLSearchParams:URLSearchParamsConstructor,getState:getInternalParamsState},$$15=_export,DESCRIPTORS$d=descriptors,USE_NATIVE_URL=urlConstructorDetection,global$l=global$O,bind$d=functionBindContext,uncurryThis$u=functionUncurryThis,defineBuiltIn$6=defineBuiltIn$l,defineBuiltInAccessor$2=defineBuiltInAccessor$3,anInstance$6=anInstance$b,hasOwn$d=hasOwnProperty_1,assign$2=objectAssign,arrayFrom=arrayFrom$1,arraySlice$6=arraySliceSimple,codeAt=stringMultibyte.codeAt,toASCII=stringPunycodeToAscii,$toString$2=toString$p,setToStringTag$4=setToStringTag$b,validateArgumentsLength=validateArgumentsLength$7,URLSearchParamsModule=web_urlSearchParams_constructor,InternalStateModule$7=internalState,setInternalState$6=InternalStateModule$7.set,getInternalURLState=InternalStateModule$7.getterFor("URL"),URLSearchParams$1=URLSearchParamsModule.URLSearchParams,getInternalSearchParamsState=URLSearchParamsModule.getState,NativeURL=global$l.URL,TypeError$3=global$l.TypeError,parseInt$1=global$l.parseInt,floor$7=Math.floor,pow$4=Math.pow,charAt$4=uncurryThis$u("".charAt),exec$2=uncurryThis$u(/./.exec),join$1=uncurryThis$u([].join),numberToString=uncurryThis$u(1..toString),pop=uncurryThis$u([].pop),push$f=uncurryThis$u([].push),replace$3=uncurryThis$u("".replace),shift=uncurryThis$u([].shift),split=uncurryThis$u("".split),stringSlice$8=uncurryThis$u("".slice),toLowerCase=uncurryThis$u("".toLowerCase),unshift=uncurryThis$u([].unshift),INVALID_AUTHORITY="Invalid authority",INVALID_SCHEME="Invalid scheme",INVALID_HOST="Invalid host",INVALID_PORT="Invalid port",ALPHA=/[a-z]/i,ALPHANUMERIC=/[\d+-.a-z]/i,DIGIT=/\d/,HEX_START=/^0x/i,OCT=/^[0-7]+$/,DEC=/^\d+$/,HEX=/^[\da-f]+$/i,FORBIDDEN_HOST_CODE_POINT=/[\0\t\n\r #%/:<>?@[\\\]^|]/,FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT=/[\0\t\n\r #/:<>?@[\\\]^|]/,LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,TAB_AND_NEW_LINE=/[\t\n\r]/g,parseIPv4=function(e){var t,r,n,i,o,a,s,l=split(e,".");if(l.length&&""==l[l.length-1]&&l.length--,(t=l.length)>4)return e;for(r=[],n=0;n<t;n++){if(""==(i=l[n]))return e;if(o=10,i.length>1&&"0"==charAt$4(i,0)&&(o=exec$2(HEX_START,i)?16:8,i=stringSlice$8(i,8==o?1:2)),""===i)a=0;else{if(!exec$2(10==o?DEC:8==o?OCT:HEX,i))return e;a=parseInt$1(i,o)}push$f(r,a)}for(n=0;n<t;n++)if(a=r[n],n==t-1){if(a>=pow$4(256,5-t))return null}else if(a>255)return null;for(s=pop(r),n=0;n<r.length;n++)s+=r[n]*pow$4(256,3-n);return s},parseIPv6=function(e){var t,r,n,i,o,a,s,l=[0,0,0,0,0,0,0,0],c=0,u=null,d=0,p=function(){return charAt$4(e,d)};if(":"==p()){if(":"!=charAt$4(e,1))return;d+=2,u=++c}for(;p();){if(8==c)return;if(":"!=p()){for(t=r=0;r<4&&exec$2(HEX,p());)t=16*t+parseInt$1(p(),16),d++,r++;if("."==p()){if(0==r)return;if(d-=r,c>6)return;for(n=0;p();){if(i=null,n>0){if(!("."==p()&&n<4))return;d++}if(!exec$2(DIGIT,p()))return;for(;exec$2(DIGIT,p());){if(o=parseInt$1(p(),10),null===i)i=o;else{if(0==i)return;i=10*i+o}if(i>255)return;d++}l[c]=256*l[c]+i,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==p()){if(d++,!p())return}else if(p())return;l[c++]=t}else{if(null!==u)return;d++,u=++c}}if(null!==u)for(a=c-u,c=7;0!=c&&a>0;)s=l[c],l[c--]=l[u+a-1],l[u+--a]=s;else if(8!=c)return;return l},findLongestZeroSequence=function(e){for(var t=null,r=1,n=null,i=0,o=0;o<8;o++)0!==e[o]?(i>r&&(t=n,r=i),n=null,i=0):(null===n&&(n=o),++i);return i>r&&(t=n,r=i),t},serializeHost=function(e){var t,r,n,i;if("number"==typeof e){for(t=[],r=0;r<4;r++)unshift(t,e%256),e=floor$7(e/256);return join$1(t,".")}if("object"==typeof e){for(t="",n=findLongestZeroSequence(e),r=0;r<8;r++)i&&0===e[r]||(i&&(i=!1),n===r?(t+=r?":":"::",i=!0):(t+=numberToString(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},C0ControlPercentEncodeSet={},fragmentPercentEncodeSet=assign$2({},C0ControlPercentEncodeSet,{" ":1,'"':1,"<":1,">":1,"`":1}),pathPercentEncodeSet=assign$2({},fragmentPercentEncodeSet,{"#":1,"?":1,"{":1,"}":1}),userinfoPercentEncodeSet=assign$2({},pathPercentEncodeSet,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),percentEncode=function(e,t){var r=codeAt(e,0);return r>32&&r<127&&!hasOwn$d(t,e)?e:encodeURIComponent(e)},specialSchemes={ftp:21,file:null,http:80,https:443,ws:80,wss:443},isWindowsDriveLetter=function(e,t){var r;return 2==e.length&&exec$2(ALPHA,charAt$4(e,0))&&(":"==(r=charAt$4(e,1))||!t&&"|"==r)},startsWithWindowsDriveLetter=function(e){var t;return e.length>1&&isWindowsDriveLetter(stringSlice$8(e,0,2))&&(2==e.length||"/"===(t=charAt$4(e,2))||"\\"===t||"?"===t||"#"===t)},isSingleDot=function(e){return"."===e||"%2e"===toLowerCase(e)},isDoubleDot=function(e){return".."===(e=toLowerCase(e))||"%2e."===e||".%2e"===e||"%2e%2e"===e},SCHEME_START={},SCHEME={},NO_SCHEME={},SPECIAL_RELATIVE_OR_AUTHORITY={},PATH_OR_AUTHORITY={},RELATIVE={},RELATIVE_SLASH={},SPECIAL_AUTHORITY_SLASHES={},SPECIAL_AUTHORITY_IGNORE_SLASHES={},AUTHORITY={},HOST={},HOSTNAME={},PORT={},FILE={},FILE_SLASH={},FILE_HOST={},PATH_START={},PATH={},CANNOT_BE_A_BASE_URL_PATH={},QUERY={},FRAGMENT={},URLState=function(e,t,r){var n,i,o,a=$toString$2(e);if(t){if(i=this.parse(a))throw TypeError$3(i);this.searchParams=null}else{if(void 0!==r&&(n=new URLState(r,!0)),i=this.parse(a,null,n))throw TypeError$3(i);(o=getInternalSearchParamsState(new URLSearchParams$1)).bindURL(this),this.searchParams=o}};URLState.prototype={type:"URL",parse:function(e,t,r){var n,i,o,a,s=this,l=t||SCHEME_START,c=0,u="",d=!1,p=!1,y=!1;for(e=$toString$2(e),t||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,e=replace$3(e,LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE,"")),e=replace$3(e,TAB_AND_NEW_LINE,""),n=arrayFrom(e);c<=n.length;){switch(i=n[c],l){case SCHEME_START:if(!i||!exec$2(ALPHA,i)){if(t)return INVALID_SCHEME;l=NO_SCHEME;continue}u+=toLowerCase(i),l=SCHEME;break;case SCHEME:if(i&&(exec$2(ALPHANUMERIC,i)||"+"==i||"-"==i||"."==i))u+=toLowerCase(i);else{if(":"!=i){if(t)return INVALID_SCHEME;u="",l=NO_SCHEME,c=0;continue}if(t&&(s.isSpecial()!=hasOwn$d(specialSchemes,u)||"file"==u&&(s.includesCredentials()||null!==s.port)||"file"==s.scheme&&!s.host))return;if(s.scheme=u,t)return void(s.isSpecial()&&specialSchemes[s.scheme]==s.port&&(s.port=null));u="","file"==s.scheme?l=FILE:s.isSpecial()&&r&&r.scheme==s.scheme?l=SPECIAL_RELATIVE_OR_AUTHORITY:s.isSpecial()?l=SPECIAL_AUTHORITY_SLASHES:"/"==n[c+1]?(l=PATH_OR_AUTHORITY,c++):(s.cannotBeABaseURL=!0,push$f(s.path,""),l=CANNOT_BE_A_BASE_URL_PATH)}break;case NO_SCHEME:if(!r||r.cannotBeABaseURL&&"#"!=i)return INVALID_SCHEME;if(r.cannotBeABaseURL&&"#"==i){s.scheme=r.scheme,s.path=arraySlice$6(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,l=FRAGMENT;break}l="file"==r.scheme?FILE:RELATIVE;continue;case SPECIAL_RELATIVE_OR_AUTHORITY:if("/"!=i||"/"!=n[c+1]){l=RELATIVE;continue}l=SPECIAL_AUTHORITY_IGNORE_SLASHES,c++;break;case PATH_OR_AUTHORITY:if("/"==i){l=AUTHORITY;break}l=PATH;continue;case RELATIVE:if(s.scheme=r.scheme,i==EOF)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$6(r.path),s.query=r.query;else if("/"==i||"\\"==i&&s.isSpecial())l=RELATIVE_SLASH;else if("?"==i)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$6(r.path),s.query="",l=QUERY;else{if("#"!=i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$6(r.path),s.path.length--,l=PATH;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=arraySlice$6(r.path),s.query=r.query,s.fragment="",l=FRAGMENT}break;case RELATIVE_SLASH:if(!s.isSpecial()||"/"!=i&&"\\"!=i){if("/"!=i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,l=PATH;continue}l=AUTHORITY}else l=SPECIAL_AUTHORITY_IGNORE_SLASHES;break;case SPECIAL_AUTHORITY_SLASHES:if(l=SPECIAL_AUTHORITY_IGNORE_SLASHES,"/"!=i||"/"!=charAt$4(u,c+1))continue;c++;break;case SPECIAL_AUTHORITY_IGNORE_SLASHES:if("/"!=i&&"\\"!=i){l=AUTHORITY;continue}break;case AUTHORITY:if("@"==i){d&&(u="%40"+u),d=!0,o=arrayFrom(u);for(var h=0;h<o.length;h++){var f=o[h];if(":"!=f||y){var $=percentEncode(f,userinfoPercentEncodeSet);y?s.password+=$:s.username+=$}else y=!0}u=""}else if(i==EOF||"/"==i||"?"==i||"#"==i||"\\"==i&&s.isSpecial()){if(d&&""==u)return INVALID_AUTHORITY;c-=arrayFrom(u).length+1,u="",l=HOST}else u+=i;break;case HOST:case HOSTNAME:if(t&&"file"==s.scheme){l=FILE_HOST;continue}if(":"!=i||p){if(i==EOF||"/"==i||"?"==i||"#"==i||"\\"==i&&s.isSpecial()){if(s.isSpecial()&&""==u)return INVALID_HOST;if(t&&""==u&&(s.includesCredentials()||null!==s.port))return;if(a=s.parseHost(u))return a;if(u="",l=PATH_START,t)return;continue}"["==i?p=!0:"]"==i&&(p=!1),u+=i}else{if(""==u)return INVALID_HOST;if(a=s.parseHost(u))return a;if(u="",l=PORT,t==HOSTNAME)return}break;case PORT:if(!exec$2(DIGIT,i)){if(i==EOF||"/"==i||"?"==i||"#"==i||"\\"==i&&s.isSpecial()||t){if(""!=u){var m=parseInt$1(u,10);if(m>65535)return INVALID_PORT;s.port=s.isSpecial()&&m===specialSchemes[s.scheme]?null:m,u=""}if(t)return;l=PATH_START;continue}return INVALID_PORT}u+=i;break;case FILE:if(s.scheme="file","/"==i||"\\"==i)l=FILE_SLASH;else{if(!r||"file"!=r.scheme){l=PATH;continue}if(i==EOF)s.host=r.host,s.path=arraySlice$6(r.path),s.query=r.query;else if("?"==i)s.host=r.host,s.path=arraySlice$6(r.path),s.query="",l=QUERY;else{if("#"!=i){startsWithWindowsDriveLetter(join$1(arraySlice$6(n,c),""))||(s.host=r.host,s.path=arraySlice$6(r.path),s.shortenPath()),l=PATH;continue}s.host=r.host,s.path=arraySlice$6(r.path),s.query=r.query,s.fragment="",l=FRAGMENT}}break;case FILE_SLASH:if("/"==i||"\\"==i){l=FILE_HOST;break}r&&"file"==r.scheme&&!startsWithWindowsDriveLetter(join$1(arraySlice$6(n,c),""))&&(isWindowsDriveLetter(r.path[0],!0)?push$f(s.path,r.path[0]):s.host=r.host),l=PATH;continue;case FILE_HOST:if(i==EOF||"/"==i||"\\"==i||"?"==i||"#"==i){if(!t&&isWindowsDriveLetter(u))l=PATH;else if(""==u){if(s.host="",t)return;l=PATH_START}else{if(a=s.parseHost(u))return a;if("localhost"==s.host&&(s.host=""),t)return;u="",l=PATH_START}continue}u+=i;break;case PATH_START:if(s.isSpecial()){if(l=PATH,"/"!=i&&"\\"!=i)continue}else if(t||"?"!=i)if(t||"#"!=i){if(i!=EOF&&(l=PATH,"/"!=i))continue}else s.fragment="",l=FRAGMENT;else s.query="",l=QUERY;break;case PATH:if(i==EOF||"/"==i||"\\"==i&&s.isSpecial()||!t&&("?"==i||"#"==i)){if(isDoubleDot(u)?(s.shortenPath(),"/"==i||"\\"==i&&s.isSpecial()||push$f(s.path,"")):isSingleDot(u)?"/"==i||"\\"==i&&s.isSpecial()||push$f(s.path,""):("file"==s.scheme&&!s.path.length&&isWindowsDriveLetter(u)&&(s.host&&(s.host=""),u=charAt$4(u,0)+":"),push$f(s.path,u)),u="","file"==s.scheme&&(i==EOF||"?"==i||"#"==i))for(;s.path.length>1&&""===s.path[0];)shift(s.path);"?"==i?(s.query="",l=QUERY):"#"==i&&(s.fragment="",l=FRAGMENT)}else u+=percentEncode(i,pathPercentEncodeSet);break;case CANNOT_BE_A_BASE_URL_PATH:"?"==i?(s.query="",l=QUERY):"#"==i?(s.fragment="",l=FRAGMENT):i!=EOF&&(s.path[0]+=percentEncode(i,C0ControlPercentEncodeSet));break;case QUERY:t||"#"!=i?i!=EOF&&("'"==i&&s.isSpecial()?s.query+="%27":s.query+="#"==i?"%23":percentEncode(i,C0ControlPercentEncodeSet)):(s.fragment="",l=FRAGMENT);break;case FRAGMENT:i!=EOF&&(s.fragment+=percentEncode(i,fragmentPercentEncodeSet))}c++}},parseHost:function(e){var t,r,n;if("["==charAt$4(e,0)){if("]"!=charAt$4(e,e.length-1))return INVALID_HOST;if(!(t=parseIPv6(stringSlice$8(e,1,-1))))return INVALID_HOST;this.host=t}else if(this.isSpecial()){if(e=toASCII(e),exec$2(FORBIDDEN_HOST_CODE_POINT,e))return INVALID_HOST;if(null===(t=parseIPv4(e)))return INVALID_HOST;this.host=t}else{if(exec$2(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT,e))return INVALID_HOST;for(t="",r=arrayFrom(e),n=0;n<r.length;n++)t+=percentEncode(r[n],C0ControlPercentEncodeSet);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return hasOwn$d(specialSchemes,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&isWindowsDriveLetter(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,n=e.password,i=e.host,o=e.port,a=e.path,s=e.query,l=e.fragment,c=t+":";return null!==i?(c+="//",e.includesCredentials()&&(c+=r+(n?":"+n:"")+"@"),c+=serializeHost(i),null!==o&&(c+=":"+o)):"file"==t&&(c+="//"),c+=e.cannotBeABaseURL?a[0]:a.length?"/"+join$1(a,"/"):"",null!==s&&(c+="?"+s),null!==l&&(c+="#"+l),c},setHref:function(e){var t=this.parse(e);if(t)throw TypeError$3(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new URLConstructor(e.path[0]).origin}catch(e){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+serializeHost(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse($toString$2(e)+":",SCHEME_START)},getUsername:function(){return this.username},setUsername:function(e){var t=arrayFrom($toString$2(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=percentEncode(t[r],userinfoPercentEncodeSet)}},getPassword:function(){return this.password},setPassword:function(e){var t=arrayFrom($toString$2(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=percentEncode(t[r],userinfoPercentEncodeSet)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?serializeHost(e):serializeHost(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,HOST)},getHostname:function(){var e=this.host;return null===e?"":serializeHost(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,HOSTNAME)},getPort:function(){var e=this.port;return null===e?"":$toString$2(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""==(e=$toString$2(e))?this.port=null:this.parse(e,PORT))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+join$1(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,PATH_START))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""==(e=$toString$2(e))?this.query=null:("?"==charAt$4(e,0)&&(e=stringSlice$8(e,1)),this.query="",this.parse(e,QUERY)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!=(e=$toString$2(e))?("#"==charAt$4(e,0)&&(e=stringSlice$8(e,1)),this.fragment="",this.parse(e,FRAGMENT)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var URLConstructor=function(e){var t=anInstance$6(this,URLPrototype),r=validateArgumentsLength(arguments.length,1)>1?arguments[1]:void 0,n=setInternalState$6(t,new URLState(e,!1,r));DESCRIPTORS$d||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},URLPrototype=URLConstructor.prototype,accessorDescriptor=function(e,t){return{get:function(){return getInternalURLState(this)[e]()},set:t&&function(e){return getInternalURLState(this)[t](e)},configurable:!0,enumerable:!0}};if(DESCRIPTORS$d&&(defineBuiltInAccessor$2(URLPrototype,"href",accessorDescriptor("serialize","setHref")),defineBuiltInAccessor$2(URLPrototype,"origin",accessorDescriptor("getOrigin")),defineBuiltInAccessor$2(URLPrototype,"protocol",accessorDescriptor("getProtocol","setProtocol")),defineBuiltInAccessor$2(URLPrototype,"username",accessorDescriptor("getUsername","setUsername")),defineBuiltInAccessor$2(URLPrototype,"password",accessorDescriptor("getPassword","setPassword")),defineBuiltInAccessor$2(URLPrototype,"host",accessorDescriptor("getHost","setHost")),defineBuiltInAccessor$2(URLPrototype,"hostname",accessorDescriptor("getHostname","setHostname")),defineBuiltInAccessor$2(URLPrototype,"port",accessorDescriptor("getPort","setPort")),defineBuiltInAccessor$2(URLPrototype,"pathname",accessorDescriptor("getPathname","setPathname")),defineBuiltInAccessor$2(URLPrototype,"search",accessorDescriptor("getSearch","setSearch")),defineBuiltInAccessor$2(URLPrototype,"searchParams",accessorDescriptor("getSearchParams")),defineBuiltInAccessor$2(URLPrototype,"hash",accessorDescriptor("getHash","setHash"))),defineBuiltIn$6(URLPrototype,"toJSON",(function(){return getInternalURLState(this).serialize()}),{enumerable:!0}),defineBuiltIn$6(URLPrototype,"toString",(function(){return getInternalURLState(this).serialize()}),{enumerable:!0}),NativeURL){var nativeCreateObjectURL=NativeURL.createObjectURL,nativeRevokeObjectURL=NativeURL.revokeObjectURL;nativeCreateObjectURL&&defineBuiltIn$6(URLConstructor,"createObjectURL",bind$d(nativeCreateObjectURL,NativeURL)),nativeRevokeObjectURL&&defineBuiltIn$6(URLConstructor,"revokeObjectURL",bind$d(nativeRevokeObjectURL,NativeURL))}setToStringTag$4(URLConstructor,"URL"),$$15({global:!0,constructor:!0,forced:!USE_NATIVE_URL,sham:!DESCRIPTORS$d},{URL:URLConstructor});var $$14=_export,isArray$1=isArray$6,isConstructor5=isConstructor$4,isObject$f=isObject$x,toAbsoluteIndex$4=toAbsoluteIndex$8,lengthOfArrayLike$d=lengthOfArrayLike$m,toIndexedObject$9=toIndexedObject$f,createProperty=createProperty$5,wellKnownSymbol$9=wellKnownSymbol$x,arrayMethodHasSpeciesSupport=arrayMethodHasSpeciesSupport$5,nativeSlice=arraySlice$f,HAS_SPECIES_SUPPORT=arrayMethodHasSpeciesSupport("slice"),SPECIES$1=wellKnownSymbol$9("species"),$Array$1=Array,max$1=Math.max;function debounce(e,t,r){var n;return function(){var i=this,o=arguments,a=r&&!n;clearTimeout(n),n=_setTimeout((function(){n=null,r||e.apply(i,o)}),t),a&&e.apply(i,o)}}function _classCallCheck$5(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$5(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass$5(e,t,r){return t&&_defineProperties$5(e.prototype,t),r&&_defineProperties$5(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}$$14({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT},{slice:function(e,t){var r,n,i,o=toIndexedObject$9(this),a=lengthOfArrayLike$d(o),s=toAbsoluteIndex$4(e,a),l=toAbsoluteIndex$4(void 0===t?a:t,a);if(isArray$1(o)&&(r=o.constructor,(isConstructor5(r)&&(r===$Array$1||isArray$1(r.prototype))||isObject$f(r)&&null===(r=r[SPECIES$1]))&&(r=void 0),r===$Array$1||void 0===r))return nativeSlice(o,s,l);for(n=new(void 0===r?$Array$1:r)(max$1(l-s,0)),i=0;s<l;s++,i++)s in o&&createProperty(n,i,o[s]);return n.length=i,n}});var ProxyPromise$1=function(){function e(){var t,r;_classCallCheck$5(this,e);var n=new _Promise((function(e,n){t=e,r=n}));return n.resolve=t,n.reject=r,n}return _createClass$5(e,[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]),e}(),$$13=_export,uncurryThis$t=functionUncurryThis,$Date=Date,thisTimeValue=uncurryThis$t($Date.prototype.getTime);$$13({target:"Date",stat:!0},{now:function(){return thisTimeValue(new $Date)}});var Raf=function(){function e(){_classCallCheck$5(this,e)}return _createClass$5(e,null,[{key:"install",value:function(){if(window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame,!window.requestAnimationFrame){var e=_Date$now();window.requestAnimationFrame=function(t){var r=_Date$now(),n=Math.max(16.7-(r-e),0),i=_setTimeout(t,n);return e=r+n,i}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}}]),e}(),FpsDetection=function(){function e(){var t;_classCallCheck$5(this,e),this.fps=0,this.isStoped=!0,this.ticks=[],this.isSupport=!0,this.maxFps=0,this.step=_bindInstanceProperty(t=this._step).call(t,this),this.rafId=null}return _createClass$5(e,[{key:"_step",value:function(e){var t=this.ticks;if(t.unshift(e),t.length>10){var r=t.pop();r&&(this.fps=Math.floor(1e4/(e-r)),this.updateFpsInfo())}this.isStoped||(this.rafId=window.requestAnimationFrame(this.step))}},{key:"updateFpsInfo",value:function(){this.fps>this.maxFps&&(this.maxFps=this.fps)}},{key:"start",value:function(){void 0!==window.requestAnimationFrame&&(this.isStoped=!1,this.rafId=window.requestAnimationFrame(this.step))}},{key:"stop",value:function(){window.cancelAnimationFrame(this.rafId),this.isStoped=!0}}],[{key:"install",value:function(){Raf.install()}}]),e}(),anObject$b=anObject$q,regexpFlags$2=function(){var e=anObject$b(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},fails$C=fails$13,global$k=global$O,$RegExp$2=global$k.RegExp,UNSUPPORTED_Y$2=fails$C((function(){var e=$RegExp$2("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),MISSED_STICKY=UNSUPPORTED_Y$2||fails$C((function(){return!$RegExp$2("a","y").sticky})),BROKEN_CARET=UNSUPPORTED_Y$2||fails$C((function(){var e=$RegExp$2("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),regexpStickyHelpers={BROKEN_CARET:BROKEN_CARET,MISSED_STICKY:MISSED_STICKY,UNSUPPORTED_Y:UNSUPPORTED_Y$2},fails$B=fails$13,global$j=global$O,$RegExp$1=global$j.RegExp,regexpUnsupportedDotAll=fails$B((function(){var e=$RegExp$1(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),fails$A=fails$13,global$i=global$O,$RegExp=global$i.RegExp,regexpUnsupportedNcg=fails$A((function(){var e=$RegExp("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),call$i=functionCall,uncurryThis$s=functionUncurryThis,toString$d=toString$p,regexpFlags$1=regexpFlags$2,stickyHelpers$1=regexpStickyHelpers,shared$3=sharedExports,create$5=objectCreate,getInternalState$4=internalState.get,UNSUPPORTED_DOT_ALL=regexpUnsupportedDotAll,UNSUPPORTED_NCG=regexpUnsupportedNcg,nativeReplace=shared$3("native-string-replace",String.prototype.replace),nativeExec=RegExp.prototype.exec,patchedExec=nativeExec,charAt$3=uncurryThis$s("".charAt),indexOf3=uncurryThis$s("".indexOf),replace$2=uncurryThis$s("".replace),stringSlice$7=uncurryThis$s("".slice),UPDATES_LAST_INDEX_WRONG=function(){var e=/a/,t=/b*/g;return call$i(nativeExec,e,"a"),call$i(nativeExec,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),UNSUPPORTED_Y$1=stickyHelpers$1.BROKEN_CARET,NPCG_INCLUDED=void 0!==/()??/.exec("")[1],PATCH=UPDATES_LAST_INDEX_WRONG||NPCG_INCLUDED||UNSUPPORTED_Y$1||UNSUPPORTED_DOT_ALL||UNSUPPORTED_NCG;PATCH&&(patchedExec=function(e){var t,r,n,i,o,a,s,l=this,c=getInternalState$4(l),u=toString$d(e),d=c.raw;if(d)return d.lastIndex=l.lastIndex,t=call$i(patchedExec,d,u),l.lastIndex=d.lastIndex,t;var p=c.groups,y=UNSUPPORTED_Y$1&&l.sticky,h=call$i(regexpFlags$1,l),f=l.source,$=0,m=u;if(y&&(h=replace$2(h,"y",""),-1===indexOf3(h,"g")&&(h+="g"),m=stringSlice$7(u,l.lastIndex),l.lastIndex>0&&(!l.multiline||l.multiline&&"\n"!==charAt$3(u,l.lastIndex-1))&&(f="(?: "+f+")",m=" "+m,$++),r=new RegExp("^(?:"+f+")",h)),NPCG_INCLUDED&&(r=new RegExp("^"+f+"$(?!\\s)",h)),UPDATES_LAST_INDEX_WRONG&&(n=l.lastIndex),i=call$i(nativeExec,y?r:l,m),y?i?(i.input=stringSlice$7(i.input,$),i[0]=stringSlice$7(i[0],$),i.index=l.lastIndex,l.lastIndex+=i[0].length):l.lastIndex=0:UPDATES_LAST_INDEX_WRONG&&i&&(l.lastIndex=l.global?i.index+i[0].length:n),NPCG_INCLUDED&&i&&i.length>1&&call$i(nativeReplace,i[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(i[o]=void 0)})),i&&p)for(i.groups=a=create$5(null),o=0;o<p.length;o++)a[(s=p[o])[0]]=i[s[1]];return i});var regexpExec$3=patchedExec,$$12=_export,exec$1=regexpExec$3;$$12({target:"RegExp",proto:!0,forced:/./.exec!==regexpExec$3},{exec:regexpExec$3});var $$11=_export,uncurryThis$r=functionUncurryThis,IndexedObject$3=indexedObject,toIndexedObject$8=toIndexedObject$f,arrayMethodIsStrict$6=arrayMethodIsStrict$c,nativeJoin=uncurryThis$r([].join),ES3_STRINGS=IndexedObject$3!=Object,STRICT_METHOD$5=arrayMethodIsStrict$6("join",",");$$11({target:"Array",proto:!0,forced:ES3_STRINGS||!STRICT_METHOD$5},{join:function(e){return nativeJoin(toIndexedObject$8(this),void 0===e?",":e)}});var arrayBufferBasicDetection="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,toIntegerOrInfinity$8=toIntegerOrInfinity$e,toLength$9=toLength$d,$RangeError$4=RangeError,toIndex$2=function(e){if(void 0===e)return 0;var t=toIntegerOrInfinity$8(e),r=toLength$9(t);if(t!==r)throw $RangeError$4("Wrong length or index");return r},$Array=Array,abs$2=Math.abs,pow$3=Math.pow,floor$6=Math.floor,log$4=Math.log,LN2=Math.LN2,pack=function(e,t,r){var n,i,o,a=$Array(r),s=8*r-t-1,l=(1<<s)-1,c=l>>1,u=23===t?pow$3(2,-24)-pow$3(2,-77):0,d=e<0||0===e&&1/e<0?1:0,p=0;for((e=abs$2(e))!=e||e===1/0?(i=e!=e?1:0,n=l):(n=floor$6(log$4(e)/LN2),e*(o=pow$3(2,-n))<1&&(n--,o*=2),(e+=n+c>=1?u/o:u*pow$3(2,1-c))*o>=2&&(n++,o/=2),n+c>=l?(i=0,n=l):n+c>=1?(i=(e*o-1)*pow$3(2,t),n+=c):(i=e*pow$3(2,c-1)*pow$3(2,t),n=0));t>=8;)a[p++]=255&i,i/=256,t-=8;for(n=n<<t|i,s+=t;s>0;)a[p++]=255&n,n/=256,s-=8;return a[--p]|=128*d,a},unpack=function(e,t){var r,n=e.length,i=8*n-t-1,o=(1<<i)-1,a=o>>1,s=i-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;)u=256*u+e[l--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;)r=256*r+e[l--],s-=8;if(0===u)u=1-a;else{if(u===o)return r?NaN:c?-1/0:1/0;r+=pow$3(2,t),u-=a}return(c?-1:1)*r*pow$3(2,u-t)},ieee754={pack:pack,unpack:unpack},toObject$a=toObject$k,toAbsoluteIndex$3=toAbsoluteIndex$8,lengthOfArrayLike$c=lengthOfArrayLike$m,arrayFill$1=function(e){for(var t=toObject$a(this),r=lengthOfArrayLike$c(t),n=arguments.length,i=toAbsoluteIndex$3(n>1?arguments[1]:void 0,r),o=n>2?arguments[2]:void 0,a=void 0===o?r:toAbsoluteIndex$3(o,r);a>i;)t[i++]=e;return t},global$h=global$O,uncurryThis$q=functionUncurryThis,DESCRIPTORS$c=descriptors,NATIVE_ARRAY_BUFFER$1=arrayBufferBasicDetection,FunctionName=functionName,createNonEnumerableProperty$4=createNonEnumerableProperty$a,defineBuiltIns$2=defineBuiltIns$4,fails$z=fails$13,anInstance$5=anInstance$b,toIntegerOrInfinity$7=toIntegerOrInfinity$e,toLength$8=toLength$d,toIndex$1=toIndex$2,IEEE754=ieee754,getPrototypeOf$1=objectGetPrototypeOf,setPrototypeOf$2=objectSetPrototypeOf,getOwnPropertyNames$1=objectGetOwnPropertyNames.f,defineProperty$8=objectDefineProperty.f,arrayFill=arrayFill$1,arraySlice$5=arraySliceSimple,setToStringTag$3=setToStringTag$b,InternalStateModule$6=internalState,PROPER_FUNCTION_NAME$2=FunctionName.PROPER,CONFIGURABLE_FUNCTION_NAME=FunctionName.CONFIGURABLE,getInternalState$3=InternalStateModule$6.get,setInternalState$5=InternalStateModule$6.set,ARRAY_BUFFER$1="ArrayBuffer",DATA_VIEW="DataView",PROTOTYPE$1="prototype",WRONG_LENGTH$1="Wrong length",WRONG_INDEX="Wrong index",NativeArrayBuffer$1=global$h[ARRAY_BUFFER$1],$ArrayBuffer=NativeArrayBuffer$1,ArrayBufferPrototype$1=$ArrayBuffer&&$ArrayBuffer[PROTOTYPE$1],$DataView=global$h[DATA_VIEW],DataViewPrototype$1=$DataView&&$DataView[PROTOTYPE$1],ObjectPrototype$3=Object.prototype,Array$1=global$h.Array,RangeError$3=global$h.RangeError,fill2=uncurryThis$q(arrayFill),reverse2=uncurryThis$q([].reverse),packIEEE754=IEEE754.pack,unpackIEEE754=IEEE754.unpack,packInt8=function(e){return[255&e]},packInt16=function(e){return[255&e,e>>8&255]},packInt32=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},unpackInt32=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},packFloat32=function(e){return packIEEE754(e,23,4)},packFloat64=function(e){return packIEEE754(e,52,8)},addGetter$1=function(e,t){defineProperty$8(e[PROTOTYPE$1],t,{get:function(){return getInternalState$3(this)[t]}})},get$2=function(e,t,r,n){var i=toIndex$1(r),o=getInternalState$3(e);if(i+t>o.byteLength)throw RangeError$3(WRONG_INDEX);var a=getInternalState$3(o.buffer).bytes,s=i+o.byteOffset,l=arraySlice$5(a,s,s+t);return n?l:reverse2(l)},set$6=function(e,t,r,n,i,o){var a=toIndex$1(r),s=getInternalState$3(e);if(a+t>s.byteLength)throw RangeError$3(WRONG_INDEX);for(var l=getInternalState$3(s.buffer).bytes,c=a+s.byteOffset,u=n(+i),d=0;d<t;d++)l[c+d]=u[o?d:t-d-1]};if(NATIVE_ARRAY_BUFFER$1){var INCORRECT_ARRAY_BUFFER_NAME=PROPER_FUNCTION_NAME$2&&NativeArrayBuffer$1.name!==ARRAY_BUFFER$1;if(fails$z((function(){NativeArrayBuffer$1(1)}))&&fails$z((function(){new NativeArrayBuffer$1(-1)}))&&!fails$z((function(){return new NativeArrayBuffer$1,new NativeArrayBuffer$1(1.5),new NativeArrayBuffer$1(NaN),1!=NativeArrayBuffer$1.length||INCORRECT_ARRAY_BUFFER_NAME&&!CONFIGURABLE_FUNCTION_NAME})))INCORRECT_ARRAY_BUFFER_NAME&&CONFIGURABLE_FUNCTION_NAME&&createNonEnumerableProperty$4(NativeArrayBuffer$1,"name",ARRAY_BUFFER$1);else{($ArrayBuffer=function(e){return anInstance$5(this,ArrayBufferPrototype$1),new NativeArrayBuffer$1(toIndex$1(e))})[PROTOTYPE$1]=ArrayBufferPrototype$1;for(var key2,keys$1=getOwnPropertyNames$1(NativeArrayBuffer$1),j=0;keys$1.length>j;)(key2=keys$1[j++])in $ArrayBuffer||createNonEnumerableProperty$4($ArrayBuffer,key2,NativeArrayBuffer$1[key2]);ArrayBufferPrototype$1.constructor=$ArrayBuffer}setPrototypeOf$2&&getPrototypeOf$1(DataViewPrototype$1)!==ObjectPrototype$3&&setPrototypeOf$2(DataViewPrototype$1,ObjectPrototype$3);var testView=new $DataView(new $ArrayBuffer(2)),$setInt8=uncurryThis$q(DataViewPrototype$1.setInt8);testView.setInt8(0,2147483648),testView.setInt8(1,2147483649),!testView.getInt8(0)&&testView.getInt8(1)||defineBuiltIns$2(DataViewPrototype$1,{setInt8:function(e,t){$setInt8(this,e,t<<24>>24)},setUint8:function(e,t){$setInt8(this,e,t<<24>>24)}},{unsafe:!0})}else ArrayBufferPrototype$1=($ArrayBuffer=function(e){anInstance$5(this,ArrayBufferPrototype$1);var t=toIndex$1(e);setInternalState$5(this,{bytes:fill2(Array$1(t),0),byteLength:t}),DESCRIPTORS$c||(this.byteLength=t)})[PROTOTYPE$1],DataViewPrototype$1=($DataView=function(e,t,r){anInstance$5(this,DataViewPrototype$1),anInstance$5(e,ArrayBufferPrototype$1);var n=getInternalState$3(e).byteLength,i=toIntegerOrInfinity$7(t);if(i<0||i>n)throw RangeError$3("Wrong offset");if(i+(r=void 0===r?n-i:toLength$8(r))>n)throw RangeError$3(WRONG_LENGTH$1);setInternalState$5(this,{buffer:e,byteLength:r,byteOffset:i}),DESCRIPTORS$c||(this.buffer=e,this.byteLength=r,this.byteOffset=i)})[PROTOTYPE$1],DESCRIPTORS$c&&(addGetter$1($ArrayBuffer,"byteLength"),addGetter$1($DataView,"buffer"),addGetter$1($DataView,"byteLength"),addGetter$1($DataView,"byteOffset")),defineBuiltIns$2(DataViewPrototype$1,{getInt8:function(e){return get$2(this,1,e)[0]<<24>>24},getUint8:function(e){return get$2(this,1,e)[0]},getInt16:function(e){var t=get$2(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=get$2(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return unpackInt32(get$2(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return unpackInt32(get$2(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return unpackIEEE754(get$2(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return unpackIEEE754(get$2(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){set$6(this,1,e,packInt8,t)},setUint8:function(e,t){set$6(this,1,e,packInt8,t)},setInt16:function(e,t){set$6(this,2,e,packInt16,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){set$6(this,2,e,packInt16,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){set$6(this,4,e,packInt32,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){set$6(this,4,e,packInt32,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){set$6(this,4,e,packFloat32,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){set$6(this,8,e,packFloat64,t,arguments.length>2?arguments[2]:void 0)}});setToStringTag$3($ArrayBuffer,ARRAY_BUFFER$1),setToStringTag$3($DataView,DATA_VIEW);var arrayBuffer={ArrayBuffer:$ArrayBuffer,DataView:$DataView},$$10=_export,uncurryThis$p=functionUncurryThisClause,fails$y=fails$13,ArrayBufferModule$1=arrayBuffer,anObject$a=anObject$q,toAbsoluteIndex$2=toAbsoluteIndex$8,toLength$7=toLength$d,speciesConstructor$2=speciesConstructor$5,ArrayBuffer$4=ArrayBufferModule$1.ArrayBuffer,DataView$2=ArrayBufferModule$1.DataView,DataViewPrototype=DataView$2.prototype,nativeArrayBufferSlice=uncurryThis$p(ArrayBuffer$4.prototype.slice),getUint8=uncurryThis$p(DataViewPrototype.getUint8),setUint8=uncurryThis$p(DataViewPrototype.setUint8),INCORRECT_SLICE=fails$y((function(){return!new ArrayBuffer$4(2).slice(1,void 0).byteLength}));$$10({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:INCORRECT_SLICE},{slice:function(e,t){if(nativeArrayBufferSlice&&void 0===t)return nativeArrayBufferSlice(anObject$a(this),e);for(var r=anObject$a(this).byteLength,n=toAbsoluteIndex$2(e,r),i=toAbsoluteIndex$2(void 0===t?r:t,r),o=new(speciesConstructor$2(this,ArrayBuffer$4))(toLength$7(i-n)),a=new DataView$2(this),s=new DataView$2(o),l=0;n<i;)setUint8(s,l++,getUint8(a,n++));return o}});var NAME,Constructor,Prototype,typedArrayConstructor={exports:{}},NATIVE_ARRAY_BUFFER=arrayBufferBasicDetection,DESCRIPTORS$b=descriptors,global$g=global$O,isCallable$9=isCallable$A,isObject$e=isObject$x,hasOwn$c=hasOwnProperty_1,classof$a=classof$k,tryToString$2=tryToString$8,createNonEnumerableProperty$3=createNonEnumerableProperty$a,defineBuiltIn$5=defineBuiltIn$l,defineProperty$7=objectDefineProperty.f,isPrototypeOf$b=objectIsPrototypeOf,getPrototypeOf2=objectGetPrototypeOf,setPrototypeOf$1=objectSetPrototypeOf,wellKnownSymbol$8=wellKnownSymbol$x,uid$3=uid$6,InternalStateModule$5=internalState,enforceInternalState$1=InternalStateModule$5.enforce,getInternalState$2=InternalStateModule$5.get,Int8Array$4=global$g.Int8Array,Int8ArrayPrototype$1=Int8Array$4&&Int8Array$4.prototype,Uint8ClampedArray$1=global$g.Uint8ClampedArray,Uint8ClampedArrayPrototype=Uint8ClampedArray$1&&Uint8ClampedArray$1.prototype,TypedArray$1=Int8Array$4&&getPrototypeOf2(Int8Array$4),TypedArrayPrototype$2=Int8ArrayPrototype$1&&getPrototypeOf2(Int8ArrayPrototype$1),ObjectPrototype$2=Object.prototype,TypeError$2=global$g.TypeError,TO_STRING_TAG=wellKnownSymbol$8("toStringTag"),TYPED_ARRAY_TAG$1=uid$3("TYPED_ARRAY_TAG"),TYPED_ARRAY_CONSTRUCTOR="TypedArrayConstructor",NATIVE_ARRAY_BUFFER_VIEWS$2=NATIVE_ARRAY_BUFFER&&!!setPrototypeOf$1&&"Opera"!==classof$a(global$g.opera),TYPED_ARRAY_TAG_REQUIRED=!1,TypedArrayConstructorsList={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},BigIntArrayConstructorsList={BigInt64Array:8,BigUint64Array:8},isView=function(e){if(!isObject$e(e))return!1;var t=classof$a(e);return"DataView"===t||hasOwn$c(TypedArrayConstructorsList,t)||hasOwn$c(BigIntArrayConstructorsList,t)},getTypedArrayConstructor$1=function(e){var t=getPrototypeOf2(e);if(isObject$e(t)){var r=getInternalState$2(t);return r&&hasOwn$c(r,TYPED_ARRAY_CONSTRUCTOR)?r[TYPED_ARRAY_CONSTRUCTOR]:getTypedArrayConstructor$1(t)}},isTypedArray$1=function(e){if(!isObject$e(e))return!1;var t=classof$a(e);return hasOwn$c(TypedArrayConstructorsList,t)||hasOwn$c(BigIntArrayConstructorsList,t)},aTypedArray$p=function(e){if(isTypedArray$1(e))return e;throw TypeError$2("Target is not a typed array")},aTypedArrayConstructor$4=function(e){if(isCallable$9(e)&&(!setPrototypeOf$1||isPrototypeOf$b(TypedArray$1,e)))return e;throw TypeError$2(tryToString$2(e)+" is not a typed array constructor")},exportTypedArrayMethod$q=function(e,t,r,n){if(DESCRIPTORS$b){if(r)for(var i in TypedArrayConstructorsList){var o=global$g[i];if(o&&hasOwn$c(o.prototype,e))try{delete o.prototype[e]}catch(r){try{o.prototype[e]=t}catch(e){}}}TypedArrayPrototype$2[e]&&!r||defineBuiltIn$5(TypedArrayPrototype$2,e,r?t:NATIVE_ARRAY_BUFFER_VIEWS$2&&Int8ArrayPrototype$1[e]||t,n)}},exportTypedArrayStaticMethod$1=function(e,t,r){var n,i;if(DESCRIPTORS$b){if(setPrototypeOf$1){if(r)for(n in TypedArrayConstructorsList)if((i=global$g[n])&&hasOwn$c(i,e))try{delete i[e]}catch(e){}if(TypedArray$1[e]&&!r)return;try{return defineBuiltIn$5(TypedArray$1,e,r?t:NATIVE_ARRAY_BUFFER_VIEWS$2&&TypedArray$1[e]||t)}catch(e){}}for(n in TypedArrayConstructorsList)!(i=global$g[n])||i[e]&&!r||defineBuiltIn$5(i,e,t)}};for(NAME in TypedArrayConstructorsList)(Prototype=(Constructor=global$g[NAME])&&Constructor.prototype)?enforceInternalState$1(Prototype)[TYPED_ARRAY_CONSTRUCTOR]=Constructor:NATIVE_ARRAY_BUFFER_VIEWS$2=!1;for(NAME in BigIntArrayConstructorsList)(Prototype=(Constructor=global$g[NAME])&&Constructor.prototype)&&(enforceInternalState$1(Prototype)[TYPED_ARRAY_CONSTRUCTOR]=Constructor);if((!NATIVE_ARRAY_BUFFER_VIEWS$2||!isCallable$9(TypedArray$1)||TypedArray$1===Function.prototype)&&(TypedArray$1=function(){throw TypeError$2("Incorrect invocation")},NATIVE_ARRAY_BUFFER_VIEWS$2))for(NAME in TypedArrayConstructorsList)global$g[NAME]&&setPrototypeOf$1(global$g[NAME],TypedArray$1);if((!NATIVE_ARRAY_BUFFER_VIEWS$2||!TypedArrayPrototype$2||TypedArrayPrototype$2===ObjectPrototype$2)&&(TypedArrayPrototype$2=TypedArray$1.prototype,NATIVE_ARRAY_BUFFER_VIEWS$2))for(NAME in TypedArrayConstructorsList)global$g[NAME]&&setPrototypeOf$1(global$g[NAME].prototype,TypedArrayPrototype$2);if(NATIVE_ARRAY_BUFFER_VIEWS$2&&getPrototypeOf2(Uint8ClampedArrayPrototype)!==TypedArrayPrototype$2&&setPrototypeOf$1(Uint8ClampedArrayPrototype,TypedArrayPrototype$2),DESCRIPTORS$b&&!hasOwn$c(TypedArrayPrototype$2,TO_STRING_TAG))for(NAME in TYPED_ARRAY_TAG_REQUIRED=!0,defineProperty$7(TypedArrayPrototype$2,TO_STRING_TAG,{get:function(){return isObject$e(this)?this[TYPED_ARRAY_TAG$1]:void 0}}),TypedArrayConstructorsList)global$g[NAME]&&createNonEnumerableProperty$3(global$g[NAME],TYPED_ARRAY_TAG$1,NAME);var arrayBufferViewCore={NATIVE_ARRAY_BUFFER_VIEWS:NATIVE_ARRAY_BUFFER_VIEWS$2,TYPED_ARRAY_TAG:TYPED_ARRAY_TAG_REQUIRED&&TYPED_ARRAY_TAG$1,aTypedArray:aTypedArray$p,aTypedArrayConstructor:aTypedArrayConstructor$4,exportTypedArrayMethod:exportTypedArrayMethod$q,exportTypedArrayStaticMethod:exportTypedArrayStaticMethod$1,getTypedArrayConstructor:getTypedArrayConstructor$1,isView:isView,isTypedArray:isTypedArray$1,TypedArray:TypedArray$1,TypedArrayPrototype:TypedArrayPrototype$2},global$f=global$O,fails$x=fails$13,checkCorrectnessOfIteration$2=checkCorrectnessOfIteration$4,NATIVE_ARRAY_BUFFER_VIEWS$1=arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS,ArrayBuffer$3=global$f.ArrayBuffer,Int8Array$3=global$f.Int8Array,typedArrayConstructorsRequireWrappers=!NATIVE_ARRAY_BUFFER_VIEWS$1||!fails$x((function(){Int8Array$3(1)}))||!fails$x((function(){new Int8Array$3(-1)}))||!checkCorrectnessOfIteration$2((function(e){new Int8Array$3,new Int8Array$3(null),new Int8Array$3(1.5),new Int8Array$3(e)}),!0)||fails$x((function(){return 1!==new Int8Array$3(new ArrayBuffer$3(2),1,void 0).length})),isObject$d=isObject$x,floor$5=Math.floor,isIntegralNumber$1=Number.isInteger||function(e){return!isObject$d(e)&&isFinite(e)&&floor$5(e)===e},toIntegerOrInfinity$6=toIntegerOrInfinity$e,$RangeError$3=RangeError,toPositiveInteger$1=function(e){var t=toIntegerOrInfinity$6(e);if(t<0)throw $RangeError$3("The argument can't be less than 0");return t},toPositiveInteger=toPositiveInteger$1,$RangeError$2=RangeError,toOffset$2=function(e,t){var r=toPositiveInteger(e);if(r%t)throw $RangeError$2("Wrong offset");return r},classof$9=classof$k,uncurryThis$o=functionUncurryThis,slice$1=uncurryThis$o("".slice),isBigIntArray$1=function(e){return"Big"===slice$1(classof$9(e),0,3)},toPrimitive=toPrimitive$9,$TypeError$7=TypeError,toBigInt$2=function(e){var t=toPrimitive(e,"number");if("number"==typeof t)throw $TypeError$7("Can't convert number to bigint");return BigInt(t)},bind$c=functionBindContext,call$h=functionCall,aConstructor$2=aConstructor$4,toObject$9=toObject$k,lengthOfArrayLike$b=lengthOfArrayLike$m,getIterator$6=getIterator$b,getIteratorMethod=getIteratorMethod$6,isArrayIteratorMethod=isArrayIteratorMethod$3,isBigIntArray=isBigIntArray$1,aTypedArrayConstructor$3=arrayBufferViewCore.aTypedArrayConstructor,toBigInt$1=toBigInt$2,typedArrayFrom$1=function(e){var t,r,n,i,o,a,s,l,c=aConstructor$2(this),u=toObject$9(e),d=arguments.length,p=d>1?arguments[1]:void 0,y=void 0!==p,h=getIteratorMethod(u);if(h&&!isArrayIteratorMethod(h))for(l=(s=getIterator$6(u,h)).next,u=[];!(a=call$h(l,s)).done;)u.push(a.value);for(y&&d>2&&(p=bind$c(p,arguments[2])),r=lengthOfArrayLike$b(u),n=new(aTypedArrayConstructor$3(c))(r),i=isBigIntArray(n),t=0;r>t;t++)o=y?p(u[t],t):u[t],n[t]=i?toBigInt$1(o):+o;return n},$$$=_export,global$e=global$O,call$g=functionCall,DESCRIPTORS$a=descriptors,TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS$1=typedArrayConstructorsRequireWrappers,ArrayBufferViewCore$r=arrayBufferViewCore,ArrayBufferModule=arrayBuffer,anInstance$4=anInstance$b,createPropertyDescriptor$1=createPropertyDescriptor$8,createNonEnumerableProperty$2=createNonEnumerableProperty$a,isIntegralNumber=isIntegralNumber$1,toLength$6=toLength$d,toIndex=toIndex$2,toOffset$1=toOffset$2,toPropertyKey$1=toPropertyKey$5,hasOwn$b=hasOwnProperty_1,classof$8=classof$k,isObject$c=isObject$x,isSymbol$1=isSymbol$6,create$4=objectCreate,isPrototypeOf$a=objectIsPrototypeOf,setPrototypeOf=objectSetPrototypeOf,getOwnPropertyNames5=objectGetOwnPropertyNames.f,typedArrayFrom=typedArrayFrom$1,forEach$2=arrayIteration.forEach,setSpecies$3=setSpecies$5,definePropertyModule$1=objectDefineProperty,getOwnPropertyDescriptorModule$1=objectGetOwnPropertyDescriptor,InternalStateModule$4=internalState,inheritIfRequired$1=inheritIfRequired$3,getInternalState$1=InternalStateModule$4.get,setInternalState$4=InternalStateModule$4.set,enforceInternalState=InternalStateModule$4.enforce,nativeDefineProperty$1=definePropertyModule$1.f,nativeGetOwnPropertyDescriptor$2=getOwnPropertyDescriptorModule$1.f,round=Math.round,RangeError$2=global$e.RangeError,ArrayBuffer$2=ArrayBufferModule.ArrayBuffer,ArrayBufferPrototype=ArrayBuffer$2.prototype,DataView$1=ArrayBufferModule.DataView,NATIVE_ARRAY_BUFFER_VIEWS=ArrayBufferViewCore$r.NATIVE_ARRAY_BUFFER_VIEWS,TYPED_ARRAY_TAG=ArrayBufferViewCore$r.TYPED_ARRAY_TAG,TypedArray=ArrayBufferViewCore$r.TypedArray,TypedArrayPrototype$1=ArrayBufferViewCore$r.TypedArrayPrototype,aTypedArrayConstructor$2=ArrayBufferViewCore$r.aTypedArrayConstructor,isTypedArray=ArrayBufferViewCore$r.isTypedArray,BYTES_PER_ELEMENT="BYTES_PER_ELEMENT",WRONG_LENGTH="Wrong length",fromList=function(e,t){aTypedArrayConstructor$2(e);for(var r=0,n=t.length,i=new e(n);n>r;)i[r]=t[r++];return i},addGetter=function(e,t){nativeDefineProperty$1(e,t,{get:function(){return getInternalState$1(this)[t]}})},isArrayBuffer=function(e){var t;return isPrototypeOf$a(ArrayBufferPrototype,e)||"ArrayBuffer"==(t=classof$8(e))||"SharedArrayBuffer"==t},isTypedArrayIndex=function(e,t){return isTypedArray(e)&&!isSymbol$1(t)&&t in e&&isIntegralNumber(+t)&&t>=0},wrappedGetOwnPropertyDescriptor=function(e,t){return t=toPropertyKey$1(t),isTypedArrayIndex(e,t)?createPropertyDescriptor$1(2,e[t]):nativeGetOwnPropertyDescriptor$2(e,t)},wrappedDefineProperty=function(e,t,r){return t=toPropertyKey$1(t),!(isTypedArrayIndex(e,t)&&isObject$c(r)&&hasOwn$b(r,"value"))||hasOwn$b(r,"get")||hasOwn$b(r,"set")||r.configurable||hasOwn$b(r,"writable")&&!r.writable||hasOwn$b(r,"enumerable")&&!r.enumerable?nativeDefineProperty$1(e,t,r):(e[t]=r.value,e)};DESCRIPTORS$a?(NATIVE_ARRAY_BUFFER_VIEWS||(getOwnPropertyDescriptorModule$1.f=wrappedGetOwnPropertyDescriptor,definePropertyModule$1.f=wrappedDefineProperty,addGetter(TypedArrayPrototype$1,"buffer"),addGetter(TypedArrayPrototype$1,"byteOffset"),addGetter(TypedArrayPrototype$1,"byteLength"),addGetter(TypedArrayPrototype$1,"length")),$$$({target:"Object",stat:!0,forced:!NATIVE_ARRAY_BUFFER_VIEWS},{getOwnPropertyDescriptor:wrappedGetOwnPropertyDescriptor,defineProperty:wrappedDefineProperty}),typedArrayConstructor.exports=function(e,t,r){var n=e.match(/\d+$/)[0]/8,i=e+(r?"Clamped":"")+"Array",o="get"+e,a="set"+e,s=global$e[i],l=s,c=l&&l.prototype,u={},d=function(e,t){nativeDefineProperty$1(e,t,{get:function(){return function(e,t){var r=getInternalState$1(e);return r.view[o](t*n+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,i){var o=getInternalState$1(e);r&&(i=(i=round(i))<0?0:i>255?255:255&i),o.view[a](t*n+o.byteOffset,i,!0)}(this,t,e)},enumerable:!0})};NATIVE_ARRAY_BUFFER_VIEWS?TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS$1&&(l=t((function(e,t,r,i){return anInstance$4(e,c),inheritIfRequired$1(isObject$c(t)?isArrayBuffer(t)?void 0!==i?new s(t,toOffset$1(r,n),i):void 0!==r?new s(t,toOffset$1(r,n)):new s(t):isTypedArray(t)?fromList(l,t):call$g(typedArrayFrom,l,t):new s(toIndex(t)),e,l)})),setPrototypeOf&&setPrototypeOf(l,TypedArray),forEach$2(getOwnPropertyNames5(s),(function(e){e in l||createNonEnumerableProperty$2(l,e,s[e])})),l.prototype=c):(l=t((function(e,t,r,i){anInstance$4(e,c);var o,a,s,u=0,p=0;if(isObject$c(t)){if(!isArrayBuffer(t))return isTypedArray(t)?fromList(l,t):call$g(typedArrayFrom,l,t);o=t,p=toOffset$1(r,n);var y=t.byteLength;if(void 0===i){if(y%n)throw RangeError$2(WRONG_LENGTH);if((a=y-p)<0)throw RangeError$2(WRONG_LENGTH)}else if((a=toLength$6(i)*n)+p>y)throw RangeError$2(WRONG_LENGTH);s=a/n}else s=toIndex(t),o=new ArrayBuffer$2(a=s*n);for(setInternalState$4(e,{buffer:o,byteOffset:p,byteLength:a,length:s,view:new DataView$1(o)});u<s;)d(e,u++)})),setPrototypeOf&&setPrototypeOf(l,TypedArray),c=l.prototype=create$4(TypedArrayPrototype$1)),c.constructor!==l&&createNonEnumerableProperty$2(c,"constructor",l),enforceInternalState(c).TypedArrayConstructor=l,TYPED_ARRAY_TAG&&createNonEnumerableProperty$2(c,TYPED_ARRAY_TAG,i);var p=l!=s;u[i]=l,$$$({global:!0,constructor:!0,forced:p,sham:!NATIVE_ARRAY_BUFFER_VIEWS},u),BYTES_PER_ELEMENT in l||createNonEnumerableProperty$2(l,BYTES_PER_ELEMENT,n),BYTES_PER_ELEMENT in c||createNonEnumerableProperty$2(c,BYTES_PER_ELEMENT,n),setSpecies$3(i)}):typedArrayConstructor.exports=function(){};var typedArrayConstructorExports=typedArrayConstructor.exports,createTypedArrayConstructor$7=typedArrayConstructorExports;createTypedArrayConstructor$7("Uint8",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var toObject$8=toObject$k,toAbsoluteIndex$1=toAbsoluteIndex$8,lengthOfArrayLike$a=lengthOfArrayLike$m,deletePropertyOrThrow$1=deletePropertyOrThrow$4,min$5=Math.min,arrayCopyWithin=[].copyWithin||function(e,t){var r=toObject$8(this),n=lengthOfArrayLike$a(r),i=toAbsoluteIndex$1(e,n),o=toAbsoluteIndex$1(t,n),a=arguments.length>2?arguments[2]:void 0,s=min$5((void 0===a?n:toAbsoluteIndex$1(a,n))-o,n-i),l=1;for(o<i&&i<o+s&&(l=-1,o+=s-1,i+=s-1);s-- >0;)o in r?r[i]=r[o]:deletePropertyOrThrow$1(r,i),i+=l,o+=l;return r},uncurryThis$n=functionUncurryThis,ArrayBufferViewCore$q=arrayBufferViewCore,$ArrayCopyWithin=arrayCopyWithin,u$ArrayCopyWithin=uncurryThis$n($ArrayCopyWithin),aTypedArray$o=ArrayBufferViewCore$q.aTypedArray,exportTypedArrayMethod$p=ArrayBufferViewCore$q.exportTypedArrayMethod;exportTypedArrayMethod$p("copyWithin",(function(e,t){return u$ArrayCopyWithin(aTypedArray$o(this),e,t,arguments.length>2?arguments[2]:void 0)}));var ArrayBufferViewCore$p=arrayBufferViewCore,$every=arrayIteration.every,aTypedArray$n=ArrayBufferViewCore$p.aTypedArray,exportTypedArrayMethod$o=ArrayBufferViewCore$p.exportTypedArrayMethod;exportTypedArrayMethod$o("every",(function(e){return $every(aTypedArray$n(this),e,arguments.length>1?arguments[1]:void 0)}));var ArrayBufferViewCore$o=arrayBufferViewCore,$fill=arrayFill$1,toBigInt=toBigInt$2,classof$7=classof$k,call$f=functionCall,uncurryThis$m=functionUncurryThis,fails$w=fails$13,aTypedArray$m=ArrayBufferViewCore$o.aTypedArray,exportTypedArrayMethod$n=ArrayBufferViewCore$o.exportTypedArrayMethod,slice4=uncurryThis$m("".slice),CONVERSION_BUG=fails$w((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e}));exportTypedArrayMethod$n("fill",(function(e){var t=arguments.length;aTypedArray$m(this);var r="Big"===slice4(classof$7(this),0,3)?toBigInt(e):+e;return call$f($fill,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),CONVERSION_BUG);var lengthOfArrayLike$9=lengthOfArrayLike$m,arrayFromConstructorAndList$1=function(e,t){for(var r=0,n=lengthOfArrayLike$9(t),i=new e(n);n>r;)i[r]=t[r++];return i},ArrayBufferViewCore$n=arrayBufferViewCore,speciesConstructor$1=speciesConstructor$5,aTypedArrayConstructor$1=ArrayBufferViewCore$n.aTypedArrayConstructor,getTypedArrayConstructor=ArrayBufferViewCore$n.getTypedArrayConstructor,typedArraySpeciesConstructor$4=function(e){return aTypedArrayConstructor$1(speciesConstructor$1(e,getTypedArrayConstructor(e)))},arrayFromConstructorAndList=arrayFromConstructorAndList$1,typedArraySpeciesConstructor$3=typedArraySpeciesConstructor$4,typedArrayFromSpeciesAndList=function(e,t){return arrayFromConstructorAndList(typedArraySpeciesConstructor$3(e),t)},ArrayBufferViewCore$m=arrayBufferViewCore,$filter=arrayIteration.filter,fromSpeciesAndList=typedArrayFromSpeciesAndList,aTypedArray$l=ArrayBufferViewCore$m.aTypedArray,exportTypedArrayMethod$m=ArrayBufferViewCore$m.exportTypedArrayMethod;exportTypedArrayMethod$m("filter",(function(e){var t=$filter(aTypedArray$l(this),e,arguments.length>1?arguments[1]:void 0);return fromSpeciesAndList(this,t)}));var ArrayBufferViewCore$l=arrayBufferViewCore,$find$1=arrayIteration.find,aTypedArray$k=ArrayBufferViewCore$l.aTypedArray,exportTypedArrayMethod$l=ArrayBufferViewCore$l.exportTypedArrayMethod;exportTypedArrayMethod$l("find",(function(e){return $find$1(aTypedArray$k(this),e,arguments.length>1?arguments[1]:void 0)}));var ArrayBufferViewCore$k=arrayBufferViewCore,$findIndex=arrayIteration.findIndex,aTypedArray$j=ArrayBufferViewCore$k.aTypedArray,exportTypedArrayMethod$k=ArrayBufferViewCore$k.exportTypedArrayMethod;exportTypedArrayMethod$k("findIndex",(function(e){return $findIndex(aTypedArray$j(this),e,arguments.length>1?arguments[1]:void 0)}));var ArrayBufferViewCore$j=arrayBufferViewCore,$forEach$1=arrayIteration.forEach,aTypedArray$i=ArrayBufferViewCore$j.aTypedArray,exportTypedArrayMethod$j=ArrayBufferViewCore$j.exportTypedArrayMethod;exportTypedArrayMethod$j("forEach",(function(e){$forEach$1(aTypedArray$i(this),e,arguments.length>1?arguments[1]:void 0)}));var ArrayBufferViewCore$i=arrayBufferViewCore,$includes$1=arrayIncludes.includes,aTypedArray$h=ArrayBufferViewCore$i.aTypedArray,exportTypedArrayMethod$i=ArrayBufferViewCore$i.exportTypedArrayMethod;exportTypedArrayMethod$i("includes",(function(e){return $includes$1(aTypedArray$h(this),e,arguments.length>1?arguments[1]:void 0)}));var ArrayBufferViewCore$h=arrayBufferViewCore,$indexOf=arrayIncludes.indexOf,aTypedArray$g=ArrayBufferViewCore$h.aTypedArray,exportTypedArrayMethod$h=ArrayBufferViewCore$h.exportTypedArrayMethod;exportTypedArrayMethod$h("indexOf",(function(e){return $indexOf(aTypedArray$g(this),e,arguments.length>1?arguments[1]:void 0)}));var global$d=global$O,fails$v=fails$13,uncurryThis$l=functionUncurryThis,ArrayBufferViewCore$g=arrayBufferViewCore,ArrayIterators=es_array_iterator,wellKnownSymbol$7=wellKnownSymbol$x,ITERATOR$1=wellKnownSymbol$7("iterator"),Uint8Array$2=global$d.Uint8Array,arrayValues=uncurryThis$l(ArrayIterators.values),arrayKeys=uncurryThis$l(ArrayIterators.keys),arrayEntries=uncurryThis$l(ArrayIterators.entries),aTypedArray$f=ArrayBufferViewCore$g.aTypedArray,exportTypedArrayMethod$g=ArrayBufferViewCore$g.exportTypedArrayMethod,TypedArrayPrototype=Uint8Array$2&&Uint8Array$2.prototype,GENERIC=!fails$v((function(){TypedArrayPrototype[ITERATOR$1].call([1])})),ITERATOR_IS_VALUES=!!TypedArrayPrototype&&TypedArrayPrototype.values&&TypedArrayPrototype[ITERATOR$1]===TypedArrayPrototype.values&&"values"===TypedArrayPrototype.values.name,typedArrayValues=function(){return arrayValues(aTypedArray$f(this))};exportTypedArrayMethod$g("entries",(function(){return arrayEntries(aTypedArray$f(this))}),GENERIC),exportTypedArrayMethod$g("keys",(function(){return arrayKeys(aTypedArray$f(this))}),GENERIC),exportTypedArrayMethod$g("values",typedArrayValues,GENERIC||!ITERATOR_IS_VALUES,{name:"values"}),exportTypedArrayMethod$g(ITERATOR$1,typedArrayValues,GENERIC||!ITERATOR_IS_VALUES,{name:"values"});var ArrayBufferViewCore$f=arrayBufferViewCore,uncurryThis$k=functionUncurryThis,aTypedArray$e=ArrayBufferViewCore$f.aTypedArray,exportTypedArrayMethod$f=ArrayBufferViewCore$f.exportTypedArrayMethod,$join=uncurryThis$k([].join);exportTypedArrayMethod$f("join",(function(e){return $join(aTypedArray$e(this),e)}));var apply$6=functionApply,toIndexedObject$7=toIndexedObject$f,toIntegerOrInfinity$5=toIntegerOrInfinity$e,lengthOfArrayLike$8=lengthOfArrayLike$m,arrayMethodIsStrict$5=arrayMethodIsStrict$c,min$4=Math.min,$lastIndexOf$2=[].lastIndexOf,NEGATIVE_ZERO$1=!!$lastIndexOf$2&&1/[1].lastIndexOf(1,-0)<0,STRICT_METHOD$4=arrayMethodIsStrict$5("lastIndexOf"),FORCED$e=NEGATIVE_ZERO$1||!STRICT_METHOD$4,arrayLastIndexOf$1=FORCED$e?function(e){if(NEGATIVE_ZERO$1)return apply$6($lastIndexOf$2,this,arguments)||0;var t=toIndexedObject$7(this),r=lengthOfArrayLike$8(t),n=r-1;for(arguments.length>1&&(n=min$4(n,toIntegerOrInfinity$5(arguments[1]))),n<0&&(n=r+n);n>=0;n--)if(n in t&&t[n]===e)return n||0;return-1}:$lastIndexOf$2,ArrayBufferViewCore$e=arrayBufferViewCore,apply$5=functionApply,$lastIndexOf$1=arrayLastIndexOf$1,aTypedArray$d=ArrayBufferViewCore$e.aTypedArray,exportTypedArrayMethod$e=ArrayBufferViewCore$e.exportTypedArrayMethod;exportTypedArrayMethod$e("lastIndexOf",(function(e){var t=arguments.length;return apply$5($lastIndexOf$1,aTypedArray$d(this),t>1?[e,arguments[1]]:[e])}));var ArrayBufferViewCore$d=arrayBufferViewCore,$map=arrayIteration.map,typedArraySpeciesConstructor$2=typedArraySpeciesConstructor$4,aTypedArray$c=ArrayBufferViewCore$d.aTypedArray,exportTypedArrayMethod$d=ArrayBufferViewCore$d.exportTypedArrayMethod;exportTypedArrayMethod$d("map",(function(e){return $map(aTypedArray$c(this),e,arguments.length>1?arguments[1]:void 0,(function(e,t){return new(typedArraySpeciesConstructor$2(e))(t)}))}));var aCallable$9=aCallable$j,toObject$7=toObject$k,IndexedObject$2=indexedObject,lengthOfArrayLike$7=lengthOfArrayLike$m,$TypeError$6=TypeError,createMethod$5=function(e){return function(t,r,n,i){aCallable$9(r);var o=toObject$7(t),a=IndexedObject$2(o),s=lengthOfArrayLike$7(o),l=e?s-1:0,c=e?-1:1;if(n<2)for(;;){if(l in a){i=a[l],l+=c;break}if(l+=c,e?l<0:s<=l)throw $TypeError$6("Reduce of empty array with no initial value")}for(;e?l>=0:s>l;l+=c)l in a&&(i=r(i,a[l],l,o));return i}},arrayReduce$1={left:createMethod$5(!1),right:createMethod$5(!0)},ArrayBufferViewCore$c=arrayBufferViewCore,$reduce$2=arrayReduce$1.left,aTypedArray$b=ArrayBufferViewCore$c.aTypedArray,exportTypedArrayMethod$c=ArrayBufferViewCore$c.exportTypedArrayMethod;exportTypedArrayMethod$c("reduce",(function(e){var t=arguments.length;return $reduce$2(aTypedArray$b(this),e,t,t>1?arguments[1]:void 0)}));var ArrayBufferViewCore$b=arrayBufferViewCore,$reduceRight=arrayReduce$1.right,aTypedArray$a=ArrayBufferViewCore$b.aTypedArray,exportTypedArrayMethod$b=ArrayBufferViewCore$b.exportTypedArrayMethod;exportTypedArrayMethod$b("reduceRight",(function(e){var t=arguments.length;return $reduceRight(aTypedArray$a(this),e,t,t>1?arguments[1]:void 0)}));var ArrayBufferViewCore$a=arrayBufferViewCore,aTypedArray$9=ArrayBufferViewCore$a.aTypedArray,exportTypedArrayMethod$a=ArrayBufferViewCore$a.exportTypedArrayMethod,floor$4=Math.floor;exportTypedArrayMethod$a("reverse",(function(){for(var e,t=this,r=aTypedArray$9(t).length,n=floor$4(r/2),i=0;i<n;)e=t[i],t[i++]=t[--r],t[r]=e;return t}));var global$c=global$O,call$e=functionCall,ArrayBufferViewCore$9=arrayBufferViewCore,lengthOfArrayLike$6=lengthOfArrayLike$m,toOffset=toOffset$2,toIndexedObject$6=toObject$k,fails$u=fails$13,RangeError$1=global$c.RangeError,Int8Array$2=global$c.Int8Array,Int8ArrayPrototype=Int8Array$2&&Int8Array$2.prototype,$set=Int8ArrayPrototype&&Int8ArrayPrototype.set,aTypedArray$8=ArrayBufferViewCore$9.aTypedArray,exportTypedArrayMethod$9=ArrayBufferViewCore$9.exportTypedArrayMethod,WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS=!fails$u((function(){var e=new Uint8ClampedArray(2);return call$e($set,e,{length:1,0:3},1),3!==e[1]})),TO_OBJECT_BUG=WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS&&ArrayBufferViewCore$9.NATIVE_ARRAY_BUFFER_VIEWS&&fails$u((function(){var e=new Int8Array$2(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));exportTypedArrayMethod$9("set",(function(e){aTypedArray$8(this);var t=toOffset(arguments.length>1?arguments[1]:void 0,1),r=toIndexedObject$6(e);if(WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS)return call$e($set,this,r,t);var n=this.length,i=lengthOfArrayLike$6(r),o=0;if(i+t>n)throw RangeError$1("Wrong length");for(;o<i;)this[t+o]=r[o++]}),!WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS||TO_OBJECT_BUG);var ArrayBufferViewCore$8=arrayBufferViewCore,typedArraySpeciesConstructor$1=typedArraySpeciesConstructor$4,fails$t=fails$13,arraySlice$4=arraySlice$f,aTypedArray$7=ArrayBufferViewCore$8.aTypedArray,exportTypedArrayMethod$8=ArrayBufferViewCore$8.exportTypedArrayMethod,FORCED$d=fails$t((function(){new Int8Array(1).slice()}));exportTypedArrayMethod$8("slice",(function(e,t){for(var r=arraySlice$4(aTypedArray$7(this),e,t),n=typedArraySpeciesConstructor$1(this),i=0,o=r.length,a=new n(o);o>i;)a[i]=r[i++];return a}),FORCED$d);var ArrayBufferViewCore$7=arrayBufferViewCore,$some$1=arrayIteration.some,aTypedArray$6=ArrayBufferViewCore$7.aTypedArray,exportTypedArrayMethod$7=ArrayBufferViewCore$7.exportTypedArrayMethod;exportTypedArrayMethod$7("some",(function(e){return $some$1(aTypedArray$6(this),e,arguments.length>1?arguments[1]:void 0)}));var userAgent$2=engineUserAgent,firefox=userAgent$2.match(/firefox\/(\d+)/i),engineFfVersion=!!firefox&&+firefox[1],UA=engineUserAgent,engineIsIeOrEdge=/MSIE|Trident/.test(UA),userAgent$1=engineUserAgent,webkit=userAgent$1.match(/AppleWebKit\/(\d+)\./),engineWebkitVersion=!!webkit&&+webkit[1],global$b=global$O,uncurryThis$j=functionUncurryThisClause,fails$s=fails$13,aCallable$8=aCallable$j,internalSort$1=arraySort$1,ArrayBufferViewCore$6=arrayBufferViewCore,FF$2=engineFfVersion,IE_OR_EDGE$1=engineIsIeOrEdge,V8$1=engineV8Version,WEBKIT$1=engineWebkitVersion,aTypedArray$5=ArrayBufferViewCore$6.aTypedArray,exportTypedArrayMethod$6=ArrayBufferViewCore$6.exportTypedArrayMethod,Uint16Array$1=global$b.Uint16Array,nativeSort$1=Uint16Array$1&&uncurryThis$j(Uint16Array$1.prototype.sort),ACCEPT_INCORRECT_ARGUMENTS=!(!nativeSort$1||fails$s((function(){nativeSort$1(new Uint16Array$1(2),null)}))&&fails$s((function(){nativeSort$1(new Uint16Array$1(2),{})}))),STABLE_SORT$1=!!nativeSort$1&&!fails$s((function(){if(V8$1)return V8$1<74;if(FF$2)return FF$2<67;if(IE_OR_EDGE$1)return!0;if(WEBKIT$1)return WEBKIT$1<602;var e,t,r=new Uint16Array$1(516),n=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,n[e]=e-2*t+3;for(nativeSort$1(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==n[e])return!0})),getSortCompare$1=function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}};exportTypedArrayMethod$6("sort",(function(e){return void 0!==e&&aCallable$8(e),STABLE_SORT$1?nativeSort$1(this,e):internalSort$1(aTypedArray$5(this),getSortCompare$1(e))}),!STABLE_SORT$1||ACCEPT_INCORRECT_ARGUMENTS);var ArrayBufferViewCore$5=arrayBufferViewCore,toLength$5=toLength$d,toAbsoluteIndex=toAbsoluteIndex$8,typedArraySpeciesConstructor=typedArraySpeciesConstructor$4,aTypedArray$4=ArrayBufferViewCore$5.aTypedArray,exportTypedArrayMethod$5=ArrayBufferViewCore$5.exportTypedArrayMethod;exportTypedArrayMethod$5("subarray",(function(e,t){var r=aTypedArray$4(this),n=r.length,i=toAbsoluteIndex(e,n);return new(typedArraySpeciesConstructor(r))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,toLength$5((void 0===t?n:toAbsoluteIndex(t,n))-i))}));var global$a=global$O,apply$4=functionApply,ArrayBufferViewCore$4=arrayBufferViewCore,fails$r=fails$13,arraySlice$3=arraySlice$f,Int8Array$1=global$a.Int8Array,aTypedArray$3=ArrayBufferViewCore$4.aTypedArray,exportTypedArrayMethod$4=ArrayBufferViewCore$4.exportTypedArrayMethod,$toLocaleString=[].toLocaleString,TO_LOCALE_STRING_BUG=!!Int8Array$1&&fails$r((function(){$toLocaleString.call(new Int8Array$1(1))})),FORCED$c=fails$r((function(){return[1,2].toLocaleString()!=new Int8Array$1([1,2]).toLocaleString()}))||!fails$r((function(){Int8Array$1.prototype.toLocaleString.call([1,2])}));exportTypedArrayMethod$4("toLocaleString",(function(){return apply$4($toLocaleString,TO_LOCALE_STRING_BUG?arraySlice$3(aTypedArray$3(this)):aTypedArray$3(this),arraySlice$3(arguments))}),FORCED$c);var exportTypedArrayMethod$3=arrayBufferViewCore.exportTypedArrayMethod,fails$q=fails$13,global$9=global$O,uncurryThis$i=functionUncurryThis,Uint8Array$1=global$9.Uint8Array,Uint8ArrayPrototype=Uint8Array$1&&Uint8Array$1.prototype||{},arrayToString=[].toString,join3=uncurryThis$i([].join);fails$q((function(){arrayToString.call({})}))&&(arrayToString=function(){return join3(this)});var IS_NOT_ARRAY_METHOD=Uint8ArrayPrototype.toString!=arrayToString;exportTypedArrayMethod$3("toString",arrayToString,IS_NOT_ARRAY_METHOD);var uncurryThis$h=functionUncurryThisClause,defineBuiltIn$4=defineBuiltIn$l,regexpExec$2=regexpExec$3,fails$p=fails$13,wellKnownSymbol$6=wellKnownSymbol$x,createNonEnumerableProperty$1=createNonEnumerableProperty$a,SPECIES=wellKnownSymbol$6("species"),RegExpPrototype$5=RegExp.prototype,fixRegexpWellKnownSymbolLogic=function(e,t,r,n){var i=wellKnownSymbol$6(e),o=!fails$p((function(){var t={};return t[i]=function(){return 7},7!=""[e](t)})),a=o&&!fails$p((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[SPECIES]=function(){return r},r.flags="",r[i]=/./[i]),r.exec=function(){return t=!0,null},r[i](""),!t}));if(!o||!a||r){var s=uncurryThis$h(/./[i]),l=t(i,""[e],(function(e,t,r,n,i){var a=uncurryThis$h(e),l=t.exec;return l===regexpExec$2||l===RegExpPrototype$5.exec?o&&!i?{done:!0,value:s(t,r,n)}:{done:!0,value:a(r,t,n)}:{done:!1}}));defineBuiltIn$4(String.prototype,e,l[0]),defineBuiltIn$4(RegExpPrototype$5,i,l[1])}n&&createNonEnumerableProperty$1(RegExpPrototype$5[i],"sham",!0)},isObject$b=isObject$x,classof$6=classofRaw$2,wellKnownSymbol$5=wellKnownSymbol$x,MATCH$1=wellKnownSymbol$5("match"),isRegexp=function(e){var t;return isObject$b(e)&&(void 0!==(t=e[MATCH$1])?!!t:"RegExp"==classof$6(e))},charAt$2=stringMultibyte.charAt,advanceStringIndex$3=function(e,t,r){return t+(r?charAt$2(e,t).length:1)},call$d=functionCall,anObject$9=anObject$q,isCallable$8=isCallable$A,classof$5=classofRaw$2,regexpExec$1=regexpExec$3,$TypeError$5=TypeError,regexpExecAbstract=function(e,t){var r=e.exec;if(isCallable$8(r)){var n=call$d(r,e,t);return null!==n&&anObject$9(n),n}if("RegExp"===classof$5(e))return call$d(regexpExec$1,e,t);throw $TypeError$5("RegExp#exec called on incompatible receiver")},apply$3=functionApply,call$c=functionCall,uncurryThis$g=functionUncurryThis,fixRegExpWellKnownSymbolLogic$2=fixRegexpWellKnownSymbolLogic,anObject$8=anObject$q,isNullOrUndefined$6=isNullOrUndefined$b,isRegExp$1=isRegexp,requireObjectCoercible$6=requireObjectCoercible$f,speciesConstructor=speciesConstructor$5,advanceStringIndex$2=advanceStringIndex$3,toLength$4=toLength$d,toString$c=toString$p,getMethod$2=getMethod$6,arraySlice$2=arraySliceSimple,callRegExpExec=regexpExecAbstract,regexpExec=regexpExec$3,stickyHelpers=regexpStickyHelpers,fails$o=fails$13,UNSUPPORTED_Y=stickyHelpers.UNSUPPORTED_Y,MAX_UINT32=4294967295,min$3=Math.min,$push=[].push,exec=uncurryThis$g(/./.exec),push$e=uncurryThis$g($push),stringSlice$6=uncurryThis$g("".slice),SPLIT_WORKS_WITH_OVERWRITTEN_EXEC=!fails$o((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));fixRegExpWellKnownSymbolLogic$2("split",(function(e,t,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,r){var n=toString$c(requireObjectCoercible$6(this)),i=void 0===r?MAX_UINT32:r>>>0;if(0===i)return[];if(void 0===e)return[n];if(!isRegExp$1(e))return call$c(t,n,e,i);for(var o,a,s,l=[],c=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),u=0,d=new RegExp(e.source,c+"g");(o=call$c(regexpExec,d,n))&&!((a=d.lastIndex)>u&&(push$e(l,stringSlice$6(n,u,o.index)),o.length>1&&o.index<n.length&&apply$3($push,l,arraySlice$2(o,1)),s=o[0].length,u=a,l.length>=i));)d.lastIndex===o.index&&d.lastIndex++;return u===n.length?!s&&exec(d,"")||push$e(l,""):push$e(l,stringSlice$6(n,u)),l.length>i?arraySlice$2(l,0,i):l}:"0".split(void 0,0).length?function(e,r){return void 0===e&&0===r?[]:call$c(t,this,e,r)}:t,[function(t,r){var i=requireObjectCoercible$6(this),o=isNullOrUndefined$6(t)?void 0:getMethod$2(t,e);return o?call$c(o,t,i,r):call$c(n,toString$c(i),t,r)},function(e,i){var o=anObject$8(this),a=toString$c(e),s=r(n,o,a,i,n!==t);if(s.done)return s.value;var l=speciesConstructor(o,RegExp),c=o.unicode,u=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(UNSUPPORTED_Y?"g":"y"),d=new l(UNSUPPORTED_Y?"^(?:"+o.source+")":o,u),p=void 0===i?MAX_UINT32:i>>>0;if(0===p)return[];if(0===a.length)return null===callRegExpExec(d,a)?[a]:[];for(var y=0,h=0,f=[];h<a.length;){d.lastIndex=UNSUPPORTED_Y?0:h;var $,m=callRegExpExec(d,UNSUPPORTED_Y?stringSlice$6(a,h):a);if(null===m||($=min$3(toLength$4(d.lastIndex+(UNSUPPORTED_Y?h:0)),a.length))===y)h=advanceStringIndex$2(a,h,c);else{if(push$e(f,stringSlice$6(a,y,h)),f.length===p)return f;for(var b=1;b<=m.length-1;b++)if(push$e(f,m[b]),f.length===p)return f;h=y=$}}return push$e(f,stringSlice$6(a,y)),f}]}),!SPLIT_WORKS_WITH_OVERWRITTEN_EXEC,UNSUPPORTED_Y);var PROPER_FUNCTION_NAME$1=functionName.PROPER,fails$n=fails$13,whitespaces$1=whitespaces$6,non="​…᠎",stringTrimForced=function(e){return fails$n((function(){return!!whitespaces$1[e]()||non[e]()!==non||PROPER_FUNCTION_NAME$1&&whitespaces$1[e].name!==e}))},$$_=_export,$trim=stringTrim.trim,forcedStringTrimMethod=stringTrimForced;$$_({target:"String",proto:!0,forced:forcedStringTrimMethod("trim")},{trim:function(){return $trim(this)}});var IntervalTimer=function(){function e(){_classCallCheck$5(this,e),this.timeID=null,this.func=null}return _createClass$5(e,[{key:"repeat",value:function(e,t){this.timeID=1,this.repeatInterval(e,t)}},{key:"repeatInterval",value:function(e,t){var r=this;this.timeID&&(null===this.func&&(this.func=e),this.func===e&&(this.timeID&&clearTimeout(this.timeID),this.timeID=null,this.timeID=_setTimeout((function(){e(),r.repeatInterval(e,t)}),t)))}},{key:"clear",value:function(){clearTimeout(this.timeID),this.timeID=null}}]),e}(),IntervalTimer$1=IntervalTimer,isSupport$1=_isLocalStorageUsable$1();function probeSupport$1(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}function checkIfLocalStorageThrows$1(){var e="_localstorage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(e){return!0}}function _isLocalStorageUsable$1(){return probeSupport$1&&!checkIfLocalStorageThrows$1()}var proxyLocalStorage={length:isSupport$1?localStorage.length:0,clear:function(e){try{for(var t=localStorage.length-1;t>=0;t--){var r=localStorage.key(t);0===_indexOfInstanceProperty(r).call(r,e)&&localStorage.removeItem(r)}}catch(e){}},getItem:function(e){try{return localStorage.getItem(e)}catch(e){return null}},key:function(e){try{return localStorage.key(e)}catch(e){return null}},setItem:function(e,t){try{localStorage.setItem(e,t)}catch(e){}},removeItem:function(e){try{localStorage.removeItem(e)}catch(e){}},isSupport:isSupport$1},proxyLocalStorage$1=proxyLocalStorage,CONTENT_TYPES={VIDEO:"video",AUDIO:"audio"},OP_NAME={APPEND:"appendBuffer",REMOVE:"removeBuffer"},MSE_EVENTS={MSE_ERROR:"mse_error",UPDATE_END:"updateend",MSE_OPEN:"mse_open",MSE_OPEN_DONE:"mse_open_done"},MSE=function(e){_inherits$4(r,EventEmitter$1);var t=_createSuper$4(r);function r(e,n){var i,o,a,s;return _classCallCheck$6(this,r),(s=t.call(this)).mediaSource=new window.MediaSource(e),s.url=_URL.createObjectURL(s.mediaSource),s.queue=[],s._hasDestroyed=!1,s._onSourceOpen=_bindInstanceProperty(i=s._onSourceOpen).call(i,_assertThisInitialized$4(s)),s._onSourceBufferError=_bindInstanceProperty(o=s._onSourceBufferError).call(o,_assertThisInitialized$4(s)),s._onSourceBufferUpdateEnd=_bindInstanceProperty(a=s._onSourceBufferUpdateEnd).call(a,_assertThisInitialized$4(s)),s._mseStart=nowTime$1(),s._appendStart=-1,s.mediaSource.addEventListener("sourceopen",s._onSourceOpen),s.opQueues={},s.sourceBuffers={},s.updateHanders={},s.errorHandlers={},s.logger=n||function(){},s._sourceOpenDonePromise=new ProxyPromise$1,s._mseAppendFlag=!1,s._mseOpenTime=-1,s.mseFullFlag={},s}return _createClass$6(r,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_defineProperty$3({},CONTENT_TYPES.VIDEO,{mimeType:"video/mp4",codec:'video/mp4; codecs="avc1.64001E, mp4a.40.5"'});return this.contentTypes=e,this._sourceOpenDonePromise}},{key:"_onSourceOpen",value:function(){var e=this;this._mseOpenTime=nowTime$1()-this._mseStart,console.log("[mseOpen]==> costtime",this._mseOpenTime),this.mediaSource.removeEventListener("sourceopen",this._onSourceOpen),this.emit(MSE_EVENTS.MSE_OPEN,{costtime:this._mseOpenTime});for(var t=_Object$keys(this.contentTypes),r=0;r<t.length;r++)try{!function(){var n=t[r],i=e.contentTypes[n].codec,o=e.mediaSource.addSourceBuffer(i),a=function(){return e._onSourceBufferError(n)};o.addEventListener("error",a);var s=function(){return e._onSourceBufferUpdateEnd(n)};o.addEventListener("updateend",s),e.updateHanders={},e.sourceBuffers[n]=o,e.opQueues[n]=[],e.updateHanders[n]=s,e.errorHandlers[n]=a}()}catch(e){e.errtype="open_error",this.emit(MSE_EVENTS.MSE_ERROR,e)}this.logger("[debug mse] mse init ready, readyState",this.mediaSource.readyState),this._mseAppendFlag=!0,this.emit(MSE_EVENTS.MSE_OPEN_DONE,{costtime:nowTime$1()-this._mseStart}),this._sourceOpenDonePromise.resolve()}},{key:"ready",get:function(){return this._mseAppendFlag}},{key:"_onSourceBufferError",value:function(e){if(!this._hasDestroyed){this.logger("[debug mse] sourceBuffer error, contentType",e,"readyState",this.mediaSource.readyState);var t=this.opQueues[e][0];this.emit(MSE_EVENTS.MSE_ERROR,{errtype:"append_error",name:t.name,context:t.context})}}},{key:"_onSourceBufferUpdateEnd",value:function(e){if(!this._hasDestroyed){var t=this.opQueues[e][0];t&&(this.emit(MSE_EVENTS.UPDATE_END,{name:t.name,context:t.context,costtime:nowTime$1()-this._appendStart}),this.pop(e))}}},{key:"state",get:function(){return this.mediaSource.readyState}},{key:"duration",get:function(){return this.mediaSource.duration}},{key:"setDuration",value:function(e){var t=this;this.mediaSource.duration>e||this.enqueueBlockOp((function(){t.ended()?t.logger("[debug mse] setDuration ended"):(t.logger("[debug mse] setDuration"),t.mediaSource.duration=e)}),"setDuration")}},{key:"appendBuffer",value:function(e,t,r){var n=this;return this.enqueueOp(e,(function(){return n._append(e,t,r)}),OP_NAME.APPEND,r)}},{key:"_append",value:function(e,t,r){this._appendStart=nowTime$1(),this.logger("[real appendBuffer], context,",r),this.sourceBuffers[e].appendBuffer(t)}},{key:"enqueueOp",value:function(e,t,r,n){var i=this;if(!this._hasDestroyed){var o={handler:t,context:n,name:r};return this._mseAppendFlag?this._enQueue(e,o):this._sourceOpenDonePromise.then((function(){i._hasDestroyed||i._enQueue(e,o)})),o.p}}},{key:"_enQueue",value:function(e,t){var r;(this.opQueues[e]||(this.opQueues[e]=[]),this.mseFullFlag[e]&&t.name===OP_NAME.REMOVE)?(_spliceInstanceProperty(r=this.opQueues[e]).call(r,0,0,t),this.mseFullFlag[e]=!1,this.handleOp(e)):(this.opQueues[e].push(t),1===this.opQueues[e].length&&this.handleOp(e))}},{key:"enqueueBlockOp",value:function(e,t){var r=this;this._hasDestroyed||this._sourceOpenDonePromise.then((function(){if(!r._hasDestroyed){for(var n=[],i=_Object$keys(r.contentTypes),o=function(e){var o=i[e],a=new ProxyPromise$1,s={handler:function(){return a.resolve()},p:a,name:t};r.opQueues[o]||(r.opQueues[o]=[]),r.opQueues[o].push(s),n.push(a),1===r.opQueues[o].length&&s.handler()},a=0;a<i.length;a++)o(a);_Promise.all(n).then((function(){try{e()}catch(e){console.log(e)}finally{for(var t=0;t<i.length;t++){var n=i[t];r.pop(n)}}})).catch((function(e){console.log("waiting cath",e)}))}}))}},{key:"isFull",value:function(e){return e?this.mseFullFlag[e]:this.mseFullFlag[CONTENT_TYPES.VIDEO]}},{key:"handleOp",value:function(e){if(!this._hasDestroyed){var t=this.opQueues[e][0];if(t&&!this.mseFullFlag[e])try{t.handler()}catch(n){var r;n&&_indexOfInstanceProperty(r=n.message).call(r,"SourceBuffer is full")>=0?(this.mseFullFlag[e]=!0,this.logger("[MSE error], context,",t.context,",name,",t.name,",err,SourceBuffer is full")):this.pop(e),this.emit(MSE_EVENTS.MSE_ERROR,{errtype:"append_error",context:t.context,errMsg:n?n.message:null})}}}},{key:"pop",value:function(e){this._hasDestroyed||(this.opQueues[e].shift(),this.handleOp(e))}},{key:"clearOpqueues",value:function(e){var t,r,n=[];if(_mapInstanceProperty(t=this.opQueues[e]).call(t,(function(e){e.context.isinit&&n.push(e)})),this.opQueues&&this.opQueues[e]&&this.opQueues[e].length>1)if(this.opQueues[e][0].name===OP_NAME.APPEND||this.opQueues[e][0].name===OP_NAME.REMOVE){var i;this.logger("[debug mse] clearOpqueues, left:",1,", len,",this.opQueues[e].length),this.opQueues[e]=_sliceInstanceProperty(i=this.opQueues[e]).call(i,0,1)}else{var o,a=Math.min(this.opQueues[e].length,_Object$keys(this.contentTypes).length);this.logger("[debug mse] clearOpqueues, left:",a,", len,",this.opQueues[e].length),this.opQueues[e]=_sliceInstanceProperty(o=this.opQueues[e]).call(o,0,a)}n.length>0&&(r=this.opQueues[e]).push.apply(r,n)}},{key:"removeBuffer",value:function(e,t,r,n){var i=this;return this.enqueueOp(e,(function(){return i._remove(e,t,r,n)}),OP_NAME.REMOVE,n)}},{key:"_remove",value:function(e,t,r,n){r<=t?this._onSourceBufferUpdateEnd(e):(this.logger("[debug mse],real removeBuffer, context,",n),this._appendStart=nowTime$1(),this.sourceBuffers[e].remove(t,r))}},{key:"endOfStream",value:function(){var e=this;this._hasDestroyed||this.ended()||this.enqueueBlockOp((function(){e._hasDestroyed||e.ended()||(e.logger("[debug mse] endOfStream"),e.mediaSource.endOfStream())}),"endOfStream")}},{key:"ended",value:function(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}},{key:"isMediaSourceOpen",value:function(){return!!this.mediaSource&&"open"===this.mediaSource.readyState}},{key:"abort",value:function(e){var t=this;return this.isMediaSourceOpen()?this.enqueueOp(e,(function(){t.sourceBuffers[e].abort(),t._onSourceBufferUpdateEnd(e)}),"abort"):_Promise.resolve()}},{key:"reuse",value:function(e,t){for(var r=_Object$keys(this.contentTypes),n=0;n<r.length;n++){var i=r[n];this.removeBuffer(i,e,t,{start:e,end:t})}}},{key:"_forceAbort",value:function(){try{for(var e=_Object$keys(this.contentTypes),t=0;t<e.length;t++){var r=e[t];this.sourceBuffers[r].abort()}}catch(e){console.log("forceAbort error")}}},{key:"destroy",value:function(){if(this.logger("[debug mse] destroy execute"),!this._hasDestroyed){this._forceAbort(),this._hasDestroyed=!0,_URL.revokeObjectURL(this.url),this.mediaSource&&(this.mediaSource.removeEventListener("sourceclose",this._onMediaSourceClose),this.mediaSource.removeEventListener("sourceopen",this._onSourceOpen));for(var e=_Object$keys(this.contentTypes),t=0;t<e.length;t++){var r=e[t],n=this.sourceBuffers[r];if(n){var i=this.errorHandlers[r];n.removeEventListener("error",i);var o=this.updateHanders[r];n.removeEventListener("updateend",o)}}this.opQueues={},this.sourceBuffers={}}}},{key:"buffered",value:function(e){return this.sourceBuffers[e]&&this.sourceBuffers[e].buffered}},{key:"sourceBuffer",value:function(e){return this.sourceBuffers[e]}},{key:"removeSourceBuffer",value:function(e){var t=this.sourceBuffer(e);if(t){this.mediaSource.removeSourceBuffer(t);var r=this.errorHandlers[e];t.removeEventListener("error",r);var n=this.updateHanders[e];t.removeEventListener("updateend",n),delete this.errorHandlers[e],delete this.sourceBuffers[e],delete this.updateHanders[e]}}},{key:"setTimeoffset",value:function(e,t){var r=this;return this.enqueueOp(e,(function(){t<0&&(t+=.001),r.sourceBuffers[e].timestampOffset=t,r._onSourceBufferUpdateEnd(e)}),"setTimeoffset")}}],[{key:"isSupported",value:function(e){return window.MediaSource&&window.MediaSource.isTypeSupported(e)}}]),r}(),nowTime$1=function(){try{return _parseInt$1(performance.now(),10)}catch(e){return(new Date).getTime()}},internalMetadata$1={exports:{}},fails$m=fails$1t,arrayBufferNonExtensible$1=fails$m((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})),fails$l=fails$1t,isObject$a=isObject$M,classof$4=classofRaw$5,ARRAY_BUFFER_NON_EXTENSIBLE$1=arrayBufferNonExtensible$1,$isExtensible$1=Object.isExtensible,FAILS_ON_PRIMITIVES$3=fails$l((function(){$isExtensible$1(1)})),objectIsExtensible$1=FAILS_ON_PRIMITIVES$3||ARRAY_BUFFER_NON_EXTENSIBLE$1?function(e){return!!isObject$a(e)&&((!ARRAY_BUFFER_NON_EXTENSIBLE$1||"ArrayBuffer"!=classof$4(e))&&(!$isExtensible$1||$isExtensible$1(e)))}:$isExtensible$1,fails$k=fails$1t,freezing$1=!fails$k((function(){return Object.isExtensible(Object.preventExtensions({}))})),$$Z=_export$1,uncurryThis$f=functionUncurryThis$1,hiddenKeys$2=hiddenKeys$d,isObject$9=isObject$M,hasOwn$a=hasOwnProperty_1$1,defineProperty$6=objectDefineProperty$1.f,getOwnPropertyNamesModule$2=objectGetOwnPropertyNames$1,getOwnPropertyNamesExternalModule$1=objectGetOwnPropertyNamesExternal$1,isExtensible$1=objectIsExtensible$1,uid$2=uid$a,FREEZING$1=freezing$1,REQUIRED$1=!1,METADATA$1=uid$2("meta"),id$1=0,setMetadata$1=function(e){defineProperty$6(e,METADATA$1,{value:{objectID:"O"+id$1++,weakData:{}}})},fastKey$3=function(e,t){if(!isObject$9(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!hasOwn$a(e,METADATA$1)){if(!isExtensible$1(e))return"F";if(!t)return"E";setMetadata$1(e)}return e[METADATA$1].objectID},getWeakData$1=function(e,t){if(!hasOwn$a(e,METADATA$1)){if(!isExtensible$1(e))return!0;if(!t)return!1;setMetadata$1(e)}return e[METADATA$1].weakData},onFreeze$1=function(e){return FREEZING$1&&REQUIRED$1&&isExtensible$1(e)&&!hasOwn$a(e,METADATA$1)&&setMetadata$1(e),e},enable$1=function(){meta$1.enable=function(){},REQUIRED$1=!0;var e=getOwnPropertyNamesModule$2.f,t=uncurryThis$f([].splice),r={};r[METADATA$1]=1,e(r).length&&(getOwnPropertyNamesModule$2.f=function(r){for(var n=e(r),i=0,o=n.length;i<o;i++)if(n[i]===METADATA$1){t(n,i,1);break}return n},$$Z({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:getOwnPropertyNamesExternalModule$1.f}))},meta$1=internalMetadata$1.exports={enable:enable$1,fastKey:fastKey$3,getWeakData:getWeakData$1,onFreeze:onFreeze$1};hiddenKeys$2[METADATA$1]=!0;var internalMetadataExports$1=internalMetadata$1.exports,$$Y=_export$1,global$8=global$19,InternalMetadataModule$1=internalMetadataExports$1,fails$j=fails$1t,createNonEnumerableProperty=createNonEnumerableProperty$j,iterate$h=iterate$q,anInstance$3=anInstance$d,isCallable$7=isCallable$W,isObject$8=isObject$M,setToStringTag$2=setToStringTag$i,defineProperty$5=objectDefineProperty$1.f,forEach$1=arrayIteration$1.forEach,DESCRIPTORS$9=descriptors$1,InternalStateModule$3=internalState$1,setInternalState$3=InternalStateModule$3.set,internalStateGetterFor$2=InternalStateModule$3.getterFor,collection$3=function(e,t,r){var n,i=-1!==e.indexOf("Map"),o=-1!==e.indexOf("Weak"),a=i?"set":"add",s=global$8[e],l=s&&s.prototype,c={};if(DESCRIPTORS$9&&isCallable$7(s)&&(o||l.forEach&&!fails$j((function(){(new s).entries().next()})))){var u=(n=t((function(t,r){setInternalState$3(anInstance$3(t,u),{type:e,collection:new s}),null!=r&&iterate$h(r,t[a],{that:t,AS_ENTRIES:i})}))).prototype,d=internalStateGetterFor$2(e);forEach$1(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(e){var t="add"==e||"set"==e;!(e in l)||o&&"clear"==e||createNonEnumerableProperty(u,e,(function(r,n){var i=d(this).collection;if(!t&&o&&!isObject$8(r))return"get"==e&&void 0;var a=i[e](0===r?0:r,n);return t?this:a}))})),o||defineProperty$5(u,"size",{configurable:!0,get:function(){return d(this).collection.size}})}else n=r.getConstructor(t,e,i,a),InternalMetadataModule$1.enable();return setToStringTag$2(n,e,!1,!0),c[e]=n,$$Y({global:!0,forced:!0},c),o||r.setStrong(n,e,i),n},create$3=objectCreate$1,defineBuiltInAccessor$1=defineBuiltInAccessor$8,defineBuiltIns$1=defineBuiltIns$6,bind$b=functionBindContext$1,anInstance$2=anInstance$d,isNullOrUndefined$5=isNullOrUndefined$g,iterate$g=iterate$q,defineIterator$1=iteratorDefine$1,createIterResultObject$1=createIterResultObject$7,setSpecies$2=setSpecies$7,DESCRIPTORS$8=descriptors$1,fastKey$2=internalMetadataExports$1.fastKey,InternalStateModule$2=internalState$1,setInternalState$2=InternalStateModule$2.set,internalStateGetterFor$1=InternalStateModule$2.getterFor,collectionStrong$3={getConstructor:function(e,t,r,n){var i=e((function(e,i){anInstance$2(e,o),setInternalState$2(e,{type:t,index:create$3(null),first:void 0,last:void 0,size:0}),DESCRIPTORS$8||(e.size=0),isNullOrUndefined$5(i)||iterate$g(i,e[n],{that:e,AS_ENTRIES:r})})),o=i.prototype,a=internalStateGetterFor$1(t),s=function(e,t,r){var n,i,o=a(e),s=l(e,t);return s?s.value=r:(o.last=s={index:i=fastKey$2(t,!0),key:t,value:r,previous:n=o.last,next:void 0,removed:!1},o.first||(o.first=s),n&&(n.next=s),DESCRIPTORS$8?o.size++:e.size++,"F"!==i&&(o.index[i]=s)),e},l=function(e,t){var r,n=a(e),i=fastKey$2(t);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key==t)return r};return defineBuiltIns$1(o,{clear:function(){for(var e=a(this),t=e.index,r=e.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;e.first=e.last=void 0,DESCRIPTORS$8?e.size=0:this.size=0},delete:function(e){var t=this,r=a(t),n=l(t,e);if(n){var i=n.next,o=n.previous;delete r.index[n.index],n.removed=!0,o&&(o.next=i),i&&(i.previous=o),r.first==n&&(r.first=i),r.last==n&&(r.last=o),DESCRIPTORS$8?r.size--:t.size--}return!!n},forEach:function(e){for(var t,r=a(this),n=bind$b(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:r.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!l(this,e)}}),defineBuiltIns$1(o,r?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return s(this,0===e?0:e,t)}}:{add:function(e){return s(this,e=0===e?0:e,e)}}),DESCRIPTORS$8&&defineBuiltInAccessor$1(o,"size",{configurable:!0,get:function(){return a(this).size}}),i},setStrong:function(e,t,r){var n=t+" Iterator",i=internalStateGetterFor$1(t),o=internalStateGetterFor$1(n);defineIterator$1(e,t,(function(e,t){setInternalState$2(this,{type:n,target:e,state:i(e),kind:t,last:void 0})}),(function(){for(var e=o(this),t=e.kind,r=e.last;r&&r.removed;)r=r.previous;return e.target&&(e.last=r=r?r.next:e.state.first)?createIterResultObject$1("keys"==t?r.key:"values"==t?r.value:[r.key,r.value],!1):(e.target=void 0,createIterResultObject$1(void 0,!0))}),r?"entries":"values",!r,!0),setSpecies$2(t)}},collection$2=collection$3,collectionStrong$2=collectionStrong$3;collection$2("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),collectionStrong$2);var path$7=path$A,map$6=path$7.Map,parent$C=map$6,map$5=parent$C,parent$B=map$5,map$4=parent$B,bind$a=functionBindContext$1,call$b=functionCall$1,aCallable$7=aCallable$v,aConstructor$1=aConstructor$7,isNullOrUndefined$4=isNullOrUndefined$g,iterate$f=iterate$q,push$d=[].push,collectionFrom=function(e){var t,r,n,i,o=arguments.length,a=o>1?arguments[1]:void 0;return aConstructor$1(this),(t=void 0!==a)&&aCallable$7(a),isNullOrUndefined$4(e)?new this:(r=[],t?(n=0,i=bind$a(a,o>2?arguments[2]:void 0),iterate$f(e,(function(e){call$b(push$d,r,i(e,n++))}))):iterate$f(e,push$d,{that:r}),new this(r))},$$X=_export$1,from$1=collectionFrom;$$X({target:"Map",stat:!0,forced:!0},{from:from$1});var arraySlice$1=arraySlice$l,collectionOf=function(){return new this(arraySlice$1(arguments))},$$W=_export$1,of2=collectionOf;$$W({target:"Map",stat:!0,forced:!0},{of:of2});var tryToString$1=tryToString$f,aMap$e=function(e){if("object"==typeof e&&"size"in e&&"has"in e&&"get"in e&&"set"in e&&"delete"in e&&"entries"in e)return e;throw TypeError(tryToString$1(e)+" is not a map")},caller$1=function(e,t){return 1==t?function(t,r){return t[e](r)}:function(t,r,n){return t[e](r,n)}},getBuiltIn$3=getBuiltIn$v,caller=caller$1,Map$5=getBuiltIn$3("Map"),mapHelpers={Map:Map$5,set:caller("set",2),get:caller("get",1),has:caller("has",1),remove:caller("delete",1),proto:Map$5.prototype},$$V=_export$1,aMap$d=aMap$e,remove=mapHelpers.remove;$$V({target:"Map",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var e,t=aMap$d(this),r=!0,n=0,i=arguments.length;n<i;n++)e=remove(t,arguments[n]),r=r&&e;return!!r}});var $$U=_export$1,aMap$c=aMap$e,MapHelpers$4=mapHelpers,get$1=MapHelpers$4.get,has$1=MapHelpers$4.has,set$5=MapHelpers$4.set;$$U({target:"Map",proto:!0,real:!0,forced:!0},{emplace:function(e,t){var r,n,i=aMap$c(this);return has$1(i,e)?(r=get$1(i,e),"update"in t&&(r=t.update(r,e,i),set$5(i,e,r)),r):(n=t.insert(e,i),set$5(i,e,n),n)}});var call$a=functionCall$1,iterateSimple$1=function(e,t,r){for(var n,i,o=r||e.next;!(n=call$a(o,e)).done;)if(void 0!==(i=t(n.value)))return i},iterateSimple=iterateSimple$1,mapIterate=function(e,t,r){return r?iterateSimple(e.entries(),(function(e){return t(e[1],e[0])})):e.forEach(t)},$$T=_export$1,bind$9=functionBindContext$1,aMap$b=aMap$e,iterate$e=mapIterate;$$T({target:"Map",proto:!0,real:!0,forced:!0},{every:function(e){var t=aMap$b(this),r=bind$9(e,arguments.length>1?arguments[1]:void 0);return!1!==iterate$e(t,(function(e,n){if(!r(e,n,t))return!1}),!0)}});var $$S=_export$1,bind$8=functionBindContext$1,aMap$a=aMap$e,MapHelpers$3=mapHelpers,iterate$d=mapIterate,Map$4=MapHelpers$3.Map,set$4=MapHelpers$3.set;$$S({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(e){var t=aMap$a(this),r=bind$8(e,arguments.length>1?arguments[1]:void 0),n=new Map$4;return iterate$d(t,(function(e,i){r(e,i,t)&&set$4(n,i,e)})),n}});var $$R=_export$1,bind$7=functionBindContext$1,aMap$9=aMap$e,iterate$c=mapIterate;$$R({target:"Map",proto:!0,real:!0,forced:!0},{find:function(e){var t=aMap$9(this),r=bind$7(e,arguments.length>1?arguments[1]:void 0),n=iterate$c(t,(function(e,n){if(r(e,n,t))return{value:e}}),!0);return n&&n.value}});var $$Q=_export$1,bind$6=functionBindContext$1,aMap$8=aMap$e,iterate$b=mapIterate;$$Q({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(e){var t=aMap$8(this),r=bind$6(e,arguments.length>1?arguments[1]:void 0),n=iterate$b(t,(function(e,n){if(r(e,n,t))return{key:n}}),!0);return n&&n.key}});var $$P=_export$1,call$9=functionCall$1,uncurryThis$e=functionUncurryThis$1,isCallable$6=isCallable$W,aCallable$6=aCallable$v,iterate$a=iterate$q,Map$3=mapHelpers.Map,push$c=uncurryThis$e([].push);$$P({target:"Map",stat:!0,forced:!0},{groupBy:function(e,t){var r=new(isCallable$6(this)?this:Map$3);aCallable$6(t);var n=aCallable$6(r.has),i=aCallable$6(r.get),o=aCallable$6(r.set);return iterate$a(e,(function(e){var a=t(e);call$9(n,r,a)?push$c(call$9(i,r,a),e):call$9(o,r,a,[e])})),r}});var sameValueZero$1=function(e,t){return e===t||e!=e&&t!=t},$$O=_export$1,sameValueZero=sameValueZero$1,aMap$7=aMap$e,iterate$9=mapIterate;$$O({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(e){return!0===iterate$9(aMap$7(this),(function(t){if(sameValueZero(t,e))return!0}),!0)}});var $$N=_export$1,call$8=functionCall$1,iterate$8=iterate$q,isCallable$5=isCallable$W,aCallable$5=aCallable$v,Map$2=mapHelpers.Map;$$N({target:"Map",stat:!0,forced:!0},{keyBy:function(e,t){var r=new(isCallable$5(this)?this:Map$2);aCallable$5(t);var n=aCallable$5(r.set);return iterate$8(e,(function(e){call$8(n,r,t(e),e)})),r}});var $$M=_export$1,aMap$6=aMap$e,iterate$7=mapIterate;$$M({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(e){var t=iterate$7(aMap$6(this),(function(t,r){if(t===e)return{key:r}}),!0);return t&&t.key}});var $$L=_export$1,bind$5=functionBindContext$1,aMap$5=aMap$e,MapHelpers$2=mapHelpers,iterate$6=mapIterate,Map$1=MapHelpers$2.Map,set$3=MapHelpers$2.set;$$L({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(e){var t=aMap$5(this),r=bind$5(e,arguments.length>1?arguments[1]:void 0),n=new Map$1;return iterate$6(t,(function(e,i){set$3(n,r(e,i,t),e)})),n}});var $$K=_export$1,bind$4=functionBindContext$1,aMap$4=aMap$e,MapHelpers$1=mapHelpers,iterate$5=mapIterate,Map=MapHelpers$1.Map,set$2=MapHelpers$1.set;$$K({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(e){var t=aMap$4(this),r=bind$4(e,arguments.length>1?arguments[1]:void 0),n=new Map;return iterate$5(t,(function(e,i){set$2(n,i,r(e,i,t))})),n}});var $$J=_export$1,aMap$3=aMap$e,iterate$4=iterate$q,set$1=mapHelpers.set;$$J({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(e){for(var t=aMap$3(this),r=arguments.length,n=0;n<r;)iterate$4(arguments[n++],(function(e,r){set$1(t,e,r)}),{AS_ENTRIES:!0});return t}});var $$I=_export$1,aCallable$4=aCallable$v,aMap$2=aMap$e,iterate$3=mapIterate,$TypeError$4=TypeError;$$I({target:"Map",proto:!0,real:!0,forced:!0},{reduce:function(e){var t=aMap$2(this),r=arguments.length<2,n=r?void 0:arguments[1];if(aCallable$4(e),iterate$3(t,(function(i,o){r?(r=!1,n=i):n=e(n,i,o,t)})),r)throw $TypeError$4("Reduce of empty map with no initial value");return n}});var $$H=_export$1,bind$3=functionBindContext$1,aMap$1=aMap$e,iterate$2=mapIterate;$$H({target:"Map",proto:!0,real:!0,forced:!0},{some:function(e){var t=aMap$1(this),r=bind$3(e,arguments.length>1?arguments[1]:void 0);return!0===iterate$2(t,(function(e,n){if(r(e,n,t))return!0}),!0)}});var $$G=_export$1,aCallable$3=aCallable$v,aMap=aMap$e,MapHelpers=mapHelpers,$TypeError$3=TypeError,get3=MapHelpers.get,has3=MapHelpers.has,set4=MapHelpers.set;$$G({target:"Map",proto:!0,real:!0,forced:!0},{update:function(e,t){var r=aMap(this),n=arguments.length;aCallable$3(t);var i=has3(r,e);if(!i&&n<3)throw $TypeError$3("Updating absent value");var o=i?get3(r,e):aCallable$3(n>2?arguments[2]:void 0)(e,r);return set4(r,e,t(o,e,r)),r}});var call$7=functionCall$1,aCallable$2=aCallable$v,isCallable$4=isCallable$W,anObject$7=anObject$E,$TypeError$2=TypeError,mapUpsert=function(e,t){var r,n=anObject$7(this),i=aCallable$2(n.get),o=aCallable$2(n.has),a=aCallable$2(n.set),s=arguments.length>2?arguments[2]:void 0;if(!isCallable$4(t)&&!isCallable$4(s))throw $TypeError$2("At least one callback required");return call$7(o,n,e)?(r=call$7(i,n,e),isCallable$4(t)&&(r=t(r),call$7(a,n,e,r))):isCallable$4(s)&&(r=s(),call$7(a,n,e,r)),r},$$F=_export$1,upsert$1=mapUpsert;$$F({target:"Map",proto:!0,real:!0,forced:!0},{upsert:upsert$1});var $$E=_export$1,upsert2=mapUpsert;$$E({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:upsert2});var parent$A=map$4,map$3=parent$A,map$2=map$3,map$1=map$2,_Map=getDefaultExportFromCjs(map$1),ArrayBufferViewCore$3=arrayBufferViewCore,lengthOfArrayLike$5=lengthOfArrayLike$m,toIntegerOrInfinity$4=toIntegerOrInfinity$e,aTypedArray$2=ArrayBufferViewCore$3.aTypedArray,exportTypedArrayMethod$2=ArrayBufferViewCore$3.exportTypedArrayMethod;exportTypedArrayMethod$2("at",(function(e){var t=aTypedArray$2(this),r=lengthOfArrayLike$5(t),n=toIntegerOrInfinity$4(e),i=n>=0?n:r+n;return i<0||i>=r?void 0:t[i]}));var bind$2=functionBindContext,IndexedObject$1=indexedObject,toObject$6=toObject$k,lengthOfArrayLike$4=lengthOfArrayLike$m,createMethod$4=function(e){var t=1==e;return function(r,n,i){for(var o,a=toObject$6(r),s=IndexedObject$1(a),l=bind$2(n,i),c=lengthOfArrayLike$4(s);c-- >0;)if(l(o=s[c],c,a))switch(e){case 0:return o;case 1:return c}return t?-1:void 0}},arrayIterationFromLast={findLast:createMethod$4(0),findLastIndex:createMethod$4(1)},ArrayBufferViewCore$2=arrayBufferViewCore,$findLast=arrayIterationFromLast.findLast,aTypedArray$1=ArrayBufferViewCore$2.aTypedArray,exportTypedArrayMethod$1=ArrayBufferViewCore$2.exportTypedArrayMethod;exportTypedArrayMethod$1("findLast",(function(e){return $findLast(aTypedArray$1(this),e,arguments.length>1?arguments[1]:void 0)}));var ArrayBufferViewCore$1=arrayBufferViewCore,$findLastIndex=arrayIterationFromLast.findLastIndex,aTypedArray=ArrayBufferViewCore$1.aTypedArray,exportTypedArrayMethod=ArrayBufferViewCore$1.exportTypedArrayMethod;exportTypedArrayMethod("findLastIndex",(function(e){return $findLastIndex(aTypedArray(this),e,arguments.length>1?arguments[1]:void 0)}));var internalMetadata={exports:{}},objectGetOwnPropertyNamesExternal={},classof$3=classofRaw$2,toIndexedObject$5=toIndexedObject$f,$getOwnPropertyNames$1=objectGetOwnPropertyNames.f,arraySlice=arraySliceSimple,windowNames="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],getWindowNames=function(e){try{return $getOwnPropertyNames$1(e)}catch(e){return arraySlice(windowNames)}};objectGetOwnPropertyNamesExternal.f=function(e){return windowNames&&"Window"==classof$3(e)?getWindowNames(e):$getOwnPropertyNames$1(toIndexedObject$5(e))};var fails$i=fails$13,arrayBufferNonExtensible=fails$i((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})),fails$h=fails$13,isObject$7=isObject$x,classof$2=classofRaw$2,ARRAY_BUFFER_NON_EXTENSIBLE=arrayBufferNonExtensible,$isExtensible=Object.isExtensible,FAILS_ON_PRIMITIVES$2=fails$h((function(){$isExtensible(1)})),objectIsExtensible=FAILS_ON_PRIMITIVES$2||ARRAY_BUFFER_NON_EXTENSIBLE?function(e){return!!isObject$7(e)&&((!ARRAY_BUFFER_NON_EXTENSIBLE||"ArrayBuffer"!=classof$2(e))&&(!$isExtensible||$isExtensible(e)))}:$isExtensible,fails$g=fails$13,freezing=!fails$g((function(){return Object.isExtensible(Object.preventExtensions({}))})),$$D=_export,uncurryThis$d=functionUncurryThis,hiddenKeys$1=hiddenKeys$7,isObject$6=isObject$x,hasOwn$9=hasOwnProperty_1,defineProperty$4=objectDefineProperty.f,getOwnPropertyNamesModule$1=objectGetOwnPropertyNames,getOwnPropertyNamesExternalModule=objectGetOwnPropertyNamesExternal,isExtensible3=objectIsExtensible,uid$1=uid$6,FREEZING=freezing,REQUIRED=!1,METADATA=uid$1("meta"),id=0,setMetadata=function(e){defineProperty$4(e,METADATA,{value:{objectID:"O"+id++,weakData:{}}})},fastKey$1=function(e,t){if(!isObject$6(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!hasOwn$9(e,METADATA)){if(!isExtensible3(e))return"F";if(!t)return"E";setMetadata(e)}return e[METADATA].objectID},getWeakData=function(e,t){if(!hasOwn$9(e,METADATA)){if(!isExtensible3(e))return!0;if(!t)return!1;setMetadata(e)}return e[METADATA].weakData},onFreeze=function(e){return FREEZING&&REQUIRED&&isExtensible3(e)&&!hasOwn$9(e,METADATA)&&setMetadata(e),e},enable=function(){meta.enable=function(){},REQUIRED=!0;var e=getOwnPropertyNamesModule$1.f,t=uncurryThis$d([].splice),r={};r[METADATA]=1,e(r).length&&(getOwnPropertyNamesModule$1.f=function(r){for(var n=e(r),i=0,o=n.length;i<o;i++)if(n[i]===METADATA){t(n,i,1);break}return n},$$D({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:getOwnPropertyNamesExternalModule.f}))},meta=internalMetadata.exports={enable:enable,fastKey:fastKey$1,getWeakData:getWeakData,onFreeze:onFreeze};hiddenKeys$1[METADATA]=!0;var internalMetadataExports=internalMetadata.exports,$$C=_export,global$7=global$O,uncurryThis$c=functionUncurryThis,isForced=isForced_1,defineBuiltIn$3=defineBuiltIn$l,InternalMetadataModule=internalMetadataExports,iterate$1=iterate$k,anInstance$1=anInstance$b,isCallable$3=isCallable$A,isNullOrUndefined$3=isNullOrUndefined$b,isObject$5=isObject$x,fails$f=fails$13,checkCorrectnessOfIteration$1=checkCorrectnessOfIteration$4,setToStringTag$1=setToStringTag$b,inheritIfRequired=inheritIfRequired$3,collection$1=function(e,t,r){var n=-1!==e.indexOf("Map"),i=-1!==e.indexOf("Weak"),o=n?"set":"add",a=global$7[e],s=a&&a.prototype,l=a,c={},u=function(e){var t=uncurryThis$c(s[e]);defineBuiltIn$3(s,e,"add"==e?function(e){return t(this,0===e?0:e),this}:"delete"==e?function(e){return!(i&&!isObject$5(e))&&t(this,0===e?0:e)}:"get"==e?function(e){return i&&!isObject$5(e)?void 0:t(this,0===e?0:e)}:"has"==e?function(e){return!(i&&!isObject$5(e))&&t(this,0===e?0:e)}:function(e,r){return t(this,0===e?0:e,r),this})};if(isForced(e,!isCallable$3(a)||!(i||s.forEach&&!fails$f((function(){(new a).entries().next()})))))l=r.getConstructor(t,e,n,o),InternalMetadataModule.enable();else if(isForced(e,!0)){var d=new l,p=d[o](i?{}:-0,1)!=d,y=fails$f((function(){d.has(1)})),h=checkCorrectnessOfIteration$1((function(e){new a(e)})),f=!i&&fails$f((function(){for(var e=new a,t=5;t--;)e[o](t,t);return!e.has(-0)}));h||((l=t((function(e,t){anInstance$1(e,s);var r=inheritIfRequired(new a,e,l);return isNullOrUndefined$3(t)||iterate$1(t,r[o],{that:r,AS_ENTRIES:n}),r}))).prototype=s,s.constructor=l),(y||f)&&(u("delete"),u("has"),n&&u("get")),(f||p)&&u(o),i&&s.clear&&delete s.clear}return c[e]=l,$$C({global:!0,constructor:!0,forced:l!=a},c),setToStringTag$1(l,e),i||r.setStrong(l,e,n),l},defineProperty$3=objectDefineProperty.f,create$2=objectCreate,defineBuiltIns=defineBuiltIns$4,bind$1=functionBindContext,anInstance=anInstance$b,isNullOrUndefined$2=isNullOrUndefined$b,iterate=iterate$k,defineIterator=iteratorDefine,createIterResultObject=createIterResultObject$4,setSpecies$1=setSpecies$5,DESCRIPTORS$7=descriptors,fastKey=internalMetadataExports.fastKey,InternalStateModule$1=internalState,setInternalState$1=InternalStateModule$1.set,internalStateGetterFor=InternalStateModule$1.getterFor,collectionStrong$1={getConstructor:function(e,t,r,n){var i=e((function(e,i){anInstance(e,o),setInternalState$1(e,{type:t,index:create$2(null),first:void 0,last:void 0,size:0}),DESCRIPTORS$7||(e.size=0),isNullOrUndefined$2(i)||iterate(i,e[n],{that:e,AS_ENTRIES:r})})),o=i.prototype,a=internalStateGetterFor(t),s=function(e,t,r){var n,i,o=a(e),s=l(e,t);return s?s.value=r:(o.last=s={index:i=fastKey(t,!0),key:t,value:r,previous:n=o.last,next:void 0,removed:!1},o.first||(o.first=s),n&&(n.next=s),DESCRIPTORS$7?o.size++:e.size++,"F"!==i&&(o.index[i]=s)),e},l=function(e,t){var r,n=a(e),i=fastKey(t);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key==t)return r};return defineBuiltIns(o,{clear:function(){for(var e=a(this),t=e.index,r=e.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;e.first=e.last=void 0,DESCRIPTORS$7?e.size=0:this.size=0},delete:function(e){var t=this,r=a(t),n=l(t,e);if(n){var i=n.next,o=n.previous;delete r.index[n.index],n.removed=!0,o&&(o.next=i),i&&(i.previous=o),r.first==n&&(r.first=i),r.last==n&&(r.last=o),DESCRIPTORS$7?r.size--:t.size--}return!!n},forEach:function(e){for(var t,r=a(this),n=bind$1(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:r.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!l(this,e)}}),defineBuiltIns(o,r?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return s(this,0===e?0:e,t)}}:{add:function(e){return s(this,e=0===e?0:e,e)}}),DESCRIPTORS$7&&defineProperty$3(o,"size",{get:function(){return a(this).size}}),i},setStrong:function(e,t,r){var n=t+" Iterator",i=internalStateGetterFor(t),o=internalStateGetterFor(n);defineIterator(e,t,(function(e,t){setInternalState$1(this,{type:n,target:e,state:i(e),kind:t,last:void 0})}),(function(){for(var e=o(this),t=e.kind,r=e.last;r&&r.removed;)r=r.previous;return e.target&&(e.last=r=r?r.next:e.state.first)?createIterResultObject("keys"==t?r.key:"values"==t?r.value:[r.key,r.value],!1):(e.target=void 0,createIterResultObject(void 0,!0))}),r?"entries":"values",!r,!0),setSpecies$1(t)}},collection=collection$1,collectionStrong=collectionStrong$1;collection("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),collectionStrong);var $$B=_export,$find=arrayIteration.find,addToUnscopables$1=addToUnscopables$3,FIND="find",SKIPS_HOLES=!0;FIND in[]&&Array(1)[FIND]((function(){SKIPS_HOLES=!1})),$$B({target:"Array",proto:!0,forced:SKIPS_HOLES},{find:function(e){return $find(this,e,arguments.length>1?arguments[1]:void 0)}}),addToUnscopables$1(FIND);var getIterator$5=getIterator$e,getIterator_1=getIterator$5,parent$z=getIterator_1,getIterator$4=parent$z,parent$y=getIterator$4,getIterator$3=parent$y,parent$x=getIterator$3,getIterator$2=parent$x,getIterator$1=getIterator$2,getIterator=getIterator$1,_getIterator=getDefaultExportFromCjs(getIterator),concat$1={};_Object$defineProperty(concat$1,"__esModule",{value:!0}),concat$1.default=function(e){for(var t=0,r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];var o=!0,a=!1,s=void 0;try{for(var l,c=_getIterator(n);!(o=(l=c.next()).done);o=!0){t+=l.value.length}}catch(e){a=!0,s=e}finally{try{!o&&c.return&&c.return()}finally{if(a)throw s}}var u=new e(t),d=0,p=!0,y=!1,h=void 0;try{for(var f,$=_getIterator(n);!(p=(f=$.next()).done);p=!0){var m=f.value;u.set(m,d),d+=m.length}}catch(e){y=!0,h=e}finally{try{!p&&$.return&&$.return()}finally{if(y)throw h}}return u};var _concat=concat$1,_concat2=_interopRequireDefault(_concat);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var lib=_concat2.default,Concat=getDefaultExportFromCjs(lib);function _classCallCheck$4(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass$4(e,t,r){return t&&_defineProperties$4(e.prototype,t),r&&_defineProperties$4(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty$2(e,t,r){return t in e?_Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _slicedToArray$1(e,t){return _arrayWithHoles$1(e)||_iterableToArrayLimit$1(e,t)||_unsupportedIterableToArray$3(e,t)||_nonIterableRest$1()}function _toConsumableArray$2(e){return _arrayWithoutHoles$2(e)||_iterableToArray$2(e)||_unsupportedIterableToArray$3(e)||_nonIterableSpread$2()}function _arrayWithoutHoles$2(e){if(_Array$isArray(e))return _arrayLikeToArray$3(e)}function _arrayWithHoles$1(e){if(_Array$isArray(e))return e}function _iterableToArray$2(e){if(void 0!==_Symbol&&null!=_getIteratorMethod(e)||null!=e["@@iterator"])return _Array$from(e)}function _iterableToArrayLimit$1(e,t){var r=null==e?null:void 0!==_Symbol&&_getIteratorMethod(e)||e["@@iterator"];if(null!=r){var n,i,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw i}}return o}}function _unsupportedIterableToArray$3(e,t){var r;if(e){if("string"==typeof e)return _arrayLikeToArray$3(e,t);var n=_sliceInstanceProperty(r=Object.prototype.toString.call(e)).call(r,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?_Array$from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray$3(e,t):void 0}}function _arrayLikeToArray$3(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _nonIterableSpread$2(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableRest$1(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var $$A=_export,$includes=arrayIncludes.includes,fails$e=fails$13,addToUnscopables=addToUnscopables$3,BROKEN_ON_SPARSE=fails$e((function(){return!Array(1).includes()}));$$A({target:"Array",proto:!0,forced:BROKEN_ON_SPARSE},{includes:function(e){return $includes(this,e,arguments.length>1?arguments[1]:void 0)}}),addToUnscopables("includes");var isRegExp=isRegexp,$TypeError$1=TypeError,notARegexp=function(e){if(isRegExp(e))throw $TypeError$1("The method doesn't accept regular expressions");return e},wellKnownSymbol$4=wellKnownSymbol$x,MATCH=wellKnownSymbol$4("match"),correctIsRegexpLogic=function(e){var t=/./;try{"/./"[e](t)}catch(r){try{return t[MATCH]=!1,"/./"[e](t)}catch(e){}}return!1},$$z=_export,uncurryThis$b=functionUncurryThis,notARegExp$1=notARegexp,requireObjectCoercible$5=requireObjectCoercible$f,toString$b=toString$p,correctIsRegExpLogic$1=correctIsRegexpLogic,stringIndexOf$1=uncurryThis$b("".indexOf);$$z({target:"String",proto:!0,forced:!correctIsRegExpLogic$1("includes")},{includes:function(e){return!!~stringIndexOf$1(toString$b(requireObjectCoercible$5(this)),toString$b(notARegExp$1(e)),arguments.length>1?arguments[1]:void 0)}});var TrackType={VIDEO:"video",AUDIO:"audio",METADATA:"metadata"},VideoCodecType={AVC:"avc",HEVC:"hevc"},AudioCodecType={AAC:"aac",G711PCMA:"g7110a",G711PCMU:"g7110m"},VideoTrack=function(){function e(){_classCallCheck$4(this,e),_defineProperty$2(this,"id",1),_defineProperty$2(this,"type",TrackType.VIDEO),_defineProperty$2(this,"codecType",VideoCodecType.AVC),_defineProperty$2(this,"pid",-1),_defineProperty$2(this,"hvcC",void 0),_defineProperty$2(this,"codec",""),_defineProperty$2(this,"timescale",0),_defineProperty$2(this,"formatTimescale",0),_defineProperty$2(this,"sequenceNumber",0),_defineProperty$2(this,"baseMediaDecodeTime",0),_defineProperty$2(this,"baseDts",0),_defineProperty$2(this,"duration",0),_defineProperty$2(this,"warnings",[]),_defineProperty$2(this,"samples",[]),_defineProperty$2(this,"pps",[]),_defineProperty$2(this,"sps",[]),_defineProperty$2(this,"vps",[]),_defineProperty$2(this,"fpsNum",0),_defineProperty$2(this,"fpsDen",0),_defineProperty$2(this,"sarRatio",[]),_defineProperty$2(this,"width",0),_defineProperty$2(this,"height",0),_defineProperty$2(this,"nalUnitSize",4),_defineProperty$2(this,"present",!1),_defineProperty$2(this,"isVideoEncryption",!1),_defineProperty$2(this,"isAudioEncryption",!1),_defineProperty$2(this,"kid",null),_defineProperty$2(this,"pssh",null),_defineProperty$2(this,"ext",void 0)}return _createClass$4(e,[{key:"reset",value:function(){this.sequenceNumber=this.width=this.height=this.fpsDen=this.fpsNum=this.duration=this.baseMediaDecodeTime=this.timescale=0,this.codec="",this.present=!1,this.pid=-1,this.pps=[],this.sps=[],this.vps=[],this.sarRatio=[],this.samples=[],this.warnings=[],this.hvcC=null}},{key:"exist",value:function(){return!!(this.pps.length&&this.sps.length&&this.codec)}},{key:"hasSample",value:function(){return!!this.samples.length}}]),e}(),AudioTrack=function(){function e(){_classCallCheck$4(this,e),_defineProperty$2(this,"id",2),_defineProperty$2(this,"type",TrackType.AUDIO),_defineProperty$2(this,"codecType",AudioCodecType.AAC),_defineProperty$2(this,"pid",-1),_defineProperty$2(this,"codec",""),_defineProperty$2(this,"sequenceNumber",0),_defineProperty$2(this,"sampleDuration",0),_defineProperty$2(this,"timescale",0),_defineProperty$2(this,"formatTimescale",0),_defineProperty$2(this,"baseMediaDecodeTime",0),_defineProperty$2(this,"duration",0),_defineProperty$2(this,"warnings",[]),_defineProperty$2(this,"samples",[]),_defineProperty$2(this,"baseDts",0),_defineProperty$2(this,"sampleSize",16),_defineProperty$2(this,"sampleRate",0),_defineProperty$2(this,"channelCount",0),_defineProperty$2(this,"objectType",0),_defineProperty$2(this,"sampleRateIndex",0),_defineProperty$2(this,"config",[]),_defineProperty$2(this,"present",!1),_defineProperty$2(this,"isVideoEncryption",!1),_defineProperty$2(this,"isAudioEncryption",!1),_defineProperty$2(this,"kid",null),_defineProperty$2(this,"ext",void 0)}return _createClass$4(e,[{key:"reset",value:function(){this.sequenceNumber=0,this.timescale=0,this.sampleDuration=0,this.sampleRate=0,this.channelCount=0,this.baseMediaDecodeTime=0,this.present=!1,this.pid=-1,this.codec="",this.samples=[],this.config=[],this.warnings=[]}},{key:"exist",value:function(){return!!(this.sampleRate&&this.channelCount&&this.codec&&this.codecType===AudioCodecType.AAC)}},{key:"hasSample",value:function(){return!!this.samples.length}}]),e}(),VideoSample=function(){function e(t,r,n){_classCallCheck$4(this,e),_defineProperty$2(this,"flag",{}),_defineProperty$2(this,"keyframe",!1),_defineProperty$2(this,"gopId",0),_defineProperty$2(this,"duration",0),_defineProperty$2(this,"size",0),_defineProperty$2(this,"units",[]),_defineProperty$2(this,"chromaFormat",420),this.originPts=this.pts=t,this.originDts=this.dts=r,n&&(this.units=n)}return _createClass$4(e,[{key:"cts",get:function(){return this.pts-this.dts}},{key:"setToKeyframe",value:function(){this.keyframe=!0,this.flag.dependsOn=2,this.flag.isNonSyncSample=0}}]),e}(),AudioSample=_createClass$4((function e(t,r,n,i){_classCallCheck$4(this,e),_defineProperty$2(this,"duration",1024),_defineProperty$2(this,"flag",{dependsOn:2,isNonSyncSample:0}),_defineProperty$2(this,"keyframe",!0),this.originPts=this.pts=this.dts=t,this.data=r,this.size=r.byteLength,this.sampleOffset=i,n&&(this.duration=n)})),MetadataTrack=function(){function e(){_classCallCheck$4(this,e),_defineProperty$2(this,"id",3),_defineProperty$2(this,"type",TrackType.METADATA),_defineProperty$2(this,"timescale",0),_defineProperty$2(this,"flvScriptSamples",[]),_defineProperty$2(this,"seiSamples",[])}return _createClass$4(e,[{key:"exist",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length||!this.timescale)}},{key:"reset",value:function(){this.timescale=0,this.flvScriptSamples=[],this.seiSamples=[]}},{key:"hasSample",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length)}}]),e}(),call$6=functionCall,hasOwn$8=hasOwnProperty_1,isPrototypeOf$9=objectIsPrototypeOf,regExpFlags$2=regexpFlags$2,RegExpPrototype$4=RegExp.prototype,regexpGetFlags$1=function(e){var t=e.flags;return void 0!==t||"flags"in RegExpPrototype$4||hasOwn$8(e,"flags")||!isPrototypeOf$9(RegExpPrototype$4,e)?t:call$6(regExpFlags$2,e)},PROPER_FUNCTION_NAME=functionName.PROPER,defineBuiltIn$2=defineBuiltIn$l,anObject$6=anObject$q,$toString$1=toString$p,fails$d=fails$13,getRegExpFlags$1=regexpGetFlags$1,TO_STRING="toString",RegExpPrototype$3=RegExp.prototype,nativeToString=RegExpPrototype$3[TO_STRING],NOT_GENERIC=fails$d((function(){return"/a/b"!=nativeToString.call({source:"a",flags:"b"})})),INCORRECT_NAME=PROPER_FUNCTION_NAME&&nativeToString.name!=TO_STRING;(NOT_GENERIC||INCORRECT_NAME)&&defineBuiltIn$2(RegExp.prototype,TO_STRING,(function(){var e=anObject$6(this);return"/"+$toString$1(e.source)+"/"+$toString$1(getRegExpFlags$1(e))}),{unsafe:!0});var $$y=_export,call$5=functionCall,isCallable$2=isCallable$A,anObject$5=anObject$q,toString$a=toString$p,DELEGATES_TO_EXEC=function(){var e=!1,t=/[ac]/;return t.exec=function(){return e=!0,/./.exec.apply(this,arguments)},!0===t.test("abc")&&e}(),nativeTest=/./.test;$$y({target:"RegExp",proto:!0,forced:!DELEGATES_TO_EXEC},{test:function(e){var t=anObject$5(this),r=toString$a(e),n=t.exec;if(!isCallable$2(n))return call$5(nativeTest,t,r);var i=call$5(n,t,r);return null!==i&&(anObject$5(i),!0)}});var isBrowser="undefined"!=typeof window,ua=isBrowser&&navigator.userAgent.toLocaleLowerCase(),isFirefox=isBrowser&&_includesInstanceProperty(ua).call(ua,"firefox"),isAndroid=isBrowser&&_includesInstanceProperty(ua).call(ua,"android"),AAC=function(){function e(){_classCallCheck$4(this,e)}return _createClass$4(e,null,[{key:"getRateIndexByRate",value:function(t){var r;return _indexOfInstanceProperty(r=e.FREQ).call(r,t)}},{key:"parseADTS",value:function(t,r){for(var n=t.length,i=0;i+2<n&&(255!==t[i]||240!=(246&t[i+1]));)i++;if(!(i>=n)){var o=i,a=[],s=(60&t[i+2])>>>2,l=e.FREQ[s];if(!l)throw new Error("Invalid sampling index: ".concat(s));for(var c,u,d=1+((192&t[i+2])>>>6),p=(1&t[i+2])<<2|(192&t[i+3])>>>6,y=e._getConfig(s,p,d),h=y.config,f=y.codec,$=0,m=e.getFrameDuration(l);i+7<n;)if(255===t[i]&&240==(246&t[i+1])){if(n-i<(u=(3&t[i+3])<<11|t[i+4]<<3|(224&t[i+5])>>5))break;c=2*(1&~t[i+1]),a.push({pts:r+$*m,data:t.subarray(i+7+c,i+u)}),$++,i+=u}else i++;return{skip:o,remaining:i>=n?void 0:t.subarray(i),frames:a,samplingFrequencyIndex:s,sampleRate:l,objectType:d,channelCount:p,codec:f,config:h,originCodec:"mp4a.40.".concat(d)}}}},{key:"parseAudioSpecificConfig",value:function(t){if(t.length){var r=t[0]>>>3,n=(7&t[0])<<1|t[1]>>>7,i=(120&t[1])>>>3,o=e.FREQ[n];if(!o)throw new Error("Invalid sampling index: ".concat(n));var a=e._getConfig(n,i,r);return{samplingFrequencyIndex:n,sampleRate:o,objectType:r,channelCount:i,config:a.config,codec:a.codec,originCodec:"mp4a.40.".concat(r)}}}},{key:"getFrameDuration",value:function(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}},{key:"_getConfig",value:function(e,t,r){var n,i,o=[];return isFirefox?e>=6?(n=5,i=e-3):(n=2,i=e):isAndroid?(n=2,i=e):(n=2===r||5===r?r:5,i=e,e>=6?i=e-3:1===t&&(n=2,i=e)),o[0]=n<<3,o[0]|=(14&e)>>1,o[1]=(1&e)<<7,o[1]|=t<<3,5===n&&(o[1]|=(14&i)>>1,o[2]=(1&i)<<7,o[2]|=8,o[3]=0),{config:o,codec:"mp4a.40.".concat(n)}}},{key:"getSilentFrame",value:function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}]),e}();_defineProperty$2(AAC,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var aCallable$1=aCallable$v,toObject$5=toObject$v,IndexedObject=indexedObject$1,lengthOfArrayLike$3=lengthOfArrayLike$v,$TypeError=TypeError,createMethod$3=function(e){return function(t,r,n,i){aCallable$1(r);var o=toObject$5(t),a=IndexedObject(o),s=lengthOfArrayLike$3(o),l=e?s-1:0,c=e?-1:1;if(n<2)for(;;){if(l in a){i=a[l],l+=c;break}if(l+=c,e?l<0:s<=l)throw $TypeError("Reduce of empty array with no initial value")}for(;e?l>=0:s>l;l+=c)l in a&&(i=r(i,a[l],l,o));return i}},arrayReduce={left:createMethod$3(!1),right:createMethod$3(!0)},$$x=_export$1,$reduce$1=arrayReduce.left,arrayMethodIsStrict$4=arrayMethodIsStrict$g,CHROME_VERSION$1=engineV8Version$1,IS_NODE$1=engineIsNode$1,CHROME_BUG$1=!IS_NODE$1&&engineV8Version$1>79&&engineV8Version$1<83,FORCED$b=CHROME_BUG$1||!arrayMethodIsStrict$4("reduce");$$x({target:"Array",proto:!0,forced:FORCED$b},{reduce:function(e){var t=arguments.length;return $reduce$1(this,e,t,t>1?arguments[1]:void 0)}});var entryVirtual$4=entryVirtual$o,reduce$6=entryVirtual$4("Array").reduce,isPrototypeOf$8=objectIsPrototypeOf$1,method$4=reduce$6,ArrayPrototype$4=Array.prototype,reduce$5=function(e){var t=e.reduce;return e===ArrayPrototype$4||isPrototypeOf$8(ArrayPrototype$4,e)&&t===ArrayPrototype$4.reduce?method$4:t},parent$w=reduce$5,reduce$4=parent$w,parent$v=reduce$4,reduce$3=parent$v,parent$u=reduce$3,reduce$2=parent$u,reduce$1=reduce$2,reduce4=reduce$1,_reduceInstanceProperty=getDefaultExportFromCjs(reduce4);function concatUint8Array$1(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t=_filterInstanceProperty(t).call(t,Boolean);var n=new Uint8Array(_reduceInstanceProperty(t).call(t,(function(e,t){return e+t.byteLength}),0)),i=0;return _forEachInstanceProperty(t).call(t,(function(e){n.set(e,i),i+=e.byteLength})),n}var MAX_SIZE=Math.pow(2,32);function readBig16(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<8)+(e[t+1]||0)}function readBig24(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<16)+(e[t+1]<<8)+(e[t+2]||0)}function readBig32(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function readBig64(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return readBig32(e,t)*MAX_SIZE+readBig32(e,t+4)}function getAvcCodec(e){for(var t,r="avc1.",n=0;n<3;n++)(t=e[n].toString(16)).length<2&&(t="0".concat(t)),r+=t;return r}function formatIV(e){var t="";if(_forEachInstanceProperty(e).call(e,(function(e){t+=bufferToString(e)})),t.length<=32)for(var r=32-t.length,n=0;n<r;n++)t+="0";return t}function parse(e){if(!_Array$isArray(e)){for(var t=[],r="",n=0;n<e.length;n++)n%2&&(r=e[n-1]+e[n],t.push(_parseInt$1(r,16)),r="");return t}return _mapInstanceProperty(e).call(e,(function(e){return _parseInt$1(e,16)}))}function bufferToString(e){var t;return _sliceInstanceProperty(t="0"+Number(e).toString(16)).call(t,-2).toUpperCase()}var anObject$4=anObject$E,regexpFlags=function(){var e=anObject$4(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},call$4=functionCall$1,hasOwn$7=hasOwnProperty_1$1,isPrototypeOf$7=objectIsPrototypeOf$1,regExpFlags$1=regexpFlags,RegExpPrototype$2=RegExp.prototype,regexpGetFlags=function(e){var t=e.flags;return void 0!==t||"flags"in RegExpPrototype$2||hasOwn$7(e,"flags")||!isPrototypeOf$7(RegExpPrototype$2,e)?t:call$4(regExpFlags$1,e)},getRegExpFlags=regexpGetFlags,flags$6=getRegExpFlags,isPrototypeOf$6=objectIsPrototypeOf$1,flags$5=flags$6,RegExpPrototype$1=RegExp.prototype,flags_1=function(e){return e===RegExpPrototype$1||isPrototypeOf$6(RegExpPrototype$1,e)?flags$5(e):e.flags},parent$t=flags_1,flags$4=parent$t,parent$s=flags$4,flags$3=parent$s,parent$r=flags$3,flags$2=parent$r,flags$1=flags$2,flags=flags$1,_flagsInstanceProperty=getDefaultExportFromCjs(flags),entryVirtual$3=entryVirtual$o,entries$6=entryVirtual$3("Array").entries,parent$q=entries$6,entries$5=parent$q,classof$1=classof$w,hasOwn$6=hasOwnProperty_1$1,isPrototypeOf$5=objectIsPrototypeOf$1,method$3=entries$5,ArrayPrototype$3=Array.prototype,DOMIterables$1={DOMTokenList:!0,NodeList:!0},entries$4=function(e){var t=e.entries;return e===ArrayPrototype$3||isPrototypeOf$5(ArrayPrototype$3,e)&&t===ArrayPrototype$3.entries||hasOwn$6(DOMIterables$1,classof$1(e))?method$3:t},parent$p=entries$4,entries$3=parent$p,parent$o=entries$3,entries$2=parent$o,entries$1=entries$2,entries4=entries$1,_entriesInstanceProperty=getDefaultExportFromCjs(entries4),global$6=global$O,DESCRIPTORS$6=descriptors,defineBuiltInAccessor=defineBuiltInAccessor$3,regExpFlags=regexpFlags$2,fails$c=fails$13,RegExp$1=global$6.RegExp,RegExpPrototype=RegExp$1.prototype,FORCED$a=DESCRIPTORS$6&&fails$c((function(){var e=!0;try{RegExp$1(".","d")}catch(t){e=!1}var t={},r="",n=e?"dgimsy":"gimsy",i=function(e,n){Object.defineProperty(t,e,{get:function(){return r+=n,!0}})},o={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(o.hasIndices="d"),o)i(a,o[a]);return Object.getOwnPropertyDescriptor(RegExpPrototype,"flags").get.call(t)!==n||r!==n}));FORCED$a&&defineBuiltInAccessor(RegExpPrototype,"flags",{configurable:!0,get:regExpFlags});var toIntegerOrInfinity$3=toIntegerOrInfinity$e,toString$9=toString$p,requireObjectCoercible$4=requireObjectCoercible$f,$RangeError$1=RangeError,stringRepeat=function(e){var t=toString$9(requireObjectCoercible$4(this)),r="",n=toIntegerOrInfinity$3(e);if(n<0||n==1/0)throw $RangeError$1("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(r+=t);return r},uncurryThis$a=functionUncurryThis,toLength$3=toLength$d,toString$8=toString$p,$repeat$1=stringRepeat,requireObjectCoercible$3=requireObjectCoercible$f,repeat$1=uncurryThis$a($repeat$1),stringSlice$5=uncurryThis$a("".slice),ceil=Math.ceil,createMethod$2=function(e){return function(t,r,n){var i,o,a=toString$8(requireObjectCoercible$3(t)),s=toLength$3(r),l=a.length,c=void 0===n?" ":toString$8(n);return s<=l||""==c?a:((o=repeat$1(c,ceil((i=s-l)/c.length))).length>i&&(o=stringSlice$5(o,0,i)),e?a+o:o+a)}},stringPad={start:createMethod$2(!1),end:createMethod$2(!0)},userAgent=engineUserAgent,stringPadWebkitBug=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent),$$w=_export,$padStart=stringPad.start,WEBKIT_BUG=stringPadWebkitBug;$$w({target:"String",proto:!0,forced:WEBKIT_BUG},{padStart:function(e){return $padStart(this,e,arguments.length>1?arguments[1]:void 0)}});var $$v=_export,from5=arrayFrom$1,checkCorrectnessOfIteration=checkCorrectnessOfIteration$4,INCORRECT_ITERATION=!checkCorrectnessOfIteration((function(e){Array.from(e)}));$$v({target:"Array",stat:!0,forced:INCORRECT_ITERATION},{from:from5});var MP4Parser=function(){function e(){_classCallCheck$4(this,e)}return _createClass$4(e,null,[{key:"findBox",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=[];if(!t)return i;for(var o=0,a="",s=0;t.length>7;){if(o=readBig32(t),a=String.fromCharCode.apply(null,t.subarray(4,8)),s=8,1===o?(o=readBig64(t,8),s+=8):o||(o=t.length),!r[0]||a===r[0]){var l=t.subarray(0,o);if(!(r.length<2))return e.findBox(l.subarray(s),_sliceInstanceProperty(r).call(r,1),n+s);i.push({start:n,size:o,headerSize:s,type:a,data:l})}n+=o,t=t.subarray(o)}return i}},{key:"tfhd",value:function(e){return parseBox(e,!0,(function(e,t){e.trackId=readBig32(t);var r=4,n=1&_flagsInstanceProperty(e),i=2&_flagsInstanceProperty(e),o=8&_flagsInstanceProperty(e),a=16&_flagsInstanceProperty(e),s=32&_flagsInstanceProperty(e);n&&(r+=4,e.baseDataOffset=readBig32(t,r),r+=4),i&&(e.sampleDescriptionIndex=readBig32(t,r),r+=4),o&&(e.defaultSampleDuration=readBig32(t,r),r+=4),a&&(e.defaultSampleSize=readBig32(t,r),r+=4),s&&(e.defaultSampleFlags=readBig32(t,r))}))}},{key:"sidx",value:function(e){return parseBox(e,!0,(function(e,t){var r=0;e.reference_ID=readBig32(t,r),r+=4,e.timescale=readBig32(t,r),r+=4,0===e.version?(e.earliest_presentation_time=readBig32(t,r),r+=4,e.first_offset=readBig32(t,r),r+=4):(e.earliest_presentation_time=readBig64(t,r),r+=8,e.first_offset=readBig64(t,r),r+=8),r+=2,e.references=[];var n=readBig16(t,r);r+=2;for(var i=0;i<n;i++){var o={};e.references.push(o);var a=readBig32(t,r);r+=4,o.reference_type=a>>31&1,o.referenced_size=2147483647&a,o.subsegment_duration=readBig32(t,r),a=readBig32(t,r+=4),r+=4,o.starts_with_SAP=a>>31&1,o.SAP_type=a>>28&7,o.SAP_delta_time=268435455&a}}))}},{key:"moov",value:function(t){return parseBox(t,!1,(function(t,r,n){var i;t.mvhd=e.mvhd(e.findBox(r,["mvhd"],n)[0]),t.trak=_mapInstanceProperty(i=e.findBox(r,["trak"],n)).call(i,(function(t){return e.trak(t)})),t.pssh=e.pssh(e.findBox(r,["pssh"],n)[0])}))}},{key:"mvhd",value:function(e){return parseBox(e,!0,(function(e,t){var r=0;1===e.version?(e.timescale=readBig32(t,16),e.duration=readBig64(t,20),r+=28):(e.timescale=readBig32(t,8),e.duration=readBig32(t,12),r+=16),e.nextTrackId=readBig32(t,r+76)}))}},{key:"trak",value:function(t){return parseBox(t,!1,(function(t,r,n){t.tkhd=e.tkhd(e.findBox(r,["tkhd"],n)[0]),t.mdia=e.mdia(e.findBox(r,["mdia"],n)[0])}))}},{key:"tkhd",value:function(e){return parseBox(e,!0,(function(e,t){var r=0;1===e.version?(e.trackId=readBig32(t,16),e.duration=readBig64(t,24),r+=32):(e.trackId=readBig32(t,8),e.duration=readBig32(t,16),r+=20),e.width=readBig32(t,r+52),e.height=readBig32(t,r+56)}))}},{key:"mdia",value:function(t){return parseBox(t,!1,(function(t,r,n){t.mdhd=e.mdhd(e.findBox(r,["mdhd"],n)[0]),t.hdlr=e.hdlr(e.findBox(r,["hdlr"],n)[0]),t.minf=e.minf(e.findBox(r,["minf"],n)[0])}))}},{key:"mdhd",value:function(e){return parseBox(e,!0,(function(e,t){var r=0;1===e.version?(e.timescale=readBig32(t,16),e.duration=readBig64(t,20),r+=28):(e.timescale=readBig32(t,8),e.duration=readBig32(t,12),r+=16);var n=readBig16(t,r);e.language=String.fromCharCode(96+(n>>10&31),96+(n>>5&31),96+(31&n))}))}},{key:"hdlr",value:function(e){return parseBox(e,!0,(function(e,t){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}},{key:"minf",value:function(t){return parseBox(t,!1,(function(t,r,n){t.vmhd=e.vmhd(e.findBox(r,["vmhd"],n)[0]),t.smhd=e.smhd(e.findBox(r,["smhd"],n)[0]),t.stbl=e.stbl(e.findBox(r,["stbl"],n)[0])}))}},{key:"vmhd",value:function(e){return parseBox(e,!0,(function(e,t){e.graphicsmode=readBig16(t),e.opcolor=[readBig16(t,2),readBig16(t,4),readBig16(t,6)]}))}},{key:"smhd",value:function(e){return parseBox(e,!0,(function(e,t){e.balance=readBig16(t)}))}},{key:"stbl",value:function(t){return parseBox(t,!1,(function(t,r,n){t.stsd=e.stsd(e.findBox(r,["stsd"],n)[0]),t.stts=e.stts(e.findBox(r,["stts"],n)[0]),t.ctts=e.ctts(e.findBox(r,["ctts"],n)[0]),t.stsc=e.stsc(e.findBox(r,["stsc"],n)[0]),t.stsz=e.stsz(e.findBox(r,["stsz"],n)[0]),t.stco=e.stco(e.findBox(r,["stco"],n)[0]),t.stco||(t.co64=e.co64(e.findBox(r,["co64"],n)[0]),t.stco=t.co64),t.stss=e.stss(e.findBox(r,["stss"],n)[0]),t.senc=e.senc(e.findBox(r,["senc"],n)[0])}))}},{key:"senc",value:function(e){return parseBox(e,!0,(function(e,t){var r=0,n=readBig32(t,r);r+=4,e.samples=[];for(var i=0;i<n;i++){var o={};if(o.InitializationVector=[t[r],t[r+1],t[r+2],t[r+3],t[r+4],t[r+5],t[r+6],t[r+7]],r+=8,2&_flagsInstanceProperty(e)){o.subsamples=[];var a=readBig16(t,r);r+=2;for(var s=0;s<a;s++){var l={};l.BytesOfClearData=readBig16(t,r),r+=2,l.BytesOfProtectedData=readBig32(t,r),r+=4,o.subsamples.push(l)}}e.samples.push(o)}}))}},{key:"pssh",value:function(e){return parseBox(e,!0,(function(e,t){for(var r=[],n=[],i=0,o=0;o<16;o++)n.push(toHex(t[i+o]));if(i+=16,e.version>0){var a=readBig32(t,i);i+=4;for(var s=0;s<(""+a).length;s++)for(var l=0;l<16;l++){var c=t[i];i+=1,r.push(toHex(c))}}var u=readBig32(t,i);e.data_size=u,i+=4,e.kid=r,e.system_id=n,e.buffer=t}))}},{key:"stsd",value:function(t){return parseBox(t,!0,(function(t,r,n){var i,o;t.entryCount=readBig32(r),t.entries=_filterInstanceProperty(i=_mapInstanceProperty(o=e.findBox(r.subarray(4),[],n+4)).call(o,(function(t){switch(t.type){case"avc1":case"avc2":case"avc3":case"avc4":return e.avc1(t);case"hvc1":case"hev1":return e.hvc1(t);case"mp4a":return e.mp4a(t);case"alaw":case"ulaw":return e.alaw(t);case"enca":return parseBox(t,!1,(function(t,r,n){t.channelCount=readBig16(r,16),t.samplesize=readBig16(r,18),t.sampleRate=readBig32(r,24)/65536,r=r.subarray(28),t.sinf=e.sinf(e.findBox(r,["sinf"],n)[0]),t.esds=e.esds(e.findBox(r,["esds"],n)[0])}));case"encv":return parseBox(t,!1,(function(t,r,n){t.width=readBig16(r,24),t.height=readBig16(r,26),t.horizresolution=readBig32(r,28),t.vertresolution=readBig32(r,32),r=r.subarray(78),t.sinf=e.sinf(e.findBox(r,["sinf"],n)[0]),t.avcC=e.avcC(e.findBox(r,["avcC"],n)[0]),t.hvcC=e.hvcC(e.findBox(r,["hvcC"],n)[0]),t.pasp=e.pasp(e.findBox(r,["pasp"],n)[0])}))}}))).call(i,Boolean)}))}},{key:"tenc",value:function(e){return parseBox(e,!1,(function(e,t){var r=6;e.default_IsEncrypted=t[r],r+=1,e.default_IV_size=t[r],r+=1,e.default_KID=[];for(var n=0;n<16;n++)e.default_KID.push(toHex(t[r])),r+=1}))}},{key:"schi",value:function(t){return parseBox(t,!1,(function(t,r,n){t.tenc=e.tenc(e.findBox(r,["tenc"],n)[0])}))}},{key:"sinf",value:function(t){return parseBox(t,!1,(function(t,r,n){t.schi=e.schi(e.findBox(r,["schi"],n)[0]),t.frma=e.frma(e.findBox(r,["frma"],n)[0])}))}},{key:"frma",value:function(e){return parseBox(e,!1,(function(e,t){e.data_format="";for(var r=0;r<4;r++)e.data_format+=String.fromCharCode(t[r])}))}},{key:"avc1",value:function(t){return parseBox(t,!1,(function(t,r,n){var i=parseVisualSampleEntry(t,r),o=r.subarray(i);n+=i,t.avcC=e.avcC(e.findBox(o,["avcC"],n)[0]),t.pasp=e.pasp(e.findBox(o,["pasp"],n)[0])}))}},{key:"avcC",value:function(e){return parseBox(e,!1,(function(e,t){e.configurationVersion=t[0],e.AVCProfileIndication=t[1],e.profileCompatibility=t[2],e.AVCLevelIndication=t[3],e.codec=getAvcCodec([t[1],t[2],t[3]]),e.lengthSizeMinusOne=3&t[4],e.spsLength=31&t[5],e.sps=[];for(var r=6,n=0;n<e.spsLength;n++){var i=readBig16(t,r);r+=2,e.sps.push(t.subarray(r,r+i)),r+=i}e.ppsLength=t[r],r+=1,e.pps=[];for(var o=0;o<e.ppsLength;o++){var a=readBig16(t,r);r+=2,e.pps.push(t.subarray(r,r+=a)),r+=a}}))}},{key:"hvc1",value:function(t){return parseBox(t,!1,(function(t,r,n){var i=parseVisualSampleEntry(t,r),o=r.subarray(i);n+=i,t.hvcC=e.hvcC(e.findBox(o,["hvcC"],n)[0]),t.pasp=e.pasp(e.findBox(o,["pasp"],n)[0])}))}},{key:"hvcC",value:function(e){return parseBox(e,!1,(function(t,r){t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=r[0];var n=r[1];t.generalProfileSpace=n>>6,t.generalTierFlag=(32&n)>>5,t.generalProfileIdc=31&n,t.generalProfileCompatibility=readBig32(r,2),t.generalConstraintIndicatorFlags=r.subarray(6,12),t.generalLevelIdc=r[12],t.avgFrameRate=readBig16(r,19),t.numOfArrays=r[22],t.vps=[],t.sps=[],t.pps=[];for(var i=23,o=0,a=0,s=0,l=0;l<t.numOfArrays;l++){o=63&r[i],a=readBig16(r,i+1),i+=3;for(var c,u=[],d=0;d<a;d++)s=readBig16(r,i),i+=2,u.push(r.subarray(i,i+s)),i+=s;if(32===o)(c=t.vps).push.apply(c,u);else if(33===o){var p;(p=t.sps).push.apply(p,u)}else if(34===o){var y;(y=t.pps).push.apply(y,u)}}}))}},{key:"pasp",value:function(e){return parseBox(e,!1,(function(e,t){e.hSpacing=readBig32(t),e.vSpacing=readBig32(t,4)}))}},{key:"mp4a",value:function(t){return parseBox(t,!1,(function(t,r,n){var i=parseAudioSampleEntry(t,r);t.esds=e.esds(e.findBox(r.subarray(i),["esds"],n+i)[0])}))}},{key:"esds",value:function(e){return parseBox(e,!0,(function(e,t){e.codec="mp4a.";for(var r=0,n=0,i=0,o=0;t.length;){for(o=t[r=0],n=t[r+1],r+=2;128&n;)i=(127&n)<<7,n=t[r],r+=1;if(i+=127&n,3===o)t=t.subarray(r+3);else{if(4!==o){if(5===o){var a=e.config=t.subarray(r,r+i),s=(248&a[0])>>3;return 31===s&&a.length>=2&&(s=32+((7&a[0])<<3)+((224&a[1])>>5)),e.objectType=s,e.codec+=s.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}var l;e.codec+=_padStartInstanceProperty(l=t[r].toString(16)+".").call(l,3,"0"),t=t.subarray(r+13)}}}))}},{key:"alaw",value:function(e){return parseBox(e,!1,(function(e,t){parseAudioSampleEntry(e,t)}))}},{key:"stts",value:function(e){return parseBox(e,!0,(function(e,t){for(var r=readBig32(t),n=[],i=4,o=0;o<r;o++)n.push({count:readBig32(t,i),delta:readBig32(t,i+4)}),i+=8;e.entryCount=r,e.entries=n}))}},{key:"ctts",value:function(e){return parseBox(e,!0,(function(e,t){var r=readBig32(t),n=[],i=4;if(1===e.version)for(var o=0;o<r;o++)n.push({count:readBig32(t,i),offset:readBig32(t,i+4)}),i+=8;else for(var a=0;a<r;a++)n.push({count:readBig32(t,i),offset:-(1+~readBig32(t,i+4))}),i+=8;e.entryCount=r,e.entries=n}))}},{key:"stsc",value:function(e){return parseBox(e,!0,(function(e,t){for(var r=readBig32(t),n=[],i=4,o=0;o<r;o++)n.push({firstChunk:readBig32(t,i),samplesPerChunk:readBig32(t,i+4),sampleDescriptionIndex:readBig32(t,i+8)}),i+=12;e.entryCount=r,e.entries=n}))}},{key:"stsz",value:function(e){return parseBox(e,!0,(function(e,t){var r=readBig32(t),n=readBig32(t,4),i=[];if(!r)for(var o=8,a=0;a<n;a++)i.push(readBig32(t,o)),o+=4;e.sampleSize=r,e.sampleCount=n,e.entrySizes=i}))}},{key:"stco",value:function(e){return parseBox(e,!0,(function(e,t){for(var r=readBig32(t),n=[],i=4,o=0;o<r;o++)n.push(readBig32(t,i)),i+=4;e.entryCount=r,e.entries=n}))}},{key:"co64",value:function(e){return parseBox(e,!0,(function(e,t){for(var r=readBig32(t),n=[],i=4,o=0;o<r;o++)n.push(readBig64(t,i)),i+=8;e.entryCount=r,e.entries=n}))}},{key:"stss",value:function(e){return parseBox(e,!0,(function(e,t){for(var r=readBig32(t),n=[],i=4,o=0;o<r;o++)n.push(readBig32(t,i)),i+=4;e.entryCount=r,e.entries=n}))}},{key:"moof",value:function(t){return parseBox(t,!1,(function(t,r,n){var i;t.mfhd=e.mfhd(e.findBox(r,["mfhd"],n)[0]),t.traf=_mapInstanceProperty(i=e.findBox(r,["traf"],n)).call(i,(function(t){return e.traf(t)}))}))}},{key:"mfhd",value:function(e){return parseBox(e,!0,(function(e,t){e.sequenceNumber=readBig32(t)}))}},{key:"traf",value:function(t){return parseBox(t,!1,(function(t,r,n){t.tfhd=e.tfhd(e.findBox(r,["tfhd"],n)[0]),t.tfdt=e.tfdt(e.findBox(r,["tfdt"],n)[0]),t.trun=e.trun(e.findBox(r,["trun"],n)[0])}))}},{key:"trun",value:function(e){return parseBox(e,!0,(function(e,t){var r=e.version,n=_flagsInstanceProperty(e),i=t.length,o=e.sampleCount=readBig32(t),a=4;if(i>a&&1&n&&(e.dataOffset=-(1+~readBig32(t,a)),a+=4),i>a&&4&n&&(e.firstSampleFlags=readBig32(t,a),a+=4),e.samples=[],i>a)for(var s,l=0;l<o;l++)s={},256&n&&(s.duration=readBig32(t,a),a+=4),512&n&&(s.size=readBig32(t,a),a+=4),1024&n&&(s.flags=readBig32(t,a),a+=4),2048&n&&(s.cts=r?-(1+~readBig32(t,a+4)):readBig32(t,a),a+=4),e.samples.push(s)}))}},{key:"tfdt",value:function(e){return parseBox(e,!0,(function(e,t){1===e.version?e.baseMediaDecodeTime=readBig64(t):e.baseMediaDecodeTime=readBig32(t)}))}},{key:"probe",value:function(t){return!!e.findBox(t,["ftyp"])}},{key:"parseSampleFlags",value:function(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}},{key:"moovToTrack",value:function(e,t,r){var n,i,o=e.trak;if(o&&o.length){var a=_findInstanceProperty(o).call(o,(function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),s=_findInstanceProperty(o).call(o,(function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)}));if(a&&t){var l,c,u,d,p,y,h,f=t,$=null===(l=a.tkhd)||void 0===l?void 0:l.trackId;null!=$&&(f.id=a.tkhd.trackId),f.tkhdDuration=a.tkhd.duration,f.mvhdDurtion=e.mvhd.duration,f.mvhdTimecale=e.mvhd.timescale,f.timescale=f.formatTimescale=a.mdia.mdhd.timescale,f.duration=a.mdia.mdhd.duration||f.mvhdDurtion/f.mvhdTimecale*f.timescale;var m,b,g,S,I,T,v,_,P=_entriesInstanceProperty(a.mdia.minf.stbl.stsd)[0];if(f.width=P.width,f.height=P.height,P.pasp&&(f.sarRatio=[P.pasp.hSpacing,P.pasp.vSpacing]),P.hvcC)f.codecType=VideoCodecType.HEVC,f.codec=P.hvcC.codec,f.vps=P.hvcC.vps,f.sps=P.hvcC.sps,f.pps=P.hvcC.pps,f.hvcC=P.hvcC.data;else{if(!P.avcC)throw new Error("unknown video stsd entry");f.codec=P.avcC.codec,f.sps=P.avcC.sps,f.pps=P.avcC.pps}if(f.present=!0,f.ext={},f.ext.stss=null===(c=a.mdia)||void 0===c||null===(u=c.minf)||void 0===u||null===(d=u.stbl)||void 0===d?void 0:d.stss,f.ext.ctts=null===(p=a.mdia)||void 0===p||null===(y=p.minf)||void 0===y||null===(h=y.stbl)||void 0===h?void 0:h.ctts,P&&"encv"===P.type)f.isVideoEncryption=!0,P.default_KID=null===(m=P.sinf)||void 0===m||null===(b=m.schi)||void 0===b?void 0:b.tenc.default_KID,P.default_IsEncrypted=null===(g=P.sinf)||void 0===g||null===(S=g.schi)||void 0===S?void 0:S.tenc.default_IsEncrypted,P.default_IV_size=null===(I=P.sinf)||void 0===I||null===(T=I.schi)||void 0===T?void 0:T.tenc.default_IV_size,f.videoSenc=a.mdia.minf.stbl.senc&&a.mdia.minf.stbl.senc.samples,P.data_format=null===(v=P.sinf)||void 0===v||null===(_=v.frma)||void 0===_?void 0:_.data_format,f.useEME=e.useEME,f.kidValue=e.kidValue,f.pssh=e.pssh,f.encv=P}if(s&&r){var E,R,O,C,w,L,x,Z,A,M=r,G=null===(E=s.tkhd)||void 0===E?void 0:E.trackId;null!=G&&(M.id=s.tkhd.trackId),M.tkhdDuration=s.tkhd.duration,M.mvhdDurtion=e.mvhd.duration,M.mvhdTimecale=e.mvhd.timescale,M.timescale=M.formatTimescale=s.mdia.mdhd.timescale,M.duration=s.mdia.mdhd.duration||M.mvhdDurtion/M.mvhdTimecale*M.timescale;var k,X,N,V,W,D,j,K,H=_entriesInstanceProperty(s.mdia.minf.stbl.stsd)[0];switch(M.sampleSize=H.sampleSize,M.sampleRate=H.sampleRate,M.channelCount=H.channelCount,M.present=!0,H.type){case"alaw":M.codecType=M.codec=AudioCodecType.G711PCMA,M.sampleRate=8e3;break;case"ulaw":M.codecType=M.codec=AudioCodecType.G711PCMU,M.sampleRate=8e3;break;default:M.sampleDuration=AAC.getFrameDuration(M.sampleRate,M.timescale),M.sampleRateIndex=AAC.getRateIndexByRate(M.sampleRate),M.objectType=(null===(n=H.esds)||void 0===n?void 0:n.objectType)||2,H.esds&&(M.config=_Array$from(H.esds.config)),M.codec=(null===(i=H.esds)||void 0===i?void 0:i.codec)||"mp4a.40.2"}if(M.sampleDuration=AAC.getFrameDuration(M.sampleRate,M.timescale),M.objectType=(null===(R=H.esds)||void 0===R?void 0:R.objectType)||2,H.esds&&(H.esds.config?M.config=_Array$from(H.esds.config):console.warn("esds config is null")),M.codec=(null===(O=H.esds)||void 0===O?void 0:O.codec)||"mp4a.40.2",M.sampleRateIndex=AAC.getRateIndexByRate(M.sampleRate),M.ext={},M.ext.stss=null===(C=s.mdia)||void 0===C||null===(w=C.minf)||void 0===w||null===(L=w.stbl)||void 0===L?void 0:L.stss,M.ext.ctts=null===(x=s.mdia)||void 0===x||null===(Z=x.minf)||void 0===Z||null===(A=Z.stbl)||void 0===A?void 0:A.ctts,M.present=!0,H&&"enca"===H.type)M.isAudioEncryption=!0,H.data_format=null===(k=H.sinf)||void 0===k||null===(X=k.frma)||void 0===X?void 0:X.data_format,H.default_KID=null===(N=H.sinf)||void 0===N||null===(V=N.schi)||void 0===V?void 0:V.tenc.default_KID,H.default_IsEncrypted=null===(W=H.sinf)||void 0===W||null===(D=W.schi)||void 0===D?void 0:D.tenc.default_IsEncrypted,H.default_IV_size=null===(j=H.sinf)||void 0===j||null===(K=j.schi)||void 0===K?void 0:K.tenc.default_IV_size,M.audioSenc=s.mdia.minf.stbl.senc&&s.mdia.minf.stbl.senc.samples,M.useEME=e.useEME,M.kidValue=e.kidValue,M.enca=H}if(r&&(r.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!r&&r.isAudioEncryption),null!=t&&t.encv||null!=r&&r.enca){var Y,F,U=null==t||null===(Y=t.encv)||void 0===Y?void 0:Y.default_KID,B=null==r||null===(F=r.enca)||void 0===F?void 0:F.default_KID,J=U||B?(U||B).join(""):null;t&&(t.kid=J),r&&(r.kid=J)}return t&&(t.flags=3841),r&&(r.flags=1793),{videoTrack:t,audioTrack:r}}}},{key:"evaluateDefaultDuration",value:function(e,t,r){var n,i=null==t||null===(n=t.samples)||void 0===n?void 0:n.length;return i?1024*i/t.timescale*e.timescale/r:1024}},{key:"moofToSamples",value:function(t,r,n){var i,o={};return t.mfhd&&(r&&(r.sequenceNumber=t.mfhd.sequenceNumber),n&&(n.sequenceNumber=t.mfhd.sequenceNumber)),_forEachInstanceProperty(i=t.traf).call(i,(function(t){var i=t.tfhd,a=t.tfdt,s=t.trun;if(i&&s){a&&(r&&r.id===i.trackId&&(r.baseMediaDecodeTime=a.baseMediaDecodeTime),n&&n.id===i.trackId&&(n.baseMediaDecodeTime=a.baseMediaDecodeTime));var l=i.defaultSampleSize||0,c=i.defaultSampleDuration||e.evaluateDefaultDuration(r,n,s.samples.length||s.sampleCount),u=s.dataOffset||0,d=0,p=-1;if(!s.samples.length&&s.sampleCount){o[i.trackId]=[];for(var y=0;y<s.sampleCount;y++)o[i.trackId].push({offset:u,dts:d,duration:c,size:l}),d+=c,u+=l}else{var h;o[i.trackId]=_mapInstanceProperty(h=s.samples).call(h,(function(e,t){return(e={offset:u,dts:d,pts:d+(e.cts||0),duration:e.duration||c,size:e.size||l,gopId:p,keyframe:0===t||null!==_flagsInstanceProperty(e)&&void 0!==_flagsInstanceProperty(e)&&(65536&_flagsInstanceProperty(e))>>>0!=65536}).keyframe&&(p++,e.gopId=p),d+=e.duration,u+=e.size,e}))}}})),o}},{key:"moovToSamples",value:function(e){var t=e.trak;if(t&&t.length){var r=_findInstanceProperty(t).call(t,(function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),n=_findInstanceProperty(t).call(t,(function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)}));if(r||n){var i,o;if(r){var a,s,l=null===(a=r.mdia)||void 0===a||null===(s=a.minf)||void 0===s?void 0:s.stbl;if(!l)return;var c=l.stts,u=l.stsc,d=l.stsz,p=l.stco,y=l.stss,h=l.ctts;if(!(c&&u&&d&&p&&y))return;i=getSamples(c,u,d,p,h,y)}if(n){var f,$,m,b=null===(f=n.mdia)||void 0===f||null===($=f.minf)||void 0===$?void 0:$.stbl;if(!b)return;var g=null===(m=n.mdia.mdhd)||void 0===m?void 0:m.timescale,S=b.stts,I=b.stsc,T=b.stsz,v=b.stco;if(!(g&&S&&I&&T&&v))return;o=getSamples(S,I,T,v)}return{videoSamples:i,audioSamples:o}}}}}]),e}();function getSamples(e,t,r,n,i,o){var a,s,l,c,u=[],d=null==i?void 0:_entriesInstanceProperty(i),p=_entriesInstanceProperty(t),y=_entriesInstanceProperty(n),h=r.entrySizes,f=null==o?void 0:_entriesInstanceProperty(o);f&&(s={},_forEachInstanceProperty(f).call(f,(function(e){s[e-1]=!0}))),d&&(l=[],_forEachInstanceProperty(d).call(d,(function(e){for(var t=e.count,r=e.offset,n=0;n<t;n++)l.push(r)})));var $=-1,m=0,b=0,g=0,S=0,I=0,T=p[0].samplesPerChunk,v=p[1]?p[1].firstChunk-1:1/0;return _forEachInstanceProperty(a=_entriesInstanceProperty(e)).call(a,(function(e){for(var t=e.count,n=e.delta,i=0;i<t;i++)c={dts:m,duration:n,size:h[b]||r.sampleSize,offset:y[g]+I,index:b},f&&(c.keyframe=s[b],c.keyframe&&$++,c.gopId=$),l&&b<l.length&&(c.pts=c.dts+l[b]),u.push(c),m+=n,++b<T?I+=c.size:(g++,I=0,g>=v&&(S++,v=p[S+1]?p[S+1].firstChunk-1:1/0),T+=p[S].samplesPerChunk)})),u}function parseVisualSampleEntry(e,t){return e.dataReferenceIndex=readBig16(t,6),e.width=readBig16(t,24),e.height=readBig16(t,26),e.horizresolution=readBig32(t,28),e.vertresolution=readBig32(t,32),e.frameCount=readBig16(t,40),e.depth=readBig16(t,74),78}function parseAudioSampleEntry(e,t){return e.dataReferenceIndex=readBig16(t,6),e.channelCount=readBig16(t,16),e.sampleSize=readBig16(t,18),e.sampleRate=readBig32(t,24)/65536,28}function parseBox(e,t,r){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var n={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(n.version=e.data[e.headerSize],n.flags=readBig24(e.data,e.headerSize+1),n.headerSize+=4),r(n,e.data.subarray(n.headerSize),n.start+n.headerSize),n}}var padStart3=function(e,t,r){for(var n=String(r),i=t>>0,o=Math.ceil(i/n.length),a=[],s=String(e);o--;)a.push(n);return a.join("").substring(0,i-s.length)+s},toHex=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return _forEachInstanceProperty(r).call(r,(function(t){e.push(padStart3(Number(t).toString(16),2,0))})),e[0]},$$u=_export,global$5=global$O,arrayBufferModule=arrayBuffer,setSpecies=setSpecies$5,ARRAY_BUFFER="ArrayBuffer",ArrayBuffer$1=arrayBufferModule[ARRAY_BUFFER],NativeArrayBuffer=global$5[ARRAY_BUFFER];$$u({global:!0,constructor:!0,forced:NativeArrayBuffer!==ArrayBuffer$1},{ArrayBuffer:ArrayBuffer$1}),setSpecies(ARRAY_BUFFER);var _context21,Buffer=function(){function e(){_classCallCheck$4(this,e),this.buffer=new Uint8Array(0)}return _createClass$4(e,[{key:"write",value:function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];_forEachInstanceProperty(r).call(r,(function(t){t?e.buffer=Concat(Uint8Array,e.buffer,t):window.console.warn(t)}))}}],[{key:"writeUint16",value:function(e){return new Uint8Array([e>>8&255,255&e])}},{key:"writeUint32",value:function(e){return new Uint8Array([e>>24,e>>16&255,e>>8&255,255&e])}}]),e}(),UINT32_MAX=Math.pow(2,32)-1,MP4$1=function(){function e(){_classCallCheck$4(this,e)}return _createClass$4(e,null,[{key:"box",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];r=_filterInstanceProperty(r).call(r,Boolean);var i=8+_reduceInstanceProperty(r).call(r,(function(e,t){return e+t.byteLength}),0),o=new Uint8Array(i);o[0]=i>>24&255,o[1]=i>>16&255,o[2]=i>>8&255,o[3]=255&i,o.set(e,4);var a=8;return _forEachInstanceProperty(r).call(r,(function(e){o.set(e,a),a+=e.byteLength})),o}},{key:"ftyp",value:function(t){var r=_findInstanceProperty(t).call(t,(function(e){return e.type===TrackType.VIDEO&&e.codecType===VideoCodecType.HEVC}));return r?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(t){return concatUint8Array$1(e.ftyp(t),e.moov(t))}},{key:"pssh",value:function(t){var r,n=new Uint8Array(_concatInstanceProperty(r=[1,0,0,0]).call(r,[16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],parse(t.kid),[0,0,0,0]));return e.box(e.types.pssh,n)}},{key:"moov",value:function(t){if(t[0].useEME&&(t[0].encv||t[0].enca)){var r;t[0].pssh||(t[0].pssh={kid:t[0].kid});var n=this.pssh(t[0].pssh);return e.box.apply(e,_concatInstanceProperty(r=[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale),e.mvex(t)]).call(r,_toConsumableArray$2(_mapInstanceProperty(t).call(t,(function(t){return e.trak(t)}))),[n]))}var i;return e.box.apply(e,_concatInstanceProperty(i=[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale)]).call(i,_toConsumableArray$2(_mapInstanceProperty(t).call(t,(function(t){return e.trak(t)}))),[e.mvex(t)]))}},{key:"mvhd",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,t>>24&255,t>>16&255,t>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:"trak",value:function(t){return e.box(e.types.trak,e.tkhd(t.id,t.tkhdDuration||0,t.width,t.height),e.mdia(t))}},{key:"tkhd",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,n>>8&255,255&n,0,0,i>>8&255,255&i,0,0]))}},{key:"mdia",value:function(t){return e.box(e.types.mdia,e.mdhd(t.duration,t.timescale),e.hdlr(t.type),e.minf(t))}},{key:"mdhd",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,t>>24&255,t>>16&255,t>>8&255,255&t,85,196,0,0]))}},{key:"hdlr",value:function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])}},{key:"minf",value:function(t){return e.box(e.types.minf,t.type===TrackType.VIDEO?e.VMHD:e.SMHD,e.DINF,e.stbl(t))}},{key:"stbl",value:function(t){var r=[];return t&&t.ext&&t.ext.stss&&r.push(e.stss(_entriesInstanceProperty(t.ext.stss))),e.box(e.types.stbl,e.stsd(t),e.STTS,r[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(t){var r;return r="audio"===t.type?t.useEME&&t.enca?e.enca(t):e.mp4a(t):t.useEME&&t.encv?e.encv(t):e.avc1hev1(t),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),r)}},{key:"enca",value:function(t){var r=t.enca.channelCount,n=t.enca.sampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>8&255,255&n,0,0]),o=e.esds(t.config),a=e.sinf(t.enca);return e.box(e.types.enca,i,o,a)}},{key:"encv",value:function(t){var r,n,i,o=t.sps.length>0?t.sps[0]:[],a=t.pps.length>0?t.pps[0]:[],s=t.width,l=t.height,c=t.sarRatio[0],u=t.sarRatio[1],d=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,s>>8&255,255&s,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),p=new Uint8Array(_concatInstanceProperty(n=_concatInstanceProperty(r=_concatInstanceProperty(i=[1,o[1],o[2],o[3],255,225,o.length>>>8&255,255&o.length]).apply(i,_toConsumableArray$2(o))).call(r,[1,a.length>>>8&255,255&a.length])).apply(n,_toConsumableArray$2(a))),y=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),h=e.sinf(t.encv),f=new Uint8Array([c>>24,c>>16&255,c>>8&255,255&c,u>>24,u>>16&255,u>>8&255,255&u]);return e.box(e.types.encv,d,e.box(e.types.avcC,p),e.box(e.types.btrt,y),h,e.box(e.types.pasp,f))}},{key:"schi",value:function(t){var r=new Uint8Array([]),n=e.tenc(t);return e.box(e.types.schi,r,n)}},{key:"tenc",value:function(t){var r,n=new Uint8Array(_concatInstanceProperty(r=[0,0,0,0,0,0,255&t.default_IsEncrypted,255&t.default_IV_size]).call(r,parse(t.default_KID)));return e.box(e.types.tenc,n)}},{key:"sinf",value:function(t){var r=new Uint8Array([]),n=new Uint8Array([t.data_format.charCodeAt(0),t.data_format.charCodeAt(1),t.data_format.charCodeAt(2),t.data_format.charCodeAt(3)]),i=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),o=e.schi(t);return e.box(e.types.sinf,r,e.box(e.types.frma,n),e.box(e.types.schm,i),o)}},{key:"avc1hev1",value:function(t){var r,n=t.codecType===VideoCodecType.HEVC,i=n?e.types.hvc1:e.types.avc1,o=n?e.hvcC(t):e.avcC(t),a=[new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,t.width>>8&255,255&t.width,t.height>>8&255,255&t.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o];return n?a.push(e.box(e.types.fiel,new Uint8Array([1,0]))):t.sarRatio&&t.sarRatio.length>1&&a.push(e.pasp(t.sarRatio)),e.box.apply(e,_concatInstanceProperty(r=[i]).call(r,a))}},{key:"avcC",value:function(t){var r,n,i,o,a,s,l=[],c=[];return _forEachInstanceProperty(r=t.sps).call(r,(function(e){s=e.byteLength,l.push(s>>>8&255),l.push(255&s),l.push.apply(l,_toConsumableArray$2(e))})),_forEachInstanceProperty(n=t.pps).call(n,(function(e){s=e.byteLength,c.push(s>>>8&255),c.push(255&s),c.push.apply(c,_toConsumableArray$2(e))})),e.box(e.types.avcC,new Uint8Array(_concatInstanceProperty(o=_concatInstanceProperty(i=_concatInstanceProperty(a=[1,l[3],l[4],l[5],255,224|t.sps.length]).apply(a,l)).call(i,[t.pps.length])).apply(o,c)))}},{key:"hvcC",value:function(t){var r=t.hvcC;if(r instanceof ArrayBuffer||r instanceof Uint8Array)return r;var n,i=t.vps,o=t.sps,a=t.pps;if(r){var s=r.generalProfileCompatibilityFlags,l=r.generalConstraintIndicatorFlags,c=(i.length&&1)+(o.length&&1)+(a.length&&1);n=[1,r.generalProfileSpace<<6|r.generalTierFlag<<5|r.generalProfileIdc,s>>>24,s>>>16,s>>>8,s,l[0],l[1],l[2],l[3],l[4],l[5],r.generalLevelIdc,240,0,252,252|r.chromaFormatIdc,248|r.bitDepthLumaMinus8,248|r.bitDepthChromaMinus8,0,0,r.numTemporalLayers<<3|r.temporalIdNested<<2|3,c];var u=function(e){var t;n.push(e.length>>8,e.length),(t=n).push.apply(t,_toConsumableArray$2(e))};i.length&&(n.push(160,0,i.length),_forEachInstanceProperty(i).call(i,u)),o.length&&(n.push(161,0,o.length),_forEachInstanceProperty(o).call(o,u)),a.length&&(n.push(162,0,a.length),_forEachInstanceProperty(a).call(a,u))}else n=[1,1,96,0,0,0,144,0,0,0,0,0,93,240,0,252,253,248,248,0,0,15,3,160,0,1,0,24,64,1,12,1,255,255,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,153,152,9,161,0,1,0,45,66,1,1,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,160,2,128,128,45,22,89,153,164,147,43,154,128,128,128,130,0,0,3,0,2,0,0,3,0,50,16,162,0,1,0,7,68,1,193,114,180,98,64];return e.box(e.types.hvcC,new Uint8Array(n))}},{key:"pasp",value:function(t){var r=_slicedToArray$1(t,2),n=r[0],i=r[1];return e.box(e.types.pasp,new Uint8Array([n>>24,n>>16&255,n>>8&255,255&n,i>>24,i>>16&255,i>>8&255,255&i]))}},{key:"mp4a",value:function(t){return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,t.sampleRate>>8&255,255&t.sampleRate,0,0]),t.config.length?e.esds(t.config):void 0)}},{key:"esds",value:function(t){var r,n,i,o=t.length;return e.box(e.types.esds,new Uint8Array(_concatInstanceProperty(r=_concatInstanceProperty(n=_concatInstanceProperty(i=[0,0,0,0,3,23+o,0,0,0,4,15+o,64,21,0,6,0,0,0,218,192,0,0,218,192,5]).call(i,[o])).call(n,t)).call(r,[6,1,2])))}},{key:"mvex",value:function(t){var r,n=e.box.apply(e,_concatInstanceProperty(r=[e.types.mvex]).call(r,_toConsumableArray$2(_mapInstanceProperty(t).call(t,(function(t){return e.trex(t.id)})))));return n}},{key:"trex",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(t){var r,n=e.box.apply(e,_concatInstanceProperty(r=[e.types.moof,e.mfhd(t[0].samples?t[0].samples[0].gopId:0)]).call(r,_toConsumableArray$2(_mapInstanceProperty(t).call(t,(function(t){return e.traf(t)})))));return n}},{key:"mfhd",value:function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"traf",value:function(t){var r=e.tfhd(t.id),n=e.tfdt(t,t.baseMediaDecodeTime);if(t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)){if(t.isVideoEncryption){if(1===t.id){var i=e.saiz(t),o=e.saio(t),a=e.trun1(t),s=e.senc(t);return e.box(e.types.traf,r,n,i,o,a,s)}if(t.isAudioEncryption){var l=e.sbgp(),c=e.saiz(t),u=e.saio(t),d=e.senc(t),p=e.trun1(t);return e.box(e.types.traf,r,n,l,c,u,d,p)}var y=e.sbgp(),h=e.trun1(t);return e.box(e.types.traf,r,n,y,h)}if(1===t.id){var f=e.trun1(t);return e.box(e.types.traf,r,n,f)}var $=e.sbgp(),m=e.saiz(t),b=e.saio(t),g=e.senc(t),S=e.trun1(t);return e.box(e.types.traf,r,n,$,m,b,g,S)}var I=e.sdtp(t);return e.box(e.types.traf,r,n,I,e.trun(t.samples,I.byteLength+76))}},{key:"sdtp",value:function(t){var r,n=new Buffer;return _forEachInstanceProperty(r=t.samples).call(r,(function(e){n.write(new Uint8Array(1===t.id?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),n.buffer)}},{key:"trun1",value:function(t){var r,n=new Buffer,i=Buffer.writeUint32(t.samples.length),o=null;if(1===t.id){var a=t.videoSencLength;o=Buffer.writeUint32(16*t.samples.length+a+149),!t.isVideoEncryption&&t.isAudioEncryption&&(o=Buffer.writeUint32(16*t.samples.length+92))}else{var s=12*t.samples.length+124;t.isAudioEncryption&&(s=12*t.samples.length+8*t.audioSenc.length+177),o=Buffer.writeUint32(s)}return _forEachInstanceProperty(r=t.samples).call(r,(function(e){n.write(Buffer.writeUint32(e.duration)),n.write(Buffer.writeUint32(e.size)),n.write(Buffer.writeUint32(e.keyframe?33554432:65536)),1===t.id&&n.write(Buffer.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,_flagsInstanceProperty(t)),i,o,n.buffer)}},{key:"senc",value:function(t){var r=new Buffer,n=t.samples.length,i=1===t.id?16:8,o=1===t.id?2:0,a=[],s=0;return 1===t.id?(a=t.videoSenc,s=t.videoSencLength):a=t.audioSenc,s=s||i*n,r.write(Buffer.writeUint32(16+s),e.types.senc,this.extension(0,o)),r.write(Buffer.writeUint32(n)),_forEachInstanceProperty(a).call(a,(function(e){for(var t=0;t<e.InitializationVector.length;t++)r.write(new Uint8Array([e.InitializationVector[t]]));var n;e.subsamples&&e.subsamples.length&&(r.write(Buffer.writeUint16(e.subsamples.length)),_forEachInstanceProperty(n=e.subsamples).call(n,(function(e){r.write(Buffer.writeUint16(e.BytesOfClearData)),r.write(Buffer.writeUint32(e.BytesOfProtectedData))})))})),r.buffer}},{key:"saio",value:function(t){var r=12*t.samples.length+141;2===t.id&&t.isAudioEncryption&&(r=149);var n=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r]);return e.box(e.types.saio,n)}},{key:"saiz",value:function(t){var r=t.samples.length,n=new Uint8Array([0,0,0,0,16,r>>24&255,r>>16&255,r>>8&255,255&r]);return e.box(e.types.saiz,n)}},{key:"sbgp",value:function(){var t=new Uint8Array([114,111,108,108,0,0,0,1,0,0,1,25,0,0,0,1]);return e.box(e.types.sbgp,this.extension(0,0),t)}},{key:"extension",value:function(e,t){return new Uint8Array([e,t>>16&255,t>>8&255,255&t])}},{key:"tfhd",value:function(t){return e.box(e.types.tfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"tfdt",value:function(t,r){var n=Math.floor(r/(UINT32_MAX+1)),i=Math.floor(r%(UINT32_MAX+1));return t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,i>>24,i>>16&255,i>>8&255,255&i]))}},{key:"trun",value:function(t,r){var n=t.length,i=12+16*n;r+=8+i;var o=new Uint8Array(i);o.set([0,0,15,1,n>>>24&255,n>>>16&255,n>>>8&255,255&n,r>>>24&255,r>>>16&255,r>>>8&255,255&r],0);for(var a=0;a<n;a++){var s=t[a],l=s.duration,c=s.size,u=s.flag,d=void 0===u?{}:u,p=s.cts,y=void 0===p?0:p;o.set([l>>>24&255,l>>>16&255,l>>>8&255,255&l,c>>>24&255,c>>>16&255,c>>>8&255,255&c,d.isLeading<<2|(null===d.dependsOn||void 0===d.dependsOn?1:d.dependsOn),d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|(null===d.isNonSyncSample||void 0===d.isNonSyncSample?1:d.isNonSyncSample),61440&d.degradationPriority,15&d.degradationPriority,y>>>24&255,y>>>16&255,y>>>8&255,255&y],12+16*a)}return e.box(e.types.trun,o)}},{key:"moovMP4",value:function(t){var r;return e.box.apply(e,_concatInstanceProperty(r=[e.types.moov,e.mvhd(t[0].duration,t[0].timescale)]).call(r,_toConsumableArray$2(_mapInstanceProperty(t).call(t,(function(t){return e.trackMP4(t)})))))}},{key:"trackMP4",value:function(t){return e.box(e.types.trak,e.tkhd(t.id,t.duration,t.width,t.height),e.mdiaMP4(t))}},{key:"mdiaMP4",value:function(t){return e.box(e.types.mdia,e.mdhd(t.duration,t.timescale),e.hdlr(t.type),e.minfMP4(t))}},{key:"minfMP4",value:function(t){return e.box(e.types.minf,t.type===TrackType.VIDEO?e.VMHD:e.SMHD,e.DINF,e.stblMP4(t))}},{key:"stblMP4",value:function(t){var r,n=t.ext,i=[e.stsd(t),e.stts(n.stts),e.stsc(n.stsc),e.stsz(n.stsz),e.stco(n.stco)];return n.stss.length&&i.push(e.stss(n.stss)),n.ctts.length&&i.push(e.ctts(n.ctts)),e.box.apply(e,_concatInstanceProperty(r=[e.types.stbl]).call(r,i))}},{key:"stts",value:function(t){var r=t.length,n=new Uint8Array(8*r),i=0;return _forEachInstanceProperty(t).call(t,(function(e){var t=e.value,r=e.count;n.set([r>>24,r>>16&255,r>>8&255,255&r,t>>24,t>>16&255,t>>8&255,255&t],i),i+=8})),e.box(e.types.stts,concatUint8Array$1(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stsc",value:function(t){var r=t.length,n=new Uint8Array(12*r),i=0;return _forEachInstanceProperty(t).call(t,(function(e){var t=e.firstChunk,r=e.samplesPerChunk,o=e.sampleDescIndex;n.set([t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,o>>24,o>>16&255,o>>8&255,255&o],i),i+=12})),e.box(e.types.stsc,concatUint8Array$1(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stsz",value:function(t){var r=t.length,n=new Uint8Array(4*r),i=0;return _forEachInstanceProperty(t).call(t,(function(e){n.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stsz,concatUint8Array$1(new Uint8Array([0,0,0,0,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stco",value:function(t){var r=t.length,n=new Uint8Array(4*r),i=0;return _forEachInstanceProperty(t).call(t,(function(e){n.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stco,concatUint8Array$1(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stss",value:function(t){var r=t.length,n=new Uint8Array(4*r),i=0;return _forEachInstanceProperty(t).call(t,(function(e){n.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stss,concatUint8Array$1(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"ctts",value:function(t){var r=t.length,n=new Uint8Array(8*r),i=0;return _forEachInstanceProperty(t).call(t,(function(e){var t=e.value,r=e.count;n.set([r>>24,r>>16&255,r>>8&255,255&r,t>>24,t>>16&255,t>>8&255,255&t],i),i+=8})),e.box(e.types.ctts,concatUint8Array$1(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"styp",value:function(){return e.box(e.types.styp,new Uint8Array([109,115,100,104,0,0,0,0,109,115,100,104,109,115,105,120]))}},{key:"sidx",value:function(t){var r,n=t.timescale,i=t.samples[0].duration,o=i*t.samples.length,a=t.samples[0].sampleOffset*i,s=8;_forEachInstanceProperty(r=t.samples).call(r,(function(e){s+=e.size}));var l=0;if(1===t.id){var c,u=0;t.videoSenc&&(c=t.videoSenc),1===t.id&&_forEachInstanceProperty(c).call(c,(function(e){u+=8,e.subsamples&&e.subsamples.length&&(u+=2,u+=6*e.subsamples.length)})),t.videoSencLength=u,l=s+141+16*t.samples.length+u,t.useEME&&t.isAudioEncryption&&!t.isVideoEncryption&&(l=s+16*t.samples.length+84)}else l=s+116+12*t.samples.length,t.useEME&&t.isAudioEncryption&&(l=s+169+12*t.samples.length+8*t.audioSenc.length);var d=new Uint8Array([0,0,0,0,0,0,0,255&t.id,n>>24&255,n>>16&255,n>>8&255,255&n,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,0,0,0,1,0,l>>16&255,l>>8&255,255&l,o>>24&255,o>>16&255,o>>8&255,255&o,144,0,0,0]);return e.box(e.types.sidx,d)}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}}]),e}();_defineProperty$2(MP4$1,"types",_reduceInstanceProperty(_context21=["avc1","avcC","hvc1","hvcC","dinf","dref","esds","ftyp","hdlr","mdat","mdhd","mdia","mfhd","minf","moof","moov","mp4a","mvex","mvhd","pasp","stbl","stco","stsc","stsd","stsz","stts","tfdt","tfhd","traf","trak","trex","tkhd","vmhd","smhd","ctts","stss","styp","pssh","sidx","sbgp","saiz","saio","senc","trun","encv","enca","sinf","btrt","frma","tenc","schm","schi","mehd","fiel","sdtp"]).call(_context21,(function(e,t){return e[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)],e}),_Object$create(null))),_defineProperty$2(MP4$1,"HDLR_TYPES",{video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])}),_defineProperty$2(MP4$1,"FTYPAVC1",MP4$1.box(MP4$1.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),_defineProperty$2(MP4$1,"FTYPHEV1",MP4$1.box(MP4$1.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),_defineProperty$2(MP4$1,"DINF",MP4$1.box(MP4$1.types.dinf,MP4$1.box(MP4$1.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),_defineProperty$2(MP4$1,"VMHD",MP4$1.box(MP4$1.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),_defineProperty$2(MP4$1,"SMHD",MP4$1.box(MP4$1.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),_defineProperty$2(MP4$1,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),_defineProperty$2(MP4$1,"STTS",MP4$1.box(MP4$1.types.stts,MP4$1.StblTable)),_defineProperty$2(MP4$1,"STSC",MP4$1.box(MP4$1.types.stsc,MP4$1.StblTable)),_defineProperty$2(MP4$1,"STSZ",MP4$1.box(MP4$1.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),_defineProperty$2(MP4$1,"STCO",MP4$1.box(MP4$1.types.stco,MP4$1.StblTable));var Logger$1=function(){function e(t,r){_classCallCheck$4(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]"),e.disabled=r}return _createClass$4(e,[{key:"debug",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).debug.apply(r,_concatInstanceProperty(t=[this._prefix]).call(t,i))}}},{key:"log",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).log.apply(r,_concatInstanceProperty(t=[this._prefix]).call(t,i))}}},{key:"warn",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).warn.apply(r,_concatInstanceProperty(t=[this._prefix]).call(t,i))}}},{key:"error",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).error.apply(r,_concatInstanceProperty(t=[this._prefix]).call(t,i))}}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();_defineProperty$2(Logger$1,"disabled",!0);var FMP4Remuxer=function(){function e(t,r,n){_classCallCheck$4(this,e),this.videoTrack=t,this.audioTrack=r;var i=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=i&&Number(i[1])<50,this.log=new Logger$1("FMP4Remuxer",!n||!n.openLog||!n.openLog)}return _createClass$4(e,[{key:"remux",value:function(){var e,t,r,n,i,o=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.videoTrack,l=this.audioTrack,c=s.exist(),u=l.exist(),d=[];return o&&(a&&a.initMerge?(c&&d.push(this.videoTrack),u&&d.push(this.audioTrack),r=MP4$1.initSegment(d)):(c&&(e=MP4$1.initSegment([this.videoTrack])),u&&(t=MP4$1.initSegment([this.audioTrack])))),c&&s.hasSample()&&(n=this._remuxVideo()),u&&l.hasSample()&&(i=this._remuxAudio()),s.samples=[],l.samples=[],{initSegment:r,videoInitSegment:e,audioInitSegment:t,videoSegment:n,audioSegment:i}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var t=e.samples,r=0;_forEachInstanceProperty(t).call(t,(function(e){var t;r+=_reduceInstanceProperty(t=e.units).call(t,(function(e,t){return e+t.byteLength}),0),r+=4*e.units.length}));for(var n,i=new Uint8Array(r),o=new DataView(i.buffer),a=function(e,r,a,s){var l;s=t[e];var u=0;_forEachInstanceProperty(l=s.units).call(l,(function(e){o.setUint32(a,e.byteLength),a+=4,i.set(e,a),a+=e.byteLength,u+=4+e.byteLength})),s.size=u,c=a,n=s},s=0,l=t.length,c=0;s<l;s++)a(s,0,c,n);var u=MP4$1.mdat(i);return e.isVideoEncryption||e.isAudioEncryption?concatUint8Array$1(MP4$1.styp(),MP4$1.sidx(e),MP4$1.moof([e]),u):concatUint8Array$1(MP4$1.moof([e]),u)}},{key:"_remuxAudio",value:function(){var e,t,r=this.audioTrack,n=new Uint8Array(_reduceInstanceProperty(e=r.samples).call(e,(function(e,t){return e+t.size}),0));_reduceInstanceProperty(t=r.samples).call(t,(function(e,t){return n.set(t.data,e),e+t.size}),0);var i=MP4$1.mdat(n);return r.isVideoEncryption||r.isAudioEncryption?concatUint8Array$1(MP4$1.styp(),MP4$1.sidx(r),MP4$1.moof([r]),i):concatUint8Array$1(MP4$1.moof([r]),i)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}();function _getPrototypeOf$3(e){var t;return(_getPrototypeOf$3=_Object$setPrototypeOf$1?_bindInstanceProperty$1(t=_Object$getPrototypeOf$1).call(t):function(e){return e.__proto__||_Object$getPrototypeOf$1(e)})(e)}function _superPropBase$1(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf$3(e)););return e}function _get$1(){var e;"undefined"!=typeof Reflect&&_Reflect$get$1?_get$1=_bindInstanceProperty$1(e=_Reflect$get$1).call(e):_get$1=function(e,t,r){var n=_superPropBase$1(e,t);if(n){var i=_Object$getOwnPropertyDescriptor$1(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}};return _get$1.apply(this,arguments)}function _setPrototypeOf$3(e,t){var r;return(_setPrototypeOf$3=_Object$setPrototypeOf$1?_bindInstanceProperty$1(r=_Object$setPrototypeOf$1).call(r):function(e,t){return e.__proto__=t,e})(e,t)}function _inherits$3(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=_Object$create$1(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),_Object$defineProperty$1(e,"prototype",{writable:!1}),t&&_setPrototypeOf$3(e,t)}function _isNativeReflectConstruct$3(){if("undefined"==typeof Reflect||!_Reflect$construct$1)return!1;if(_Reflect$construct$1.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(_Reflect$construct$1(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _assertThisInitialized$3(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn$3(e,t){if(t&&("object"===_typeof$5(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$3(e)}function _createSuper$3(e){var t=_isNativeReflectConstruct$3();return function(){var r,n=_getPrototypeOf$3(e);if(t){var i=_getPrototypeOf$3(this).constructor;r=_Reflect$construct$1(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn$3(this,r)}}var $$t=_export$1,toObject$4=toObject$v,lengthOfArrayLike$2=lengthOfArrayLike$v,setArrayLength=arraySetLength$1,doesNotExceedSafeInteger=doesNotExceedSafeInteger$6,fails$b=fails$1t,INCORRECT_TO_LENGTH=fails$b((function(){return 4294967297!==[].push.call({length:4294967296},1)})),properErrorOnNonWritableLength=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}},FORCED$9=INCORRECT_TO_LENGTH||!properErrorOnNonWritableLength();$$t({target:"Array",proto:!0,arity:1,forced:FORCED$9},{push:function(e){var t=toObject$4(this),r=lengthOfArrayLike$2(t),n=arguments.length;doesNotExceedSafeInteger(r+n);for(var i=0;i<n;i++)t[r]=arguments[i],r++;return setArrayLength(t,r),r}});var entryVirtual$2=entryVirtual$o,push$b=entryVirtual$2("Array").push,isPrototypeOf$4=objectIsPrototypeOf$1,method$2=push$b,ArrayPrototype$2=Array.prototype,push$a=function(e){var t=e.push;return e===ArrayPrototype$2||isPrototypeOf$4(ArrayPrototype$2,e)&&t===ArrayPrototype$2.push?method$2:t},parent$n=push$a,push$9=parent$n,parent$m=push$9,push$8=parent$m,parent$l=push$8,push$7=parent$l,push$6=push$7,_pushInstanceProperty=getDefaultExportFromCjs(push$6);function _construct$1(e,t,r){var n;_isNativeReflectConstruct$3()?_construct$1=_bindInstanceProperty$1(n=_Reflect$construct$1).call(n):_construct$1=function(e,t,r){var n=[null];_pushInstanceProperty(n).apply(n,t);var i=new(_bindInstanceProperty$1(Function).apply(e,n));return r&&_setPrototypeOf$3(i,r.prototype),i};return _construct$1.apply(null,arguments)}function _classCallCheck$3(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _toPrimitive(e,t){if("object"!==_typeof$5(e)||null===e)return e;var r=e[_Symbol$toPrimitive$1];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_typeof$5(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof$5(t)?t:String(t)}function _defineProperties$3(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty$1(e,_toPropertyKey(n.key),n)}}function _createClass$3(e,t,r){return t&&_defineProperties$3(e.prototype,t),r&&_defineProperties$3(e,r),_Object$defineProperty$1(e,"prototype",{writable:!1}),e}for(var Base=function(){function e(){_classCallCheck$3(this,e)}return _createClass$3(e,[{key:"mixIn",value:function(e){return _Object$assign(this,e)}},{key:"clone",value:function(){var e=new this.constructor;return _Object$assign(e,this),e}}],[{key:"create",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return _construct$1(this,t)}}]),e}(),WordArray=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4*n.length;_classCallCheck$3(this,r),e=t.call(this);var o=n;if(o instanceof ArrayBuffer&&(o=new Uint8Array(o)),(o instanceof Int8Array||o instanceof Uint8ClampedArray||o instanceof Int16Array||o instanceof Uint16Array||o instanceof Int32Array||o instanceof Uint32Array||o instanceof Float32Array||o instanceof Float64Array)&&(o=new Uint8Array(o.buffer,o.byteOffset,o.byteLength)),o instanceof Uint8Array){for(var a=o.byteLength,s=[],l=0;l<a;l+=1)s[l>>>2]|=o[l]<<24-l%4*8;e.words=s,e.sigBytes=a}else e.words=n,e.sigBytes=i;return e}return _createClass$3(r,[{key:"toString",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:Hex).stringify(this)}},{key:"concat",value:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o<i;o+=1){var a=r[o>>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(var s=0;s<i;s+=4)t[n+s>>>2]=r[s>>>2];return this.sigBytes+=i,this}},{key:"clamp",value:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=Math.ceil(t/4)}},{key:"clone",value:function(){var e,t=_get$1(_getPrototypeOf$3(r.prototype),"clone",this).call(this);return t.words=_sliceInstanceProperty(e=this.words).call(e,0),t}}],[{key:"random",value:function(e){for(var t,n=[],i=function(e){var t=e,r=987654321,n=4294967295;return function(){var e=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return e/=4294967296,(e+=.5)*(Math.random()>.5?1:-1)}},o=0;o<e;o+=4){var a=i(4294967296*(t||Math.random()));t=987654071*a(),n.push(4294967296*a()|0)}return new r(n,e)}}]),r}(),Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i+=1){var o=t[i>>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=_parseInt$1(e.substr(n,2),16)<<24-n%8*4;return new WordArray(r,t/2)}},Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i+=1){var o=t[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=1)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new WordArray(r,t)}},Utf8={stringify:function(e){try{return decodeURIComponent(escape(Latin1.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return Latin1.parse(unescape(encodeURIComponent(e)))}},BufferedBlockAlgorithm=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(){var e;return _classCallCheck$3(this,r),(e=t.call(this))._minBufferSize=0,e}return _createClass$3(r,[{key:"reset",value:function(){this._data=new WordArray,this._nDataBytes=0}},{key:"_append",value:function(e){var t,r=e;"string"==typeof r&&(r=Utf8.parse(r)),_concatInstanceProperty(t=this._data).call(t,r),this._nDataBytes+=r.sigBytes}},{key:"_process",value:function(e){var t,r=this._data,n=this.blockSize,i=r.words,o=r.sigBytes,a=o/(4*n),s=(a=e?Math.ceil(a):Math.max((0|a)-this._minBufferSize,0))*n,l=Math.min(4*s,o);if(s){for(var c=0;c<s;c+=n)this._doProcessBlock(i,c);t=_spliceInstanceProperty(i).call(i,0,s),r.sigBytes-=l}return new WordArray(t,l)}},{key:"clone",value:function(){var e=_get$1(_getPrototypeOf$3(r.prototype),"clone",this).call(this);return e._data=this._data.clone(),e}}]),r}(),Hasher=function(e){_inherits$3(r,BufferedBlockAlgorithm);var t=_createSuper$3(r);function r(e){var n;return _classCallCheck$3(this,r),(n=t.call(this)).blockSize=16,n.cfg=_Object$assign(new Base,e),n.reset(),n}return _createClass$3(r,[{key:"reset",value:function(){_get$1(_getPrototypeOf$3(r.prototype),"reset",this).call(this),this._doReset()}},{key:"update",value:function(e){return this._append(e),this._process(),this}},{key:"finalize",value:function(e){return e&&this._append(e),this._doFinalize()}}],[{key:"_createHelper",value:function(e){return function(t,r){return new e(r).finalize(t)}}},{key:"_createHmacHelper",value:function(e){return function(t,r){return new HMAC(e,r).finalize(t)}}}]),r}(),HMAC=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(e,n){var i;_classCallCheck$3(this,r),i=t.call(this);var o=new e;i._hasher=o;var a=n;"string"==typeof a&&(a=Utf8.parse(a));var s=o.blockSize,l=4*s;a.sigBytes>l&&(a=o.finalize(n)),a.clamp();var c=a.clone();i._oKey=c;var u=a.clone();i._iKey=u;for(var d=c.words,p=u.words,y=0;y<s;y+=1)d[y]^=1549556828,p[y]^=909522486;return c.sigBytes=l,u.sigBytes=l,i.reset(),i}return _createClass$3(r,[{key:"reset",value:function(){var e=this._hasher;e.reset(),e.update(this._iKey)}},{key:"update",value:function(e){return this._hasher.update(e),this}},{key:"finalize",value:function(e){var t,r=this._hasher,n=r.finalize(e);return r.reset(),r.finalize(_concatInstanceProperty(t=this._oKey.clone()).call(t,n))}}]),r}(),parseLoop=function(e,t,r){for(var n=[],i=0,o=0;o<t;o+=1)if(o%4){var a=r[e.charCodeAt(o-1)]<<o%4*2|r[e.charCodeAt(o)]>>>6-o%4*2;n[i>>>2]|=a<<24-i%4*8,i+=1}return WordArray.create(n,i)},Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o<r;o+=3)for(var a=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s<r;s+=1)i.push(n.charAt(a>>>6*(3-s)&63));var l=n.charAt(64);if(l)for(;i.length%4;)i.push(l);return i.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){this._reverseMap=[],n=this._reverseMap;for(var i=0;i<r.length;i+=1)n[r.charCodeAt(i)]=i}var o=r.charAt(64);if(o){var a=_indexOfInstanceProperty(e).call(e,o);-1!==a&&(t=a)}return parseLoop(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},T=[],i$1=0;i$1<64;i$1+=1)T[i$1]=4294967296*Math.abs(Math.sin(i$1+1))|0;var FF$1=function(e,t,r,n,i,o,a){var s=e+(t&r|~t&n)+i+a;return(s<<o|s>>>32-o)+t},GG=function(e,t,r,n,i,o,a){var s=e+(t&n|r&~n)+i+a;return(s<<o|s>>>32-o)+t},HH=function(e,t,r,n,i,o,a){var s=e+(t^r^n)+i+a;return(s<<o|s>>>32-o)+t},II=function(e,t,r,n,i,o,a){var s=e+(r^(t|~n))+i+a;return(s<<o|s>>>32-o)+t},MD5Algo=function(e){_inherits$3(r,Hasher);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,[{key:"_doReset",value:function(){this._hash=new WordArray([1732584193,4023233417,2562383102,271733878])}},{key:"_doProcessBlock",value:function(e,t){for(var r=e,n=0;n<16;n+=1){var i=t+n,o=e[i];r[i]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a=this._hash.words,s=r[t+0],l=r[t+1],c=r[t+2],u=r[t+3],d=r[t+4],p=r[t+5],y=r[t+6],h=r[t+7],f=r[t+8],$=r[t+9],m=r[t+10],b=r[t+11],g=r[t+12],S=r[t+13],I=r[t+14],v=r[t+15],_=a[0],P=a[1],E=a[2],R=a[3];_=FF$1(_,P,E,R,s,7,T[0]),R=FF$1(R,_,P,E,l,12,T[1]),E=FF$1(E,R,_,P,c,17,T[2]),P=FF$1(P,E,R,_,u,22,T[3]),_=FF$1(_,P,E,R,d,7,T[4]),R=FF$1(R,_,P,E,p,12,T[5]),E=FF$1(E,R,_,P,y,17,T[6]),P=FF$1(P,E,R,_,h,22,T[7]),_=FF$1(_,P,E,R,f,7,T[8]),R=FF$1(R,_,P,E,$,12,T[9]),E=FF$1(E,R,_,P,m,17,T[10]),P=FF$1(P,E,R,_,b,22,T[11]),_=FF$1(_,P,E,R,g,7,T[12]),R=FF$1(R,_,P,E,S,12,T[13]),E=FF$1(E,R,_,P,I,17,T[14]),P=FF$1(P,E,R,_,v,22,T[15]),_=GG(_,P,E,R,l,5,T[16]),R=GG(R,_,P,E,y,9,T[17]),E=GG(E,R,_,P,b,14,T[18]),P=GG(P,E,R,_,s,20,T[19]),_=GG(_,P,E,R,p,5,T[20]),R=GG(R,_,P,E,m,9,T[21]),E=GG(E,R,_,P,v,14,T[22]),P=GG(P,E,R,_,d,20,T[23]),_=GG(_,P,E,R,$,5,T[24]),R=GG(R,_,P,E,I,9,T[25]),E=GG(E,R,_,P,u,14,T[26]),P=GG(P,E,R,_,f,20,T[27]),_=GG(_,P,E,R,S,5,T[28]),R=GG(R,_,P,E,c,9,T[29]),E=GG(E,R,_,P,h,14,T[30]),P=GG(P,E,R,_,g,20,T[31]),_=HH(_,P,E,R,p,4,T[32]),R=HH(R,_,P,E,f,11,T[33]),E=HH(E,R,_,P,b,16,T[34]),P=HH(P,E,R,_,I,23,T[35]),_=HH(_,P,E,R,l,4,T[36]),R=HH(R,_,P,E,d,11,T[37]),E=HH(E,R,_,P,h,16,T[38]),P=HH(P,E,R,_,m,23,T[39]),_=HH(_,P,E,R,S,4,T[40]),R=HH(R,_,P,E,s,11,T[41]),E=HH(E,R,_,P,u,16,T[42]),P=HH(P,E,R,_,y,23,T[43]),_=HH(_,P,E,R,$,4,T[44]),R=HH(R,_,P,E,g,11,T[45]),E=HH(E,R,_,P,v,16,T[46]),P=HH(P,E,R,_,c,23,T[47]),_=II(_,P,E,R,s,6,T[48]),R=II(R,_,P,E,h,10,T[49]),E=II(E,R,_,P,I,15,T[50]),P=II(P,E,R,_,p,21,T[51]),_=II(_,P,E,R,g,6,T[52]),R=II(R,_,P,E,u,10,T[53]),E=II(E,R,_,P,m,15,T[54]),P=II(P,E,R,_,l,21,T[55]),_=II(_,P,E,R,f,6,T[56]),R=II(R,_,P,E,v,10,T[57]),E=II(E,R,_,P,y,15,T[58]),P=II(P,E,R,_,S,21,T[59]),_=II(_,P,E,R,d,6,T[60]),R=II(R,_,P,E,b,10,T[61]),E=II(E,R,_,P,c,15,T[62]),P=II(P,E,R,_,$,21,T[63]),a[0]=a[0]+_|0,a[1]=a[1]+P|0,a[2]=a[2]+E|0,a[3]=a[3]+R|0}},{key:"_doFinalize",value:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32;var i=Math.floor(r/4294967296),o=r;t[15+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(n+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),e.sigBytes=4*(t.length+1),this._process();for(var a=this._hash,s=a.words,l=0;l<4;l+=1){var c=s[l];s[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return a}},{key:"clone",value:function(){var e=_get$1(_getPrototypeOf$3(r.prototype),"clone",this).call(this);return e._hash=this._hash.clone(),e}}]),r}();Hasher._createHelper(MD5Algo),Hasher._createHmacHelper(MD5Algo);var EvpKDFAlgo=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(e){var n;return _classCallCheck$3(this,r),(n=t.call(this)).cfg=_Object$assign(new Base,{keySize:4,hasher:MD5Algo,iterations:1},e),n}return _createClass$3(r,[{key:"compute",value:function(e,t){for(var r,n=this.cfg,i=n.hasher.create(),o=WordArray.create(),a=o.words,s=n.keySize,l=n.iterations;a.length<s;){r&&i.update(r),r=i.update(e).finalize(t),i.reset();for(var c=1;c<l;c+=1)r=i.finalize(r),i.reset();_concatInstanceProperty(o).call(o,r)}return o.sigBytes=4*s,o}}]),r}(),Cipher=function(e){_inherits$3(r,BufferedBlockAlgorithm);var t=_createSuper$3(r);function r(e,n,i){var o;return _classCallCheck$3(this,r),(o=t.call(this)).cfg=_Object$assign(new Base,i),o._xformMode=e,o._key=n,o.reset(),o}return _createClass$3(r,[{key:"reset",value:function(){_get$1(_getPrototypeOf$3(r.prototype),"reset",this).call(this),this._doReset()}},{key:"process",value:function(e){return this._append(e),this._process()}},{key:"finalize",value:function(e){return e&&this._append(e),this._doFinalize()}}],[{key:"createEncryptor",value:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)}},{key:"createDecryptor",value:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)}},{key:"_createHelper",value:function(e){var t=function(e){return"string"==typeof e?PasswordBasedCipher:SerializableCipher};return{encrypt:function(r,n,i){return t(n).encrypt(e,r,n,i)},decrypt:function(r,n,i){return t(n).decrypt(e,r,n,i)}}}}]),r}();Cipher._ENC_XFORM_MODE=1,Cipher._DEC_XFORM_MODE=2,Cipher.keySize=4,Cipher.ivSize=4;var BlockCipherMode=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(e,n){var i;return _classCallCheck$3(this,r),(i=t.call(this))._cipher=e,i._iv=n,i}return _createClass$3(r,null,[{key:"createEncryptor",value:function(e,t){return this.Encryptor.create(e,t)}},{key:"createDecryptor",value:function(e,t){return this.Decryptor.create(e,t)}}]),r}();function xorBlock(e,t,r){var n,i=e,o=this._iv;o?(n=o,this._iv=void 0):n=this._prevBlock;for(var a=0;a<r;a+=1)i[t+a]^=n[a]}var CBC=function(e){_inherits$3(r,BlockCipherMode);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r)}();CBC.Encryptor=function(e){_inherits$3(r,CBC);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,[{key:"processBlock",value:function(e,t){var r=this._cipher,n=r.blockSize;xorBlock.call(this,e,t,n),r.encryptBlock(e,t),this._prevBlock=_sliceInstanceProperty(e).call(e,t,t+n)}}]),r}(),CBC.Decryptor=function(e){_inherits$3(r,CBC);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,[{key:"processBlock",value:function(e,t){var r=this._cipher,n=r.blockSize,i=_sliceInstanceProperty(e).call(e,t,t+n);r.decryptBlock(e,t),xorBlock.call(this,e,t,n),this._prevBlock=i}}]),r}();var Pkcs7={pad:function(e,t){for(var r=4*t,n=r-e.sigBytes%r,i=n<<24|n<<16|n<<8|n,o=[],a=0;a<n;a+=4)o.push(i);var s=WordArray.create(o,n);_concatInstanceProperty(e).call(e,s)},unpad:function(e){var t=e,r=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=r}},BlockCipher=function(e){_inherits$3(r,Cipher);var t=_createSuper$3(r);function r(e,n,i){var o;return _classCallCheck$3(this,r),(o=t.call(this,e,n,_Object$assign({mode:CBC,padding:Pkcs7},i))).blockSize=4,o}return _createClass$3(r,[{key:"reset",value:function(){var e;_get$1(_getPrototypeOf$3(r.prototype),"reset",this).call(this);var t=this.cfg,n=t.iv,i=t.mode;this._xformMode===this.constructor._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode=e.call(i,this,n&&n.words),this._mode.__creator=e}},{key:"_doProcessBlock",value:function(e,t){this._mode.processBlock(e,t)}},{key:"_doFinalize",value:function(){var e,t=this.cfg.padding;return this._xformMode===this.constructor._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e}}]),r}(),CipherParams=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(e){var n;return _classCallCheck$3(this,r),(n=t.call(this)).mixIn(e),n}return _createClass$3(r,[{key:"toString",value:function(e){return(e||this.formatter).stringify(this)}}]),r}(),OpenSSLFormatter={stringify:function(e){var t,r,n,i=e.ciphertext,o=e.salt;o?t=_concatInstanceProperty(r=_concatInstanceProperty(n=WordArray.create([1398893684,1701076831])).call(n,o)).call(r,i):t=i;return t.toString(Base64)},parse:function(e){var t,r=Base64.parse(e),n=r.words;return 1398893684===n[0]&&1701076831===n[1]&&(t=WordArray.create(_sliceInstanceProperty(n).call(n,2,4)),_spliceInstanceProperty(n).call(n,0,4),r.sigBytes-=16),CipherParams.create({ciphertext:r,salt:t})}},SerializableCipher=function(e){_inherits$3(r,Base);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,null,[{key:"encrypt",value:function(e,t,r,n){var i=_Object$assign(new Base,this.cfg,n),o=e.createEncryptor(r,i),a=o.finalize(t),s=o.cfg;return CipherParams.create({ciphertext:a,key:r,iv:s.iv,algorithm:e,mode:s.mode,padding:s.padding,blockSize:o.blockSize,formatter:i.format})}},{key:"decrypt",value:function(e,t,r,n){var i=t,o=_Object$assign(new Base,this.cfg,n);return i=this._parse(i,o.format),e.createDecryptor(r,o).finalize(i.ciphertext)}},{key:"_parse",value:function(e,t){return"string"==typeof e?t.parse(e,this):e}}]),r}();SerializableCipher.cfg=_Object$assign(new Base,{format:OpenSSLFormatter});var OpenSSLKdf={execute:function(e,t,r,n){var i,o=n;o||(o=WordArray.random(8));var a=EvpKDFAlgo.create({keySize:t+r}).compute(e,o),s=WordArray.create(_sliceInstanceProperty(i=a.words).call(i,t),4*r);return a.sigBytes=4*t,CipherParams.create({key:a,iv:s,salt:o})}},PasswordBasedCipher=function(e){_inherits$3(r,SerializableCipher);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,null,[{key:"encrypt",value:function(e,t,r,n){var i=_Object$assign(new Base,this.cfg,n),o=i.kdf.execute(r,e.keySize,e.ivSize);i.iv=o.iv;var a=SerializableCipher.encrypt.call(this,e,t,o.key,i);return a.mixIn(o),a}},{key:"decrypt",value:function(e,t,r,n){var i=t,o=_Object$assign(new Base,this.cfg,n);i=this._parse(i,o.format);var a=o.kdf.execute(r,e.keySize,e.ivSize,i.salt);return o.iv=a.iv,SerializableCipher.decrypt.call(this,e,i,a.key,o)}}]),r}();PasswordBasedCipher.cfg=_Object$assign(SerializableCipher.cfg,{kdf:OpenSSLKdf});for(var _SBOX=[],INV_SBOX=[],_SUB_MIX_0=[],_SUB_MIX_1=[],_SUB_MIX_2=[],_SUB_MIX_3=[],INV_SUB_MIX_0=[],INV_SUB_MIX_1=[],INV_SUB_MIX_2=[],INV_SUB_MIX_3=[],d$2=[],i=0;i<256;i+=1)d$2[i]=i<128?i<<1:i<<1^283;for(var x=0,xi=0,_i=0;_i<256;_i+=1){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^255&sx^99,_SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d$2[x],x4=d$2[x2],x8=d$2[x4],t=257*d$2[sx]^16843008*sx;_SUB_MIX_0[x]=t<<24|t>>>8,_SUB_MIX_1[x]=t<<16|t>>>16,_SUB_MIX_2[x]=t<<8|t>>>24,_SUB_MIX_3[x]=t,t=16843009*x8^65537*x4^257*x2^16843008*x,INV_SUB_MIX_0[sx]=t<<24|t>>>8,INV_SUB_MIX_1[sx]=t<<16|t>>>16,INV_SUB_MIX_2[sx]=t<<8|t>>>24,INV_SUB_MIX_3[sx]=t,x?(x=x2^d$2[d$2[d$2[x8^x2]]],xi^=d$2[d$2[xi]]):x=xi=1}var RCON=[0,1,2,4,8,16,32,64,128,27,54],AESAlgo=function(e){_inherits$3(r,BlockCipher);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,[{key:"_doReset",value:function(){var e;if(!this._nRounds||this._keyPriorReset!==this._key){this._keyPriorReset=this._key;var t=this._keyPriorReset,r=t.words,n=t.sigBytes/4;this._nRounds=n+6;var i=4*(this._nRounds+1);this._keySchedule=[];for(var o=this._keySchedule,a=0;a<i;a+=1)a<n?o[a]=r[a]:(e=o[a-1],a%n?n>6&&a%n==4&&(e=_SBOX[e>>>24]<<24|_SBOX[e>>>16&255]<<16|_SBOX[e>>>8&255]<<8|_SBOX[255&e]):(e=_SBOX[(e=e<<8|e>>>24)>>>24]<<24|_SBOX[e>>>16&255]<<16|_SBOX[e>>>8&255]<<8|_SBOX[255&e],e^=RCON[a/n|0]<<24),o[a]=o[a-n]^e);this._invKeySchedule=[];for(var s=this._invKeySchedule,l=0;l<i;l+=1){var c=i-l;e=l%4?o[c]:o[c-4],s[l]=l<4||c<=4?e:INV_SUB_MIX_0[_SBOX[e>>>24]]^INV_SUB_MIX_1[_SBOX[e>>>16&255]]^INV_SUB_MIX_2[_SBOX[e>>>8&255]]^INV_SUB_MIX_3[_SBOX[255&e]]}}}},{key:"encryptBlock",value:function(e,t){this._doCryptBlock(e,t,this._keySchedule,_SUB_MIX_0,_SUB_MIX_1,_SUB_MIX_2,_SUB_MIX_3,_SBOX)}},{key:"decryptBlock",value:function(e,t){var r=e,n=r[t+1];r[t+1]=r[t+3],r[t+3]=n,this._doCryptBlock(r,t,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX),n=r[t+1],r[t+1]=r[t+3],r[t+3]=n}},{key:"_doCryptBlock",value:function(e,t,r,n,i,o,a,s){for(var l=e,c=this._nRounds,u=l[t]^r[0],d=l[t+1]^r[1],p=l[t+2]^r[2],y=l[t+3]^r[3],h=4,f=1;f<c;f+=1){var $=n[u>>>24]^i[d>>>16&255]^o[p>>>8&255]^a[255&y]^r[h];h+=1;var m=n[d>>>24]^i[p>>>16&255]^o[y>>>8&255]^a[255&u]^r[h];h+=1;var b=n[p>>>24]^i[y>>>16&255]^o[u>>>8&255]^a[255&d]^r[h];h+=1;var g=n[y>>>24]^i[u>>>16&255]^o[d>>>8&255]^a[255&p]^r[h];h+=1,u=$,d=m,p=b,y=g}var S=(s[u>>>24]<<24|s[d>>>16&255]<<16|s[p>>>8&255]<<8|s[255&y])^r[h];h+=1;var I=(s[d>>>24]<<24|s[p>>>16&255]<<16|s[y>>>8&255]<<8|s[255&u])^r[h];h+=1;var T=(s[p>>>24]<<24|s[y>>>16&255]<<16|s[u>>>8&255]<<8|s[255&d])^r[h];h+=1;var v=(s[y>>>24]<<24|s[u>>>16&255]<<16|s[d>>>8&255]<<8|s[255&p])^r[h];h+=1,l[t]=S,l[t+1]=I,l[t+2]=T,l[t+3]=v}}]),r}();AESAlgo.keySize=8;var AES=BlockCipher._createHelper(AESAlgo),CTR=function(e){_inherits$3(r,BlockCipherMode);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r)}();CTR.Encryptor=function(e){_inherits$3(r,CTR);var t=_createSuper$3(r);function r(){return _classCallCheck$3(this,r),t.apply(this,arguments)}return _createClass$3(r,[{key:"processBlock",value:function(e,t){var r=e,n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(this._counter=_sliceInstanceProperty(o).call(o,0),a=this._counter,this._iv=void 0);var s=_sliceInstanceProperty(a).call(a,0);n.encryptBlock(s,0),a[i-1]=a[i-1]+1|0;for(var l=0;l<i;l+=1)r[t+l]^=s[l]}}]),r}(),CTR.Decryptor=CTR.Encryptor;var NoPadding={pad:function(){},unpad:function(){}},Crypto={decryptWordArray:function(e,t,r){var n=Hex.parse(t),i=Hex.parse(formatIV(r)),o=WordArray.create(new Uint8Array(e)),a=AES.decrypt(CipherParams.create({ciphertext:o}),n,{iv:i,mode:CTR,padding:NoPadding});return Crypto.wordArrayToUint8Array(a)},wordArrayToUint8Array:function(e){for(var t=e.sigBytes,r=e.words,n=new Uint8Array(t),i=0,o=0;i!==t;){var a=r[o++];if(n[i++]=(4278190080&a)>>>24,i===t)break;if(n[i++]=(16711680&a)>>>16,i===t)break;if(n[i++]=(65280&a)>>>8,i===t)break;n[i++]=255&a}return n}},NEW_ARRAY_MAX_CNT=20,MP4Demuxer=function(){function e(t,r,n,i){var o=this;_classCallCheck$4(this,e),_defineProperty$2(this,"_videoSamples",[]),_defineProperty$2(this,"_audioSamples",[]),_defineProperty$2(this,"_lastRemainBuffer",[]),_defineProperty$2(this,"_lastRemainBufferStartPos",0),this.videoTrack=new VideoTrack,this.audioTrack=new AudioTrack,this.metadataTrack=n||new MetadataTrack,this.log=new Logger$1("MP4Demuxer",!i||!i.openLog||!i.openLog),t&&_forEachInstanceProperty(t).call(t,(function(e){var t;(t=o._videoSamples).push.apply(t,_toConsumableArray$2(e.frames))})),r&&_forEachInstanceProperty(r).call(r,(function(e){var t;(t=o._audioSamples).push.apply(t,_toConsumableArray$2(e.frames))}))}return _createClass$4(e,[{key:"parseSamples",value:function(e){if(!e)throw new Error("moov is required");if(this.videoTrack.codec||this.audioTrack.codec||(MP4Parser.moovToTrack(e,this.videoTrack,this.audioTrack),this.videoSenc=this.videoTrack.videoSenc,this.audioSenc=this.audioTrack.audioSenc),!this._audioSamples.length&&!this._videoSamples.length){var t=MP4Parser.moovToSamples(e);if(!t)throw new Error("cannot parse samples from moov box");this._videoSamples=t.videoSamples||[],this._audioSamples=t.audioSamples||[]}}},{key:"demux",value:function(e,t,r,n,i){this.parseSamples(i);var o,a,s,l=this.videoTrack,c=this.audioTrack;if(l.samples=[],c.samples=[],r){for(var u,d=0,p=r[0],y=r[1];p<=y;p++){if(!(o=this._videoSamples[p]))throw new Error("cannot found video frame #".concat(p));s=o.offset-t,a=e.subarray(s,s+o.size),(u=new VideoSample(o.pts||o.dts,o.dts)).duration=o.duration,u.gopId=o.gopId,o.keyframe&&u.setToKeyframe();for(var h=0,f=a.length-1;h<f;)d=readBig32(a,h),h+=4,u.units.push(a.subarray(h,h+d)),h+=d;l.samples.push(u)}l.baseMediaDecodeTime=l.samples[0].dts}if(n){for(var $=n[0],m=n[1];$<=m;$++){if(!(o=this._audioSamples[$]))throw new Error("cannot found video frame #".concat($));s=o.offset-t,a=e.subarray(s,s+o.size),c.samples.push(new AudioSample(o.dts,a,o.duration))}c.baseMediaDecodeTime=c.samples[0].dts}return{videoTrack:l,audioTrack:c,metadataTrack:this.metadataTrack}}},{key:"demuxPart",value:function(e,t,r,n,i,o,a){if(this.parseSamples(i),this.videoTrack.useEME=o,this.audioTrack.useEME=o,this._lastRemainBuffer&&this._lastRemainBuffer.byteLength>0&&t>this._lastRemainBufferStartPos&&t<=this._lastRemainBufferStartPos+this._lastRemainBuffer.byteLength)for(var s=0;s<NEW_ARRAY_MAX_CNT;)try{var l=this._lastRemainBuffer.subarray(0,t-this._lastRemainBufferStartPos),c=new Uint8Array(e.byteLength+l.byteLength);c.set(l,0),c.set(new Uint8Array(e),l.byteLength),e=c,t-=l.byteLength,this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0;break}catch(e){if(!(s<NEW_ARRAY_MAX_CNT))throw new Error("new Uint8Array error:,"+e.errorMessage);s++}var u,d,p,y=this.videoTrack,h=this.audioTrack;y.samples=[],h.samples=[],y.videoSenc=null,h.audioSenc=null;var f=0,$=0;if(this._videoSamples.length>0&&r.length>0){for(var m,b,g=e.byteLength+t,S=r[0];S<=r[1];S++){if(!(u=this._videoSamples[S]))throw new Error("cannot found video frame #".concat(S));u.offset>=t&&u.offset+u.size<=g&&(f=(p=u.offset-t)+u.size,d=e.subarray(p,f),(m=new VideoSample(u.pts||u.dts,u.dts)).duration=u.duration,m.gopId=u.gopId,m.sampleOffset=u.index,u.keyframe&&m.setToKeyframe(),m.data=d,m.size=u.size,y.samples.push(m))}if(y.samples.length>0)if(y.gopId=y.samples[0].gopId,y.baseMediaDecodeTime=y.samples[0].dts,y.startPts=y.samples[0].pts/y.timescale,y.endPts=y.samples[y.samples.length-1].pts/y.timescale,this.videoSenc)y.videoSenc=_sliceInstanceProperty(b=this.videoSenc).call(b,y.samples[0].sampleOffset,y.samples[0].sampleOffset+y.samples.length),y.kidValue=a}if(this._audioSamples.length>0&&n.length>0){for(var I=n[0];I<=n[1];I++){if(!(u=this._audioSamples[I]))throw new Error("cannot found video frame #".concat(I));u.offset>=t&&u.offset+u.size<=e.byteLength+t&&($=(p=u.offset-t)+u.size,d=e.subarray(p,$),h.samples.push(new AudioSample(u.dts,d,u.duration,u.index)))}var T;if(h.samples.length>0)if(h.gopId=h.samples[0].gopId||y.gopId,h.baseMediaDecodeTime=h.samples[0].dts,h.startPts=h.samples[0].pts/h.timescale,h.endPts=h.samples[h.samples.length-1].pts/h.timescale,this.audioSenc)h.audioSenc=_sliceInstanceProperty(T=this.audioSenc).call(T,h.samples[0].sampleOffset,h.samples[0].sampleOffset+h.samples.length),h.kidValue=a}this.decoderData(y,h);for(var v=0,_=0;_<y.samples.length;_++)for(var P=0,E=y.samples[_].data,R=E.length-1;P<R;)v=readBig32(E,P),P+=4,y.samples[_].units.push(E.subarray(P,P+v)),P+=v;return this._lastRemainBuffer=e.subarray(Math.max(f,$)),this._lastRemainBuffer.byteLength>0?this._lastRemainBufferStartPos=t+e.byteLength-this._lastRemainBuffer.byteLength:this._lastRemainBufferStartPos=0,{videoTrack:y,audioTrack:h,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0,this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}},{key:"decoderData",value:function(e,t){if(!e.useEME&&!t.useEME){if(e.videoSenc&&1===e.id){var r,n=e.kidValue,i=e.videoSenc;_forEachInstanceProperty(r=e.samples).call(r,(function(t,r){var o=i[r],a=t.data,s=[],l=[],c=o.InitializationVector;if(o.subsamples&&o.subsamples.length){var u;_forEachInstanceProperty(u=o.subsamples).call(u,(function(e){var t=e.BytesOfClearData+e.BytesOfProtectedData,r=_sliceInstanceProperty(a).call(a,0,t);s.push(_sliceInstanceProperty(r).call(r,0,e.BytesOfClearData)),l.push(_sliceInstanceProperty(r).call(r,e.BytesOfClearData)),a=_sliceInstanceProperty(a).call(a,t)}))}else{var d=t.size;s.push(_sliceInstanceProperty(a).call(a,0,0)),l.push(_sliceInstanceProperty(a).call(a,0,d)),a=_sliceInstanceProperty(a).call(a,d)}var p=new Buffer;p.write.apply(p,l);var y=Crypto.decryptWordArray(p.buffer,n,c),h=new Buffer;_forEachInstanceProperty(s).call(s,(function(e,t){var r=l[t].length,n=_sliceInstanceProperty(y).call(y,0,r);h.write(e),h.write(n),y=_sliceInstanceProperty(y).call(y,r)})),e.samples[r].data=h.buffer}))}if(t.audioSenc&&2===t.id){var o,a=t.kidValue,s=t.audioSenc;_forEachInstanceProperty(o=t.samples).call(o,(function(e,r){var n=s[r],i=Crypto.decryptWordArray(e.data,a,n.InitializationVector);t.samples[r].data=i}))}}}}],[{key:"probe",value:function(e){return MP4Parser.probe(e)}}]),e}(),version="3.0.0-alpha.36-3",ERROR_CODES={416:-499899,401:-499898,403:-499897,404:-499896,timeout:-499895,"4xx":-499894,"5xx":-499893,networkError:-499892,contentError:-499891,mse:-499971,mseOpen:-499972,mseAppend:-499973,boxsError:-499980,moovError:-499981,notH264:-499982,mdatError:-499983,mdhdError:-499984,metaError:-499985,muxError:-499986,h265Error:-499987,noneURL:-499988,other:-499989,other1:-499990,waitTimeout:-499791,onWaitInBufferRange:-499792},ERROR_TYPES={network:1003,format:1005,runtime:1002,other:9999,demux:1006,remux:1007};function getErrorCodeByHttpCode(e){var t=0;switch(e){case 0:t=0;break;case-1:t=ERROR_CODES.networkError;break;case-2:t=ERROR_CODES.timeout;break;case-3:t=ERROR_CODES.contentError;break;default:t=e<500?ERROR_CODES[e]||e["4xx"]:ERROR_CODES[e]||e["5xx"]}return t}var NetWorkError=_createClass$8((function e(t,r,n){_classCallCheck$8(this,e);var i=0,o=0;n&&n.range&&n.range.length>1&&(i=n.range[0],o=n.range[1]);var a=getErrorCodeByHttpCode(r);return{errorCode:a,errorType:t,errorTypeCode:ERROR_TYPES[t],errorMessage:(null==n?void 0:n.httpText)||(null==n?void 0:n.message),url:null==n?void 0:n.url,httpCode:r,version:version,rangeStart:i,rangeEnd:o,ext:n,mediaError:{code:a,message:(null==n?void 0:n.httpText)||(null==n?void 0:n.message)}}})),ParserError=_createClass$8((function e(t,r,n){return _classCallCheck$8(this,e),{errorCode:r,errorType:t,errorTypeCode:ERROR_TYPES[t],version:version,errorMessage:n.msg,ext:n,mediaError:{code:r,message:n.msg}}})),uncurryThis$9=functionUncurryThis,toObject$3=toObject$k,floor$3=Math.floor,charAt$1=uncurryThis$9("".charAt),replace$1=uncurryThis$9("".replace),stringSlice$4=uncurryThis$9("".slice),SUBSTITUTION_SYMBOLS=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,SUBSTITUTION_SYMBOLS_NO_NAMED=/\$([$&'`]|\d{1,2})/g,getSubstitution$1=function(e,t,r,n,i,o){var a=r+e.length,s=n.length,l=SUBSTITUTION_SYMBOLS_NO_NAMED;return void 0!==i&&(i=toObject$3(i),l=SUBSTITUTION_SYMBOLS),replace$1(o,l,(function(o,l){var c;switch(charAt$1(l,0)){case"$":return"$";case"&":return e;case"`":return stringSlice$4(t,0,r);case"'":return stringSlice$4(t,a);case"<":c=i[stringSlice$4(l,1,-1)];break;default:var u=+l;if(0===u)return o;if(u>s){var d=floor$3(u/10);return 0===d?o:d<=s?void 0===n[d-1]?charAt$1(l,1):n[d-1]+charAt$1(l,1):o}c=n[u-1]}return void 0===c?"":c}))},apply$2=functionApply,call$3=functionCall,uncurryThis$8=functionUncurryThis,fixRegExpWellKnownSymbolLogic$1=fixRegexpWellKnownSymbolLogic,fails$a=fails$13,anObject$3=anObject$q,isCallable$1=isCallable$A,isNullOrUndefined$1=isNullOrUndefined$b,toIntegerOrInfinity$2=toIntegerOrInfinity$e,toLength$2=toLength$d,toString$7=toString$p,requireObjectCoercible$2=requireObjectCoercible$f,advanceStringIndex$1=advanceStringIndex$3,getMethod$1=getMethod$6,getSubstitution=getSubstitution$1,regExpExec$1=regexpExecAbstract,wellKnownSymbol$3=wellKnownSymbol$x,REPLACE=wellKnownSymbol$3("replace"),max=Math.max,min$2=Math.min,concat3=uncurryThis$8([].concat),push$5=uncurryThis$8([].push),stringIndexOf=uncurryThis$8("".indexOf),stringSlice$3=uncurryThis$8("".slice),maybeToString=function(e){return void 0===e?e:String(e)},REPLACE_KEEPS_$0="$0"==="a".replace(/./,"$0"),REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE=!!/./[REPLACE]&&""===/./[REPLACE]("a","$0"),REPLACE_SUPPORTS_NAMED_GROUPS=!fails$a((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}));fixRegExpWellKnownSymbolLogic$1("replace",(function(e,t,r){var n=REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE?"$":"$0";return[function(e,r){var n=requireObjectCoercible$2(this),i=isNullOrUndefined$1(e)?void 0:getMethod$1(e,REPLACE);return i?call$3(i,e,n,r):call$3(t,toString$7(n),e,r)},function(e,i){var o=anObject$3(this),a=toString$7(e);if("string"==typeof i&&-1===stringIndexOf(i,n)&&-1===stringIndexOf(i,"$<")){var s=r(t,o,a,i);if(s.done)return s.value}var l=isCallable$1(i);l||(i=toString$7(i));var c=o.global;if(c){var u=o.unicode;o.lastIndex=0}for(var d=[];;){var p=regExpExec$1(o,a);if(null===p)break;if(push$5(d,p),!c)break;""===toString$7(p[0])&&(o.lastIndex=advanceStringIndex$1(a,toLength$2(o.lastIndex),u))}for(var y="",h=0,f=0;f<d.length;f++){for(var $=toString$7((p=d[f])[0]),m=max(min$2(toIntegerOrInfinity$2(p.index),a.length),0),b=[],g=1;g<p.length;g++)push$5(b,maybeToString(p[g]));var S=p.groups;if(l){var I=concat3([$],b,m,a);void 0!==S&&push$5(I,S);var T=toString$7(apply$2(i,void 0,I))}else T=getSubstitution($,a,m,b,S,i);m>=h&&(y+=stringSlice$3(a,h,m)+T,h=m+$.length)}return y+stringSlice$3(a,h)}]}),!REPLACE_SUPPORTS_NAMED_GROUPS||!REPLACE_KEEPS_$0||REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);var $$s=_export,isArray3=isArray$6;$$s({target:"Array",stat:!0},{isArray:isArray3});var call$2=functionCall,fixRegExpWellKnownSymbolLogic=fixRegexpWellKnownSymbolLogic,anObject$2=anObject$q,isNullOrUndefined=isNullOrUndefined$b,toLength$1=toLength$d,toString$6=toString$p,requireObjectCoercible$1=requireObjectCoercible$f,getMethod=getMethod$6,advanceStringIndex=advanceStringIndex$3,regExpExec=regexpExecAbstract;fixRegExpWellKnownSymbolLogic("match",(function(e,t,r){return[function(t){var r=requireObjectCoercible$1(this),n=isNullOrUndefined(t)?void 0:getMethod(t,e);return n?call$2(n,t,r):new RegExp(t)[e](toString$6(r))},function(e){var n=anObject$2(this),i=toString$6(e),o=r(t,n,i);if(o.done)return o.value;if(!n.global)return regExpExec(n,i);var a=n.unicode;n.lastIndex=0;for(var s,l=[],c=0;null!==(s=regExpExec(n,i));){var u=toString$6(s[0]);l[c]=u,""===u&&(n.lastIndex=advanceStringIndex(i,toLength$1(n.lastIndex),a)),c++}return 0===c?null:l}]}));var util={};function ownKeys$1(e,t){var r=_Object$keys(e);if(_Object$getOwnPropertySymbols){var n=_Object$getOwnPropertySymbols(e);t&&(n=_filterInstanceProperty(n).call(n,(function(t){return _Object$getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread2$1(e){for(var t=1;t<arguments.length;t++){var r,n,i=null!=arguments[t]?arguments[t]:{};t%2?_forEachInstanceProperty(r=ownKeys$1(Object(i),!0)).call(r,(function(t){_defineProperty$1(e,t,i[t])})):_Object$getOwnPropertyDescriptors?_Object$defineProperties(e,_Object$getOwnPropertyDescriptors(i)):_forEachInstanceProperty(n=ownKeys$1(Object(i))).call(n,(function(t){_Object$defineProperty(e,t,_Object$getOwnPropertyDescriptor(i,t))}))}return e}function _regeneratorRuntime$1(){_regeneratorRuntime$1=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=_Object$defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof _Symbol?_Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,r){return _Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,i){var o=t&&t.prototype instanceof p?t:p,a=_Object$create(o.prototype),s=new _(i||[]);return n(a,"_invoke",{value:S(e,r,s)}),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var d={};function p(){}function y(){}function h(){}var f={};l(f,o,(function(){return this}));var $=_Object$getPrototypeOf&&_Object$getPrototypeOf(_Object$getPrototypeOf(P([])));$&&$!==t&&r.call($,o)&&(f=$);var m=h.prototype=p.prototype=_Object$create(f);function b(e){var t;_forEachInstanceProperty(t=["next","throw","return"]).call(t,(function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){function i(n,o,a,s){var l=u(e[n],e,o);if("throw"!==l.type){var c=l.arg,d=c.value;return d&&"object"==_typeof$5(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,s)}),(function(e){i("throw",e,a,s)})):t.resolve(d).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,s)}))}s(l.arg)}var o;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){i(e,r,t,n)}))}return o=o?o.then(n,n):n()}})}function S(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=I(a,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=u(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function I(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,I(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,d;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function v(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],_forEachInstanceProperty(e).call(e,T,this),this.reset(!0)}function P(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:E}}function E(){return{value:void 0,done:!0}}return y.prototype=h,n(m,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:y,configurable:!0}),y.displayName=l(h,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return _Object$setPrototypeOf?_Object$setPrototypeOf(e,h):(e.__proto__=h,l(e,s,"GeneratorFunction")),e.prototype=_Object$create(m),e},e.awrap=function(e){return{__await:e}},b(g.prototype),l(g.prototype,a,(function(){return this})),e.AsyncIterator=g,e.async=function(t,r,n,i,o){void 0===o&&(o=_Promise);var a=new g(c(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(m),l(m,s,"Generator"),l(m,o,(function(){return this})),l(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return _reverseInstanceProperty(r).call(r),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=P,_.prototype={constructor:_,reset:function(e){var t;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,_forEachInstanceProperty(t=this.tryEntries).call(t,v),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+_sliceInstanceProperty(n).call(n,1))&&(this[n]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),v(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;v(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:P(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function asyncGeneratorStep$1(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void r(e)}s.done?t(l):_Promise.resolve(l).then(n,i)}function _asyncToGenerator$1(e){return function(){var t=this,r=arguments;return new _Promise((function(n,i){var o=e.apply(t,r);function a(e){asyncGeneratorStep$1(o,n,i,a,s,"next",e)}function s(e){asyncGeneratorStep$1(o,n,i,a,s,"throw",e)}a(void 0)}))}}function _classCallCheck$2(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$2(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass$2(e,t,r){return t&&_defineProperties$2(e.prototype,t),r&&_defineProperties$2(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty$1(e,t,r){return t in e?_Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _inherits$2(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=_Object$create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),_Object$defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf$2(e,t)}function _getPrototypeOf$2(e){var t;return(_getPrototypeOf$2=_Object$setPrototypeOf?_bindInstanceProperty(t=_Object$getPrototypeOf).call(t):function(e){return e.__proto__||_Object$getPrototypeOf(e)})(e)}function _setPrototypeOf$2(e,t){var r;return(_setPrototypeOf$2=_Object$setPrototypeOf?_bindInstanceProperty(r=_Object$setPrototypeOf).call(r):function(e,t){return e.__proto__=t,e})(e,t)}function _isNativeReflectConstruct$2(){if("undefined"==typeof Reflect||!_Reflect$construct)return!1;if(_Reflect$construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(_Reflect$construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _objectWithoutPropertiesLoose$1(e,t){if(null==e)return{};var r,n,i={},o=_Object$keys(e);for(n=0;n<o.length;n++)r=o[n],_indexOfInstanceProperty(t).call(t,r)>=0||(i[r]=e[r]);return i}function _objectWithoutProperties$1(e,t){if(null==e)return{};var r,n,i=_objectWithoutPropertiesLoose$1(e,t);if(_Object$getOwnPropertySymbols){var o=_Object$getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],_indexOfInstanceProperty(t).call(t,r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function _assertThisInitialized$2(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn$2(e,t){if(t&&("object"===_typeof$5(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$2(e)}function _createSuper$2(e){var t=_isNativeReflectConstruct$2();return function(){var r,n=_getPrototypeOf$2(e);if(t){var i=_getPrototypeOf$2(this).constructor;r=_Reflect$construct(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn$2(this,r)}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray$2(e,t)||_nonIterableRest()}function _toConsumableArray$1(e){return _arrayWithoutHoles$1(e)||_iterableToArray$1(e)||_unsupportedIterableToArray$2(e)||_nonIterableSpread$1()}function _arrayWithoutHoles$1(e){if(_Array$isArray(e))return _arrayLikeToArray$2(e)}function _arrayWithHoles(e){if(_Array$isArray(e))return e}function _iterableToArray$1(e){if(void 0!==_Symbol&&null!=_getIteratorMethod(e)||null!=e["@@iterator"])return _Array$from(e)}function _iterableToArrayLimit(e,t){var r=null==e?null:void 0!==_Symbol&&_getIteratorMethod(e)||e["@@iterator"];if(null!=r){var n,i,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw i}}return o}}function _unsupportedIterableToArray$2(e,t){var r;if(e){if("string"==typeof e)return _arrayLikeToArray$2(e,t);var n=_sliceInstanceProperty(r=Object.prototype.toString.call(e)).call(r,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?_Array$from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray$2(e,t):void 0}}function _arrayLikeToArray$2(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _nonIterableSpread$1(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ownKeys3(e,t){var r=_Object$keys(e);if(_Object$getOwnPropertySymbols){var n=_Object$getOwnPropertySymbols(e);t&&(n=_filterInstanceProperty(n).call(n,(function(t){return _Object$getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r,n,i=null!=arguments[t]?arguments[t]:{};t%2?_forEachInstanceProperty(r=ownKeys3(Object(i),!0)).call(r,(function(t){_defineProperty(e,t,i[t])})):_Object$getOwnPropertyDescriptors?_Object$defineProperties(e,_Object$getOwnPropertyDescriptors(i)):_forEachInstanceProperty(n=ownKeys3(Object(i))).call(n,(function(t){_Object$defineProperty(e,t,_Object$getOwnPropertyDescriptor(i,t))}))}return e}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=_Object$defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof _Symbol?_Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,r){return _Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,i){var o=t&&t.prototype instanceof p?t:p,a=_Object$create(o.prototype),s=new _(i||[]);return n(a,"_invoke",{value:S(e,r,s)}),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var d={};function p(){}function y(){}function h(){}var f={};l(f,o,(function(){return this}));var $=_Object$getPrototypeOf&&_Object$getPrototypeOf(_Object$getPrototypeOf(P([])));$&&$!==t&&r.call($,o)&&(f=$);var m=h.prototype=p.prototype=_Object$create(f);function b(e){var t;_forEachInstanceProperty(t=["next","throw","return"]).call(t,(function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function g(e,t){function i(n,o,a,s){var l=u(e[n],e,o);if("throw"!==l.type){var c=l.arg,d=c.value;return d&&"object"==_typeof$5(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,s)}),(function(e){i("throw",e,a,s)})):t.resolve(d).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,s)}))}s(l.arg)}var o;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){i(e,r,t,n)}))}return o=o?o.then(n,n):n()}})}function S(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=I(a,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=u(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function I(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,I(e,t),"throw"===t.method))return d;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,d;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function v(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],_forEachInstanceProperty(e).call(e,T,this),this.reset(!0)}function P(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:E}}function E(){return{value:void 0,done:!0}}return y.prototype=h,n(m,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:y,configurable:!0}),y.displayName=l(h,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return _Object$setPrototypeOf?_Object$setPrototypeOf(e,h):(e.__proto__=h,l(e,s,"GeneratorFunction")),e.prototype=_Object$create(m),e},e.awrap=function(e){return{__await:e}},b(g.prototype),l(g.prototype,a,(function(){return this})),e.AsyncIterator=g,e.async=function(t,r,n,i,o){void 0===o&&(o=_Promise);var a=new g(c(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(m),l(m,s,"Generator"),l(m,o,(function(){return this})),l(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return _reverseInstanceProperty(r).call(r),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=P,_.prototype={constructor:_,reset:function(e){var t;if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,_forEachInstanceProperty(t=this.tryEntries).call(t,v),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+_sliceInstanceProperty(n).call(n,1))&&(this[n]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),v(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;v(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:P(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function _typeof$2(e){return(_typeof$2="function"==typeof _Symbol&&"symbol"==typeof _Symbol$iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof _Symbol&&e.constructor===_Symbol&&e!==_Symbol.prototype?"symbol":typeof e})(e)}function asyncGeneratorStep(e,t,r,n,i,o,a){try{var s=e[o](a),l=s.value}catch(e){return void r(e)}s.done?t(l):_Promise.resolve(l).then(n,i)}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new _Promise((function(n,i){var o=e.apply(t,r);function a(e){asyncGeneratorStep(o,n,i,a,s,"next",e)}function s(e){asyncGeneratorStep(o,n,i,a,s,"throw",e)}a(void 0)}))}}function _classCallCheck$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass$1(e,t,r){return t&&_defineProperties$1(e.prototype,t),r&&_defineProperties$1(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return t in e?_Object$defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _inherits$1(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=_Object$create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),_Object$defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf$1(e,t)}function _getPrototypeOf$1(e){var t;return(_getPrototypeOf$1=_Object$setPrototypeOf?_bindInstanceProperty(t=_Object$getPrototypeOf).call(t):function(e){return e.__proto__||_Object$getPrototypeOf(e)})(e)}function _setPrototypeOf$1(e,t){var r;return(_setPrototypeOf$1=_Object$setPrototypeOf?_bindInstanceProperty(r=_Object$setPrototypeOf).call(r):function(e,t){return e.__proto__=t,e})(e,t)}function _isNativeReflectConstruct$1(){if("undefined"==typeof Reflect||!_Reflect$construct)return!1;if(_Reflect$construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(_Reflect$construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _construct(e,t,r){var n;_isNativeReflectConstruct$1()?_construct=_bindInstanceProperty(n=_Reflect$construct).call(n):_construct=function(e,t,r){var n=[null];n.push.apply(n,t);var i=new(_bindInstanceProperty(Function).apply(e,n));return r&&_setPrototypeOf$1(i,r.prototype),i};return _construct.apply(null,arguments)}function _isNativeFunction(e){var t;return-1!==_indexOfInstanceProperty(t=Function.toString.call(e)).call(t,"[native code]")}function _wrapNativeSuper(e){var t="function"==typeof _Map?new _Map:void 0;return _wrapNativeSuper=function(e){if(null===e||!_isNativeFunction(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _construct(e,arguments,_getPrototypeOf$1(this).constructor)}return r.prototype=_Object$create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf$1(r,e)},_wrapNativeSuper(e)}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var r,n,i={},o=_Object$keys(e);for(n=0;n<o.length;n++)r=o[n],_indexOfInstanceProperty(t).call(t,r)>=0||(i[r]=e[r]);return i}function _objectWithoutProperties(e,t){if(null==e)return{};var r,n,i=_objectWithoutPropertiesLoose(e,t);if(_Object$getOwnPropertySymbols){var o=_Object$getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],_indexOfInstanceProperty(t).call(t,r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function _assertThisInitialized$1(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn$1(e,t){if(t&&("object"===_typeof$5(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$1(e)}function _createSuper$1(e){var t=_isNativeReflectConstruct$1();return function(){var r,n=_getPrototypeOf$1(e);if(t){var i=_getPrototypeOf$1(this).constructor;r=_Reflect$construct(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn$1(this,r)}}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf$1(e)););return e}function _get(){var e;"undefined"!=typeof Reflect&&_Reflect$get?_get=_bindInstanceProperty(e=_Reflect$get).call(e):_get=function(e,t,r){var n=_superPropBase(e,t);if(n){var i=_Object$getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}};return _get.apply(this,arguments)}function _unsupportedIterableToArray$1(e,t){var r;if(e){if("string"==typeof e)return _arrayLikeToArray$1(e,t);var n=_sliceInstanceProperty(r=Object.prototype.toString.call(e)).call(r,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?_Array$from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray$1(e,t):void 0}}function _arrayLikeToArray$1(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _createForOfIteratorHelper(e,t){var r=void 0!==_Symbol&&_getIteratorMethod(e)||e["@@iterator"];if(!r){if(_Array$isArray(e)||(r=_unsupportedIterableToArray$1(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function createPublicPromise(){var e,t,r=new _Promise((function(r,n){e=r,t=n}));return r.used=!1,r.resolve=function(){return r.used=!0,e.apply(void 0,arguments)},r.reject=function(){return r.used=!0,t.apply(void 0,arguments)},r}function nowTime(){try{return _parseInt$1(performance.now(),10)}catch(e){return(new Date).getTime()}}util.findBox=function(e,t){var r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e.type!==t){if(e&&e.subBox){var i,o,a=_filterInstanceProperty(i=e.subBox).call(i,(function(e){return e.type===t}));if(a.length)_forEachInstanceProperty(a).call(a,(function(e){return n.push(e)}));else _forEachInstanceProperty(o=e.subBox).call(o,(function(e){return util.findBox(e,t,n)}))}}else n.push(e);return(n=_concatInstanceProperty(r=[]).call(r,n)).length>1?n:n[0]},util.padStart=function(e,t,r){for(var n=String(r),i=t>>0,o=Math.ceil(i/n.length),a=[],s=String(e);o--;)a.push(n);return a.join("").substring(0,i-s.length)+s},util.toHex=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return _forEachInstanceProperty(r).call(r,(function(t){e.push(_padStartInstanceProperty(util).call(util,Number(t).toString(16),2,0))})),e},util.sum=function(){for(var e=0,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return _forEachInstanceProperty(r).call(r,(function(t){e+=t})),e},util.StringToArrayBuffer=function(e){for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return t},util.fromHex=function(e){for(var t=new Uint8Array(e.length/2),r=0;r<e.length;r+=2)t[r/2]=_parseInt$1(e.substr(r,2),16);return t},util.fromCharCode=function(e){for(var t="",r=0;r<e.length;r+=16e3){var n=e.subarray(r,r+16e3);t+=String.fromCharCode.apply(null,n)}return t},util.ArrayBufferToString=function(e){for(var t="",r=new Uint8Array(e),n=0;n<r.length;n++)t+=String.fromCharCode(r[n]);return t},util.Base64ToHex=function(e){for(var t=window.atob(e.replace(/-/g,"+").replace(/_/g,"/")),r="",n=0;n<t.length;n++)r+=("0"+t.charCodeAt(n).toString(16)).substr(-2);return r},util.toBase64=function(e,t){var r=util.fromCharCode(e);t=void 0===t||t;var n=window.btoa(r).replace(/\+/g,"-").replace(/\//g,"_");return t?n:n.replace(/=*$/,"")},util.toUTF8=function(e){for(var t=encodeURIComponent(e),r=unescape(t),n=new Uint8Array(r.length),i=0;i<r.length;++i)n[i]=r.charCodeAt(i);return n.buffer},util.bufferToString=function(e){var t;return _sliceInstanceProperty(t="0"+Number(e).toString(16)).call(t,-2).toUpperCase()},util.strToBuf=function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(_parseInt$1(e[r]+e[r+1],16));return new Uint8Array(t)},util.formatIV=function(e){var t="";if(_forEachInstanceProperty(e).call(e,(function(e){t+=util.bufferToString(e)})),t.length<=32)for(var r=32-t.length,n=0;n<r;n++)t+="0";return t},util.str2hex=function(e){if(""===e)return"";for(var t=[],r=0;r<e.length;r++)t.push(e.charCodeAt(r));return t},util.parse=function(e){if(!_Array$isArray(e)){for(var t=[],r="",n=0;n<e.length;n++)n%2&&(r=e[n-1]+e[n],t.push(_parseInt$1(r,16)),r="");return t}return _mapInstanceProperty(e).call(e,(function(e){return _parseInt$1(e,16)}))},util.generateUniqueKey=function(e){var t,r,n=e.vid;e.start,e.end;var i=e.mediaType,o=e.definition;return e.preloadTime,i=i||"video",o=o||"0",n?_concatInstanceProperty(t=_concatInstanceProperty(r="".concat(n,"#")).call(r,i,"#")).call(t,o,"#mp4"):null},util.validateFragment=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(e instanceof ArrayBuffer){try{if(2===t.length){var r=t[1]-t[0]+1;if(!(e.byteLength===r))return}}catch(e){return console.error(e),!1}return!0}return!1},util.typeOf=function(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]},util.getBufferSplits=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e5;if(t-e-r<r/2||!t)return[[e,t]];for(var n=[];e<t;){var i=e+r;(i>t||t-i<r/2)&&(i=t),n.push([e,i]),e=i+1}return n},util.nowTime=function(){try{return _parseInt$1(performance.now(),10)}catch(e){return(new Date).getTime()}},util.extUrl=function(e,t){try{var r,n,i=_indexOfInstanceProperty(e).call(e,"?");if(i<0)_mapInstanceProperty(r=_Object$keys(t)).call(r,(function(r,n){var i,o;0===n?e+=_concatInstanceProperty(i="?".concat(r,"=")).call(i,t[r]):e+=_concatInstanceProperty(o="&".concat(r,"=")).call(o,t[r])}));else _mapInstanceProperty(n=_Object$keys(t)).call(n,(function(r,n){var o,a;i===e.length-1?e+=_concatInstanceProperty(o="".concat(r,"=")).call(o,t[r]):e+=_concatInstanceProperty(a="&".concat(r,"=")).call(a,t[r])}));return e}catch(t){return e}},util.getFileSize=function(e,t){try{return e&&t?_parseInt$1(t*e/8,10):0}catch(e){return 0}},util.hashVal=function(e){var t,r=0;if(0===e.length)return r;for(t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return r},util.getFileSize=function(e,t){try{return e&&t?_parseInt$1(t*e/8,10):0}catch(e){return 0}},util.concatData=function(e,t){var r=[],n=0;e&&r.push(e),t&&r.push(t),_everyInstanceProperty(r).call(r,(function(e){return e&&(n+=e.byteLength),!0}));var i=new Uint8Array(n),o=0;return _everyInstanceProperty(r).call(r,(function(e){return e&&(i.set(e,o),o+=e.byteLength),!0})),i},util.getFragRange=function(e,t,r){var n=e<t.length?t[e]:null,i=e<r.length?r[e]:null,o=0,a=0;return e===t.length-1&&(o=-1),e===r.length-1&&(a=-1),[Math.min((null==n?void 0:n.range[0])||1/0,(null==i?void 0:i.range[0])||1/0),Math.max((null==n?void 0:n.range[1])+o||0,(null==i?void 0:i.range[1])+a||0)]};var Logger=function(){function e(t){_classCallCheck$1(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]")}return _createClass$1(e,[{key:"debug",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).debug.apply(r,_concatInstanceProperty(t=[this._prefix,nowTime()]).call(t,i))}}},{key:"log",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).log.apply(r,_concatInstanceProperty(t=[this._prefix,nowTime()]).call(t,i))}}},{key:"warn",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).warn.apply(r,_concatInstanceProperty(t=[this._prefix,nowTime()]).call(t,i))}}},{key:"error",value:function(){var t,r;if(!e.disabled){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(r=console).error.apply(r,_concatInstanceProperty(t=[this._prefix,nowTime()]).call(t,i))}}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();_defineProperty(Logger,"disabled",!0);var LoaderType={FETCH:"fetch",XHR:"xhr"},ResponseType={ARRAY_BUFFER:"arraybuffer",TEXT:"text",JSON:"json"},NetError=function(e){_inherits$1(r,_wrapNativeSuper(Error));var t=_createSuper$1(r);function r(e,n,i,o){var a;return _classCallCheck$1(this,r),_defineProperty(_assertThisInitialized$1(a=t.call(this,o)),"retryCount",0),_defineProperty(_assertThisInitialized$1(a),"isTimeout",!1),_defineProperty(_assertThisInitialized$1(a),"loaderType",LoaderType.FETCH),_defineProperty(_assertThisInitialized$1(a),"startTime",0),_defineProperty(_assertThisInitialized$1(a),"endTime",0),a.url=e,a.request=n,a.response=i,a}return _createClass$1(r)}(),$$r=_export;$$r({target:"Number",stat:!0},{isNaN:function(e){return e!=e}});var $$q=_export,fails$9=fails$13,toObject$2=toObject$k,nativeGetPrototypeOf=objectGetPrototypeOf,CORRECT_PROTOTYPE_GETTER=correctPrototypeGetter,FAILS_ON_PRIMITIVES$1=fails$9((function(){nativeGetPrototypeOf(1)}));$$q({target:"Object",stat:!0,forced:FAILS_ON_PRIMITIVES$1,sham:!CORRECT_PROTOTYPE_GETTER},{getPrototypeOf:function(e){return nativeGetPrototypeOf(toObject$2(e))}});var toString$5=Object.prototype.toString;function isObject$4(e){return null!==e&&"object"===_typeof$2(e)}function isPlainObject(e){if("[object Object]"!==toString$5.call(e))return!1;var t=_Object$getPrototypeOf(e);return null===t||t===Object.prototype}function isDate(e){return"[object Date]"===toString$5.call(e)}function getRangeValue(e){if(e&&null!==e[0]&&void 0!==e[0]&&(0!==e[0]||null!==e[1]&&void 0!==e[1])){var t="bytes="+e[0]+"-";return e[1]&&(t+=e[1]),t}}function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function setUrlParams(e,t){var r,n;if(e){if(!t)return e;var i,o=_filterInstanceProperty(r=_mapInstanceProperty(n=_Object$keys(t)).call(n,(function(e){if(null!=(i=t[e]))return _Array$isArray(i)?e+="[]":i=[i],_mapInstanceProperty(i).call(i,(function(t){var r;return isDate(t)?t=t.toISOString():isObject$4(t)&&(t=_JSON$stringify(t)),_concatInstanceProperty(r="".concat(encode(e),"=")).call(r,encode(t))})).join("&")}))).call(r,Boolean).join("&");if(o){var a=_indexOfInstanceProperty(e).call(e,"#");-1!==a&&(e=_sliceInstanceProperty(e).call(e,0,a)),e+=(-1===_indexOfInstanceProperty(e).call(e,"?")?"?":"&")+o}return e}}function createResponse(e,t,r,n,i,o,a,s,l,c,u){return i=null!=i?_parseFloat$1(i):null,n=_parseInt$1(n||"0",10),_Number$isNaN(n)&&(n=0),{data:e,done:t,option:{range:l,vid:c,index:s,contentLength:n,age:i,startTime:o,firstByteTime:a,endTime:_Date$now(),priOptions:u},response:r}}function calculateSpeed(e,t){return Math.round(8*e*1e3/t/1024)}var EVENT={ERROR:"error",TTFB:"core.ttfb",LOAD_START:"core.loadstart",LOAD_RESPONSE_HEADERS:"core.loadresponseheaders",LOAD_COMPLETE:"core.loadcomplete",LOAD_RETRY:"core.loadretry",SOURCEBUFFER_CREATED:"core.sourcebuffercreated",ANALYZE_DURATION_EXCEEDED:"core.analyzedurationexceeded",REMOVE_BUFFER:"core.removebuffer",BUFFEREOS:"core.buffereos",KEYFRAME:"core.keyframe",METADATA_PARSED:"core.metadataparsed",SEI:"core.sei",SEI_IN_TIME:"core.seiintime",FLV_SCRIPT_DATA:"core.flvscriptdata",LOWDECODE:"core.lowdecode",SWITCH_URL_SUCCESS:"core.switchurlsuccess",SWITCH_URL_FAILED:"core.switchurlfailed",SPEED:"core.speed",HLS_MANIFEST_LOADED:"core.hlsmanifestloaded",HLS_LEVEL_LOADED:"core.hlslevelloaded",STREAM_EXCEPTION:"core.streamexception",LARGE_AV_FIRST_FRAME_GAP_DETECT:"LARGE_AV_FIRST_FRAME_GAP_DETECT",LARGE_VIDEO_DTS_GAP_DETECT:"LARGE_VIDEO_DTS_GAP_DETECT",LARGE_AUDIO_DTS_GAP_DETECT:"LARGE_AUDIO_DTS_GAP_DETECT",AUDIO_GAP_DETECT:"AUDIO_GAP_DETECT",AUDIO_OVERLAP_DETECT:"AUDIO_OVERLAP_DETECT",MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT:"MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT",REAL_TIME_SPEED:"real_time_speed"},CACHESIZE=2097152,FetchLoader=function(e){_inherits$1(n,EventEmitter$1);var t,r=_createSuper$1(n);function n(){var e;return _classCallCheck$1(this,n),_defineProperty(_assertThisInitialized$1(e=r.call(this)),"_abortController",null),_defineProperty(_assertThisInitialized$1(e),"_timeoutTimer",null),_defineProperty(_assertThisInitialized$1(e),"_reader",null),_defineProperty(_assertThisInitialized$1(e),"_response",null),_defineProperty(_assertThisInitialized$1(e),"_aborted",!1),_defineProperty(_assertThisInitialized$1(e),"_index",-1),_defineProperty(_assertThisInitialized$1(e),"_range",null),_defineProperty(_assertThisInitialized$1(e),"_receivedLength",0),_defineProperty(_assertThisInitialized$1(e),"_running",!1),_defineProperty(_assertThisInitialized$1(e),"_logger",null),_defineProperty(_assertThisInitialized$1(e),"_vid",""),_defineProperty(_assertThisInitialized$1(e),"_onProcessMinLen",0),_defineProperty(_assertThisInitialized$1(e),"_onCancel",null),_defineProperty(_assertThisInitialized$1(e),"_priOptions",null),e}return _createClass$1(n,[{key:"load",value:function(e){var t,r=this,n=e.url,i=e.vid,o=e.timeout,a=e.responseType,s=e.onProgress,l=e.index,c=e.onTimeout,u=e.onCancel,d=e.range,p=e.transformResponse,y=e.request,h=e.params,f=e.logger,$=e.method,m=e.headers,b=e.body,g=e.mode,S=e.credentials,I=e.cache,T=e.redirect,v=e.referrer,_=e.referrerPolicy,P=e.onProcessMinLen,E=e.priOptions;this._logger=f,this._aborted=!1,this._onProcessMinLen=P,this._onCancel=u,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=l,this._range=d||[0,0],this._vid=i||n,this._priOptions=E||{};var R={method:$,headers:m,body:b,mode:g,credentials:S,cache:I,redirect:T,referrer:v,referrerPolicy:_,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal},O=!1;clearTimeout(this._timeoutTimer),n=setUrlParams(n,h);var C=getRangeValue(d);C&&((m=y?y.headers:R.headers=R.headers||new Headers)instanceof Headers?m.append("Range",C):m.Range=C),o&&(this._timeoutTimer=_setTimeout((function(){if(O=!0,r.cancel(),c){var e=new NetError(n,R,null,"timeout");e.isTimeout=!0,c(e,r._index)}}),o));var w=_Date$now();return this._logger.debug("[fetch load start], index,",l,",range,",d),new _Promise((function(e,t){fetch(y||n,y?void 0:R).then(function(){var i=_asyncToGenerator(_regeneratorRuntime().mark((function i(o){var c,u,y,h;return _regeneratorRuntime().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(clearTimeout(r._timeoutTimer),r._response=o,!r._aborted&&r._running){i.next=4;break}return i.abrupt("return");case 4:if(p&&(o=p(o,n)||o),o.ok){i.next=7;break}throw new NetError(n,R,o,"bad network response");case 7:if(c=_Date$now(),a!==ResponseType.TEXT){i.next=15;break}return i.next=11,o.text();case 11:u=i.sent,r._running=!1,i.next=37;break;case 15:if(a!==ResponseType.JSON){i.next=22;break}return i.next=18,o.json();case 18:u=i.sent,r._running=!1,i.next=37;break;case 22:if(!s){i.next=29;break}return r.resolve=e,r.reject=t,r._loadChunk(o,s,w,c),i.abrupt("return");case 29:return i.next=31,o.arrayBuffer();case 31:u=i.sent,u=new Uint8Array(u),r._running=!1,y=_Date$now()-w,h=calculateSpeed(u.byteLength,y),r.emit(EVENT.REAL_TIME_SPEED,{speed:h});case 37:r._logger.debug("[fetch load end], index,",l,",range,",d),e(createResponse(u,!0,o,o.headers.get("Content-Length"),o.headers.get("age"),w,c,l,d,r._vid,r._priOptions));case 39:case"end":return i.stop()}}),i)})));return function(e){return i.apply(this,arguments)}}()).catch((function(e){clearTimeout(r._timeoutTimer),r._running=!1,r._aborted&&!O||((e=e instanceof NetError?e:new NetError(n,R,null,_JSON$stringify(e))).startTime=w,e.endTime=_Date$now(),e.isTimeout=O,t(e))}))}))}},{key:"cancel",value:(t=_asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._aborted){e.next=2;break}return e.abrupt("return");case 2:if(this._aborted=!0,this._running=!1,!this._response){e.next=14;break}if(e.prev=5,!this._reader){e.next=9;break}return e.next=9,this._reader.cancel();case 9:e.next=13;break;case 11:e.prev=11,e.t0=e.catch(5);case 13:this._response=this._reader=null;case 14:if(this._abortController){try{this._abortController.abort()}catch(e){}this._abortController=null}this._onCancel&&this._onCancel(this._index);case 16:case"end":return e.stop()}}),e,this,[[5,11]])}))),function(){return t.apply(this,arguments)})},{key:"_loadChunk",value:function(e,t,r,n){var i=this;if(!e.body||!e.body.getReader)return this._running=!1,void this.reject(NetError(e.url,"",e,"onProgress of bad response.body.getReader"));this._onProcessMinLen>0&&(this._cache=new Uint8Array(CACHESIZE),this._writeIdx=0);var o,a,s,l=this._reader=e.body.getReader(),c=function(){var u=_asyncToGenerator(_regeneratorRuntime().mark((function u(){var d,p,y,h,f,$;return _regeneratorRuntime().wrap((function(u){for(;;)switch(u.prev=u.next){case 0:return a=_Date$now(),u.prev=1,u.next=4,l.read();case 4:o=u.sent,s=_Date$now(),u.next=13;break;case 8:return u.prev=8,u.t0=u.catch(1),s=_Date$now(),i._aborted||(i._running=!1,i.reject(u.t0)),u.abrupt("return");case 13:if(d=i._range[0]+i._receivedLength,!i._aborted){u.next=18;break}return i._running=!1,t(void 0,!1,{range:[d,d],vid:i._vid,index:i._index,startTime:a,endTime:s,priOptions:i._priOptions},e),u.abrupt("return");case 18:var m;if(p=o.value?o.value.byteLength:0,i._receivedLength+=p,i._logger.debug("【fetchLoader,onProgress call】,task,",i._range,", start,",d,", end,",i._range[0]+i._receivedLength,", done,",o.done),i._onProcessMinLen>0){if(i._writeIdx+p>=i._onProcessMinLen||o.done)(y=new Uint8Array(i._writeIdx+p)).set(_sliceInstanceProperty(m=i._cache).call(m,0,i._writeIdx),0),p>0&&y.set(o.value,i._writeIdx),i._writeIdx=0,i._logger.debug("【fetchLoader,onProgress enough】,done,",o.done,",len,",y.byteLength,", writeIdx,",i._writeIdx);else if(p>0&&i._writeIdx+p<CACHESIZE)i._cache.set(o.value,i._writeIdx),i._writeIdx+=p,i._logger.debug("【fetchLoader,onProgress cache】,len,",p,", writeIdx,",i._writeIdx);else if(p>0){var b;h=new Uint8Array(i._writeIdx+p+2048),i._logger.debug("【fetchLoader,onProgress extra start】,size,",i._writeIdx+p+2048,", datalen,",p,", writeIdx,",i._writeIdx),h.set(_sliceInstanceProperty(b=i._cache).call(b,0,i._writeIdx),0),p>0&&h.set(o.value,i._writeIdx),i._writeIdx+=p,delete i._cache,i._cache=h,i._logger.debug("【fetchLoader,onProgress extra end】,len,",p,", writeIdx,",i._writeIdx)}}else y=o.value;(y&&y.byteLength>0||o.done)&&t(y,o.done,{range:[i._range[0]+i._receivedLength-(y?y.byteLength:0),i._range[0]+i._receivedLength],vid:i._vid,index:i._index,startTime:a,endTime:s,priOptions:i._priOptions},e),f=_Date$now()-r,$=calculateSpeed(i._receivedLength,f),i.emit(EVENT.REAL_TIME_SPEED,{speed:$}),o.done?(i._running=!1,i._logger.debug("[fetchLoader onProgress end],task,",i._range,",done,",o.done),i.resolve(createResponse(o,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),a,n,i._index,i._range,i._vid,i._priOptions))):c();case 27:case"end":return u.stop()}}),u,null,[[1,8]])})));return function(){return u.apply(this,arguments)}}();c()}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}}],[{key:"isSupported",value:function(){return!("undefined"==typeof fetch)}}]),n}();function getConfig$1(e){return _objectSpread2({loaderType:LoaderType.FETCH,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:ResponseType.TEXT,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0},e)}var XhrLoader=function(e){_inherits$1(r,EventEmitter$1);var t=_createSuper$1(r);function r(){var e;return _classCallCheck$1(this,r),_defineProperty(_assertThisInitialized$1(e=t.call(this)),"_xhr",null),_defineProperty(_assertThisInitialized$1(e),"_aborted",!1),_defineProperty(_assertThisInitialized$1(e),"_timeoutTimer",null),_defineProperty(_assertThisInitialized$1(e),"_range",null),_defineProperty(_assertThisInitialized$1(e),"_receivedLength",0),_defineProperty(_assertThisInitialized$1(e),"_url",null),_defineProperty(_assertThisInitialized$1(e),"_onProgress",null),_defineProperty(_assertThisInitialized$1(e),"_index",-1),_defineProperty(_assertThisInitialized$1(e),"_headers",null),_defineProperty(_assertThisInitialized$1(e),"_currentChunkSizeKB",384),_defineProperty(_assertThisInitialized$1(e),"_timeout",null),_defineProperty(_assertThisInitialized$1(e),"_xhr",null),_defineProperty(_assertThisInitialized$1(e),"_withCredentials",null),_defineProperty(_assertThisInitialized$1(e),"_startTime",-1),_defineProperty(_assertThisInitialized$1(e),"_loadCompleteResolve",null),_defineProperty(_assertThisInitialized$1(e),"_loadCompleteReject",null),_defineProperty(_assertThisInitialized$1(e),"_runing",!1),_defineProperty(_assertThisInitialized$1(e),"_logger",!1),_defineProperty(_assertThisInitialized$1(e),"_vid",""),_defineProperty(_assertThisInitialized$1(e),"_responseType",void 0),_defineProperty(_assertThisInitialized$1(e),"_credentials",void 0),_defineProperty(_assertThisInitialized$1(e),"_method",void 0),_defineProperty(_assertThisInitialized$1(e),"_transformResponse",void 0),_defineProperty(_assertThisInitialized$1(e),"_firstRtt",void 0),_defineProperty(_assertThisInitialized$1(e),"_subRangeStartTime",void 0),_defineProperty(_assertThisInitialized$1(e),"_onCancel",null),_defineProperty(_assertThisInitialized$1(e),"_priOptions",null),e}return _createClass$1(r,[{key:"load",value:function(e){var t=this;clearTimeout(this._timeoutTimer),this._logger=e.logger,this._range=e.range||[0,0],this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._credentials=e.credentials,this._priOptions=e.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=setUrlParams(e.url,e.params);var r=_Date$now();return new _Promise((function(e,r){t._loadCompleteResolve=e,t._loadCompleteReject=r,t._startLoad()})).catch((function(e){if(clearTimeout(t._timeoutTimer),t._runing=!1,!t._aborted)throw(e=e instanceof NetError?e:new NetError(t._url,t._request)).startTime=r,e.endTime=_Date$now(),e}))}},{key:"_startLoad",value:function(){var e=null;if(this._range&&this._range.length>1)if(this._onProgress){this._subRangeStartTime=_Date$now(),this._firstRtt=-1;var t=1024*this._currentChunkSizeKB,r=this._range[0]+this._receivedLength,n=this._range[1];t<this._range[1]-r&&(n=r+t),e=[r,n],this._logger.debug("[xhr_loader->],tast :",this._range,", SubRange, ",e)}else e=this._range,this._logger.debug("[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}},{key:"_internalOpen",value:function(e){var t=this;try{var r,n;this._startTime=_Date$now();var i=this._xhr=new XMLHttpRequest;i.open(this._method||"GET",this._url,!0),i.responseType=this._responseType,this._timeout&&(i.timeout=this._timeout),i.withCredentials=this._credentials,i.onload=_bindInstanceProperty(r=this._onLoad).call(r,this),i.onreadystatechange=_bindInstanceProperty(n=this._onReadyStatechange).call(n,this),i.onerror=function(e){t._running=!1;var r=new NetError(t._url,t._request,{status:0},"onerror");t._loadCompleteReject(r)},i.ontimeout=function(e){t.cancel();var r=new NetError(t._url,t._request,{status:408},"timeout");t._onTimeout&&(r.isTimeout=!0,t._onTimeout(r,t._index)),t._loadCompleteReject(r)};var o,a=getRangeValue(e),s=null;if(a&&((s=this._headers||{}).Range=a),s)_forEachInstanceProperty(o=_Object$keys(s)).call(o,(function(e){i.setRequestHeader(e,s[e])}));this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),i.send()}catch(e){this._loadCompleteReject(e)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=_Date$now())}},{key:"_onLoad",value:function(e){var t=e.target.status;if(t<200||t>299)return this._loadCompleteReject(new NetError(this._url,null,_objectSpread2(_objectSpread2({},e.target.response),{},{status:t}),"bad response,status:"+t));var r,n=null,i=!1;if(this._responseType===ResponseType.ARRAY_BUFFER){var o=new Uint8Array(e.target.response);if(r=this._range[0]+this._receivedLength,o&&o.byteLength>0){this._receivedLength+=o.byteLength;var a=_Date$now()-this._subRangeStartTime,s=calculateSpeed(this._receivedLength,a);this.emit(EVENT.REAL_TIME_SPEED,{speed:s})}n=o,i=!(this._range.length>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",r,"end ",this._range[0]+this._receivedLength,",dataLen,",o?o.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",i)}else i=!0,n=e.target.response;var l={ok:t>=200&&t<300,status:t,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(l=this._transformResponse(l,this._url)||l),this._onProgress&&this._onProgress(n,i,{index:this._index,vid:this._vid,range:[r,this._range[0]+this._receivedLength],startTime:this._startTime,endTime:_Date$now(),priOptions:this._priOptions},l),i?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(createResponse(this._onProgress?null:n,i,l,l.headers["content-length"],l.headers.age,this._startTime,-1,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}},{key:"cancel",value:function(){if(!this._aborted)return this._aborted=!0,this._runing=!1,_get(_getPrototypeOf$1(r.prototype),"removeAllListeners",this).call(this),this._onCancel&&this._onCancel(this._index),this._xhr?this._xhr.abort():void 0}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}},{key:"_getHeaders",value:function(e){var t,r,n={},i=_createForOfIteratorHelper(_trimInstanceProperty(t=e.getAllResponseHeaders()).call(t).split("\r\n"));try{for(i.s();!(r=i.n()).done;){var o=r.value.split(": ");n[o[0].toLowerCase()]=_sliceInstanceProperty(o).call(o,1).join(": ")}}catch(e){i.e(e)}finally{i.f()}return n}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),r}(),_excluded$1=["retry","retryDelay","onRetryError","transformError"],Task=function(){function e(t,r){_classCallCheck$1(this,e),this.promise=createPublicPromise(),this.alive=!!r.onProgress,!r.logger&&(r.logger=new Logger("Loader")),this._loaderType=t,this._loader=t===LoaderType.FETCH?new FetchLoader:new XhrLoader,this._config=r,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._logger=r.logger}var t;return _createClass$1(e,[{key:"exec",value:function(){var e=this,t=this._config,r=t.retry,n=t.retryDelay,i=t.onRetryError,o=t.transformError,a=_objectWithoutProperties(t,_excluded$1),s=function(){var t=_asyncToGenerator(_regeneratorRuntime().mark((function t(){var l,c;return _regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e._loader.load(a);case 3:l=t.sent,e.promise.resolve(l),t.next=28;break;case 7:if(t.prev=7,t.t0=t.catch(0),e._loader.running=!1,e._logger.debug("[task request catch err]",t.t0),!e._canceled){t.next=13;break}return t.abrupt("return");case 13:if(!(t.t0.response&&t.t0.response.status>=400&&t.t0.response.status<=599)){t.next=16;break}return e.promise.reject(t.t0),t.abrupt("return");case 16:if(t.t0.loaderType=e._loaderType,t.t0.retryCount=e._retryCount,c=t.t0,o&&(c=o(c)||c),i&&e._retryCount>0&&i(c,e._retryCount,r),e._retryCount++,!(e._retryCount<=r)){t.next=27;break}return clearTimeout(e._retryTimer),e._logger.debug("[task request setTimeout],retry",e._retryCount,",retry range,",a.range),e._retryTimer=_setTimeout(s,n),t.abrupt("return");case 27:e.promise.reject(c);case 28:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(){return t.apply(this,arguments)}}();return s(),this.promise}},{key:"cancel",value:(t=_asyncToGenerator(_regeneratorRuntime().mark((function e(){return _regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,e.abrupt("return",this._loader.cancel());case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),e}();function concatUint8Array(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if((t=_filterInstanceProperty(t).call(t,Boolean)).length<2)return t[0];var n=new Uint8Array(_reduceInstanceProperty(t).call(t,(function(e,t){return e+t.byteLength}),0)),i=0;return _forEachInstanceProperty(t).call(t,(function(e){n.set(e,i),i+=e.byteLength})),n}function sleep(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new _Promise((function(t){return _setTimeout(t,e)}))}var NetLoader=function(e){_inherits$1(n,EventEmitter$1);var t,r=_createSuper$1(n);function n(e){var t;return _classCallCheck$1(this,n),_defineProperty(_assertThisInitialized$1(t=r.call(this,e)),"type",LoaderType.FETCH),_defineProperty(_assertThisInitialized$1(t),"_queue",[]),_defineProperty(_assertThisInitialized$1(t),"_alive",[]),_defineProperty(_assertThisInitialized$1(t),"_currentTask",null),_defineProperty(_assertThisInitialized$1(t),"_config",void 0),t._config=getConfig$1(e),t._config.loaderType!==LoaderType.XHR&&FetchLoader.isSupported()||(t.type=LoaderType.XHR),t.log=e.logger,t}return _createClass$1(n,[{key:"isFetch",value:function(){return this.type===LoaderType.FETCH}},{key:"load",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?r=e:r.url=e||r.url||this._config.url,(r=_Object$assign({},this._config,r)).params&&(r.params=_Object$assign({},r.params)),r.headers&&isPlainObject(r.headers)&&(r.headers=_Object$assign({},r.headers)),r.body&&isPlainObject(r.body)&&(r.body=_Object$assign({},r.body)),r.transformRequest&&(r=r.transformRequest(r)||r),r.logger=this.log;var n=new Task(this.type,r);return n.loader.on(EVENT.REAL_TIME_SPEED,(function(e){t.emit(EVENT.REAL_TIME_SPEED,e)})),this._queue.push(n),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),n.promise}},{key:"cancel",value:(t=_asyncToGenerator(_regeneratorRuntime().mark((function e(){var t;return _regeneratorRuntime().wrap((function(e){for(var r,n,i;;)switch(e.prev=e.next){case 0:return t=_concatInstanceProperty(r=_mapInstanceProperty(n=this._queue).call(n,(function(e){return e.cancel()}))).call(r,_mapInstanceProperty(i=this._alive).call(i,(function(e){return e.cancel()}))),this._currentTask&&t.push(this._currentTask.cancel()),this._queue=[],this._alive=[],e.next=6,_Promise.all(t);case 6:return e.next=8,sleep();case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_processTask",value:function(){var e=this;this._currentTask=this._queue.shift(),this._currentTask&&(this._currentTask.alive&&this._alive.push(this._currentTask),this._currentTask.exec().catch((function(e){})).finally((function(){e._processTask()})))}}],[{key:"isFetchSupport",value:function(){return FetchLoader.isSupported()}}]),n}();function getConfig(e){return _objectSpread2$1({vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:"arraybuffer",cache:null},e)}var MediaError=_createClass$2((function e(t,r){_classCallCheck$2(this,e),this.type="file",this.message=t,this.data=r})),Cache=function(){function e(){_classCallCheck$2(this,e),_defineProperty$1(this,"_data",_Object$create(null))}return _createClass$2(e,[{key:"set",value:function(e,t){this._data[e]=t}},{key:"get",value:function(e){return this._data[e]}},{key:"clear",value:function(){this._data=_Object$create(null)}}]),e}();function moovToSegments(e,t){var r=e.trak;if(r&&r.length){var n=_findInstanceProperty(r).call(r,(function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),i=_findInstanceProperty(r).call(r,(function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)}));if(n||i){var o,a=[],s=[];if(n){var l,c,u,d=null===(l=n.mdia)||void 0===l||null===(c=l.minf)||void 0===c?void 0:c.stbl;if(!d)return;var p=null===(u=n.mdia.mdhd)||void 0===u?void 0:u.timescale,y=d.stts,h=d.stsc,f=d.stsz,$=d.stco,m=d.stss,b=d.ctts;if(!(p&&y&&h&&f&&$&&m))return;a=getSegments(t,p,y,h,f,$,m,b),o=_mapInstanceProperty(a).call(a,(function(e){return e.duration}))}if(i){var g,S,I,T=null===(g=i.mdia)||void 0===g||null===(S=g.minf)||void 0===S?void 0:S.stbl;if(!T)return;var v=null===(I=i.mdia.mdhd)||void 0===I?void 0:I.timescale,_=T.stts,P=T.stsc,E=T.stsz,R=T.stco;if(!(v&&_&&P&&E&&R))return;s=getSegments(t,v,_,P,E,R,null,null,o)}return{videoSegments:a,audioSegments:s}}}}function getSegments(e,t,r,n,i,o,a,s,l){var c,u,d,p,y,h=[],f=[],$=[],m=_entriesInstanceProperty(n),b=_entriesInstanceProperty(o),g=i.entrySizes,S=null==a?void 0:_entriesInstanceProperty(a),I=null==s?void 0:_entriesInstanceProperty(s);I&&(u=[],_forEachInstanceProperty(I).call(I,(function(e){for(var t=e.count,r=e.offset,n=0;n<t;n++)u.push(r)}))),S&&(d={},_forEachInstanceProperty(S).call(S,(function(e){d[e-1]=!0})));var T=0,v=0,_=0,P=0,E=0,R=m[0].samplesPerChunk,O=m[1]?m[1].firstChunk-1:1/0,C=0,w=-1;_forEachInstanceProperty(c=_entriesInstanceProperty(r)).call(c,(function(e){var t=e.count,r=e.delta;y=r;for(var n=0;n<t;n++)p={dts:C,startTime:T,duration:y,size:g[v]||i.sampleSize,offset:b[_]+E,index:v},S&&(p.keyframe=d[v],p.keyframe?(w++,f.push([p]),$.push(p.duration)):(f[f.length-1].push(p),$[f.length-1]+=p.duration),p.gopId=w),u&&v<u.length&&(p.pts=C+u[v]),0===v&&(p.pts=0),h.push(p),T+=y,C+=r,++v<R?E+=p.size:(_++,E=0,_>=O&&(P++,O=m[P+1]?m[P+1].firstChunk-1:1/0),R+=m[P].samplesPerChunk)}));var L=h.length;if(L&&(!a||h[0].keyframe)){var x,Z=[],A=[],M=0,G=function(e){var r;x=A[A.length-1],Z.push({index:Z.length,startTime:(null===(r=Z[Z.length-1])||void 0===r?void 0:r.endTime)||A[0].startTime/t,endTime:(x.startTime+x.duration)/t,duration:e,range:[A[0].offset,x.offset+x.size],frames:A}),M=0,A=[]};if(a)for(var k=e*t,X=0,N=f.length;X<N;X++){var V;M+=$[X],(V=A).push.apply(V,_toConsumableArray$1(f[X])),X+1<N?(0===X||M>k)&&G(M/t):G(M/t)}else for(var W=(l=l||[])[0]||e,D=0;D<L;D++)A.push(h[D]),M+=h[D].duration,(D+1>=L||M/t>=W)&&(G(M/t),W=l[Z.length]||e);return Z}}function moovToMeta(e){var t="",r="",n=0,i=0,o=0,a=0,s=0,l=0,c=0;e.mvhd&&(s=e.mvhd.duration/e.mvhd.timescale);var u=e.trak;if(u){var d,p,y,h,f,$,m,b,g,S,I,T,v,_,P,E,R,O=_findInstanceProperty(u).call(u,(function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),C=_findInstanceProperty(u).call(u,(function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),w=null;if(O)if(w=null===(p=O.mdia)||void 0===p||null===(y=p.minf)||void 0===y||null===(h=y.stbl)||void 0===h?void 0:_entriesInstanceProperty(h.stsd)[0])if(n=w.width,i=w.height,l=null===(f=O.mdia)||void 0===f||null===($=f.mdhd)||void 0===$?void 0:$.timescale,t=null===(m=w.avcC||w.hvcC)||void 0===m?void 0:m.codec,"encv"===w.type)d=null===(b=w.sinf)||void 0===b||null===(g=b.schi)||void 0===g?void 0:g.tenc.default_KID;if(C)if(w=null===(S=C.mdia)||void 0===S||null===(I=S.minf)||void 0===I||null===(T=I.stbl)||void 0===T?void 0:_entriesInstanceProperty(T.stsd)[0])if(o=w.channelCount,a=w.sampleRate,r=null===(v=w.esds)||void 0===v?void 0:v.codec,c=null===(_=C.mdia)||void 0===_||null===(P=_.mdhd)||void 0===P?void 0:P.timescale,"enca"===w.type)d=d||(null===(E=w.sinf)||void 0===E||null===(R=E.schi)||void 0===R?void 0:R.tenc.default_KID);return{kid:d?d.join(""):null,videoCodec:t,audioCodec:r,width:n,height:i,videoTimescale:l,audioChannelCount:o,audioSampleRate:a,duration:s,audioTimescale:c,moov:e}}}function isNumber(e){return"number"==typeof e&&!_Number$isNaN(e)}var _excluded=["vid","cache"],MP4Loader=function(e){_inherits$2(y,EventEmitter$1);var t,r,n,i,o,a,s,l,c,u,d,p=_createSuper$2(y);function y(e){var t;_classCallCheck$2(this,y),_defineProperty$1(_assertThisInitialized$2(t=p.call(this)),"vid",""),_defineProperty$1(_assertThisInitialized$2(t),"url",""),_defineProperty$1(_assertThisInitialized$2(t),"meta",{}),_defineProperty$1(_assertThisInitialized$2(t),"downloadInfo",[]),_defineProperty$1(_assertThisInitialized$2(t),"videoSegments",[]),_defineProperty$1(_assertThisInitialized$2(t),"audioSegments",[]),_defineProperty$1(_assertThisInitialized$2(t),"cache",null),_defineProperty$1(_assertThisInitialized$2(t),"_currentSegmentIndex",-1),_defineProperty$1(_assertThisInitialized$2(t),"_currentLoadingSegmentIndex",-1),_defineProperty$1(_assertThisInitialized$2(t),"buffer",void 0),_defineProperty$1(_assertThisInitialized$2(t),"_error",void 0),_defineProperty$1(_assertThisInitialized$2(t),"_transformError",(function(e){return e})),t._config=getConfig(e);var r=t._config,n=r.vid,i=r.cache,o=_objectWithoutProperties$1(r,_excluded);return t.cache=i||new Cache,t.vid=n||o.url,t.url=o.url,o.transformError=t._transformError,t.logger=new Logger("MP4Loader_"+t.vid),e.openLog&&Logger.enable(),o.logger=t.logger,t._loader=new NetLoader(o),t._loader.on(EVENT.REAL_TIME_SPEED,(function(e){t.emit(EVENT.REAL_TIME_SPEED,e)})),t}return _createClass$2(y,[{key:"isMetaLoaded",get:function(){return this.videoSegments.length||this.audioSegments.length}},{key:"setCurrentSegment",value:function(e){isNumber(e)&&(this._currentSegmentIndex=e)}},{key:"isLastSegment",value:function(e){var t,r;return!!isNumber(e)&&e===((null===(t=this.videoSegments[this.videoSegments.length-1])||void 0===t?void 0:t.index)||(null===(r=this.audioSegments[this.audioSegments.length-1])||void 0===r?void 0:r.index)||0)}},{key:"isSegmentLoading",value:function(e){return e===this._currentLoadingSegmentIndex}},{key:"changeUrl",value:(d=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t){var r,n,i,o=arguments;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:t,n=o.length>2?o[2]:void 0,i=o.length>3?o[3]:void 0,e.next=5,this.reset(i);case 5:t&&(this.url=t),r&&(this.vid=r),n&&(this._config.moovEnd=n);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"getOrLoadMeta",value:(u=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t){return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isMetaLoaded){e.next=3;break}return e.next=3,this.loadMeta(t);case 3:return e.abrupt("return",this.meta);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"loadMetaProcess",value:(c=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t,r,n,i){var o,a,s,l,c=this;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=_slicedToArray(r,2),a=o[0],s=o[1],this._error=!1,this.logger.debug("[loadMetaProcess start], range,",[a,s]),l=function(){var e=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(r,o,l){var u,d,p,y,h,f,$,m;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c.meta&&null!=l&&l.range&&l.range.length>0&&l.range[1]>=s&&(o=!0,c.logger.debug("[loadMetaProcess],data done,setstate true,[",a,s,"]")),o&&null!=l&&l.range&&l.range.length>0&&l.range[1]<s&&(o=!1,c.logger.debug("[loadMetaProcess],data not done,setstate false,[",a,s,"]")),c.logger.debug("[loadMetaProcess],task,[",a,s,"], range,",l.range,",dataLen,",r?r.byteLength:void 0,", state,",o,",err,",c._error),!c._error&&r&&r.byteLength>0&&n(r,o,l),!c.meta.moov&&!c._error){e.next=6;break}return e.abrupt("return");case 6:if(!(r&&r.byteLength>0)){e.next=44;break}if(c.buffer=concatUint8Array(c.buffer,r),u=MP4Parser.findBox(c.buffer,["moov"])[0]){e.next=23;break}if(d=MP4Parser.findBox(c.buffer,["mdat"])[0],!o){e.next=23;break}if(d){e.next=18;break}return c._error=!0,n(null,o,l,{err:"cannot find moov or mdat box"}),e.abrupt("return");case 18:return p=d.start+d.size,e.next=21,c.loadData([p,""],t,i);case 21:(y=e.sent)&&(u=MP4Parser.findBox(y.data,["moov"])[0]);case 23:if(!(u&&o&&u.size>u.data.length)){e.next=27;break}return c.logger.debug("[loadMetaProcess],moov not all, range,",l.range[1],",dataLen,",c.buffer.byteLength,", state,",o),e.next=27,c.loadMetaProcess(t,[l.range[1],u.start+u.size-1],n);case 27:if(!(u&&u.size<=u.data.length)||c.meta.moov){e.next=44;break}if(h=MP4Parser.moov(u)){e.next=33;break}return c._error=!0,n(null,o,l,{err:"cannot parse moov box"}),e.abrupt("return");case 33:if(f=moovToSegments(h,c._config.segmentDuration)){e.next=38;break}return c._error=!0,n(null,o,l,{err:"cannot parse segments"}),e.abrupt("return");case 38:c.meta=moovToMeta(h),$=f.videoSegments,m=f.audioSegments,c.videoSegments=$,c.audioSegments=m,c.logger.debug("[loadMetaProcess] moov ok"),n(void 0,o,{meta:{meta:c.meta,videoSegments:$,audioSegments:m}});case 44:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),e.next=6,this.loadData([a,s||this._config.moovEnd],t,_objectSpread2$1({onProgress:l},i));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return c.apply(this,arguments)})},{key:"loadMeta",value:(l=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t,r,n){var i,o,a,s,l,c,u,d,p;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=[],this.logger.debug("[loadMeta start]"),e.next=4,this.loadData([0,r||this._config.moovEnd],t,n);case 4:if(o=e.sent){e.next=7;break}return e.abrupt("return");case 7:if(i.push(o),a=MP4Parser.findBox(o.data,["moov"])[0]){e.next=23;break}if(s=MP4Parser.findBox(o.data,["mdat"])[0]){e.next=13;break}throw new MediaError("cannot find moov or mdat box",o.data);case 13:return l=s.start+s.size,e.next=16,this.loadData([l],t,n);case 16:if(o=e.sent){e.next=19;break}return e.abrupt("return");case 19:if(i.push(o),a=MP4Parser.findBox(o.data,["moov"],l)[0]){e.next=23;break}throw new MediaError("cannot find moov box",o.data);case 23:if(!(a.size>a.data.length)){e.next=31;break}return e.next=26,this.loadData([o.data.length,a.start+a.size-1],t,n);case 26:if(o=e.sent){e.next=29;break}return e.abrupt("return");case 29:i.push(o),a.data=concatUint8Array(a.data,o.data);case 31:if(c=MP4Parser.moov(a)){e.next=34;break}throw new MediaError("cannot parse moov box",a.data);case 34:if(u=moovToSegments(c,this._config.segmentDuration)){e.next=37;break}throw new MediaError("cannot parse segments",a.data);case 37:return this.meta=moovToMeta(c),d=u.videoSegments,p=u.audioSegments,this.videoSegments=d,this.audioSegments=p,this.logger.debug("[load moov end!!!!!]"),e.abrupt("return",{meta:this.meta,videoSegments:d,audioSegments:p,responses:i});case 43:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return l.apply(this,arguments)})},{key:"getSegmentByTime",value:function(e){var t,r,n,i;this.videoSegments.length?(t=_findInstanceProperty(n=this.videoSegments).call(n,(function(t){return t.startTime<=e&&t.endTime>e})),t&&(r=this.audioSegments[t.index])):r=_findInstanceProperty(i=this.audioSegments).call(i,(function(t){return t.startTime<=e&&t.endTime>e}));return{video:t,audio:r}}},{key:"loadSegmentByTime",value:(s=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t,r){var n,i,o,a,s,l=arguments;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(l.length>2&&void 0!==l[2])||l[2],i=l.length>3&&void 0!==l[3]?l[3]:{},this.isMetaLoaded){e.next=5;break}return e.next=5,this.loadMeta(r);case 5:return o=this.getSegmentByTime(t),a=o.video,s=o.audio,e.abrupt("return",this._loadSegment(a,s,r,n,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"loadNextSegment",value:(a=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t){var r,n,i,o,a=arguments;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=!(a.length>1&&void 0!==a[1])||a[1],n=a.length>2&&void 0!==a[2]?a[2]:{},this.isMetaLoaded){e.next=5;break}return e.next=5,this.loadMeta();case 5:return i=this.videoSegments[this._currentSegmentIndex+1],o=this.audioSegments[this._currentSegmentIndex+1],e.abrupt("return",this._loadSegment(i,o,t,r,n));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"preload",value:(o=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t){var r,n,i,o,a,s,l,c=this;return _regeneratorRuntime$1().wrap((function(e){for(var u,d;;)switch(e.prev=e.next){case 0:if(this.isMetaLoaded){e.next=3;break}return e.next=3,this.loadMeta(!0);case 3:if(t&&!(t<0)){e.next=5;break}return e.abrupt("return");case 5:if(r=this.getSegmentByTime(t),n=r.video,i=r.audio,o=Math.max((null==n?void 0:n.index)||0,(null==i?void 0:i.index)||0)){e.next=9;break}return e.abrupt("return");case 9:return a=_sliceInstanceProperty(u=this.videoSegments).call(u,0,o),s=_sliceInstanceProperty(d=this.audioSegments).call(d,0,o),l=function(){var e=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t){return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t>o)){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,c._loadSegment(a[t],s[t],!0,!1);case 4:return e.next=6,l(t+1);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.next=14,l(0);case 14:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"cancel",value:function(){return this._loader.cancel()}},{key:"reset",value:(i=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(){var t=arguments;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length>0&&void 0!==t[0]&&t[0]){e.next=5;break}return this.logger.debug("[MP4loader reset func call loader.cancel]"),e.next=5,this._loader.cancel();case 5:this.vid=this.url="",this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1;case 12:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"destroy",value:(n=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(){return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.reset();case 2:this.cache.clear();case 3:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"_loadSegment",value:(r=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t,r,n,i,o){var a,s;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t||r){e.next=2;break}return e.abrupt("return");case 2:return a=(null==t?void 0:t.index)||(null==r?void 0:r.index)||0,this._currentLoadingSegmentIndex=a,e.prev=4,e.next=7,this.loadData([Math.min((null==t?void 0:t.range[0])||1/0,(null==r?void 0:r.range[0])||1/0),Math.max((null==t?void 0:t.range[1])||0,(null==r?void 0:r.range[1])||0)],n,o);case 7:s=e.sent;case 8:return e.prev=8,this._currentLoadingSegmentIndex=-1,e.finish(8);case 11:if(s){e.next=13;break}return e.abrupt("return");case 13:return i&&(this._currentSegmentIndex=a),s.video=t,s.audio=r,e.abrupt("return",s);case 17:case"end":return e.stop()}}),e,this,[[4,,8,11]])}))),function(e,t,n,i,o){return r.apply(this,arguments)})},{key:"loadData",value:(t=_asyncToGenerator$1(_regeneratorRuntime$1().mark((function e(t,r,n){var i,o,a;return _regeneratorRuntime$1().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=this._getCacheKey(t),e.next=3,this.cache.get(i);case 3:if(o=e.sent){e.next=10;break}return e.next=7,this._loader.load(this.url,_objectSpread2$1({range:t,vid:this.vid},n));case 7:a=e.sent,e.next=11;break;case 10:a={data:o,state:!0,options:{fromCache:!0,range:t,vid:this.vid}};case 11:if(a){e.next=13;break}return e.abrupt("return");case 13:var r;return o||(a.data&&this.downloadInfo.push({startTime:a.startTime,endTime:a.endTime,size:a.data.byteLength,range:t}),this.downloadInfo&&this.downloadInfo.length>this._config.maxDownloadInfoSize&&(this.downloadInfo=_sliceInstanceProperty(r=this.downloadInfo).call(r,-this._config.maxDownloadInfoSize))),e.abrupt("return",a);case 16:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})},{key:"_getCacheKey",value:function(e){return(this.vid||this.url)+":"+e}}]),y}(),isSupport=_isLocalStorageUsable(),openLog=checkOpenLog();function probeSupport(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(e){return!1}}function checkIfLocalStorageThrows(){var e="_localstorage_support_test";try{return window.localStorage.setItem(e,!0),window.localStorage.removeItem(e),!1}catch(e){return!0}}function checkOpenLog(){if(isSupport)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}function _isLocalStorageUsable(){return probeSupport()&&!checkIfLocalStorageThrows()}function log$3(e){for(var t,r,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];openLog&&console.log&&(r=console).log.apply(r,_concatInstanceProperty(t=["[logger]",util.nowTime(),e]).call(t,i))}var MONITOR_HEADERS={"x-cache":"x_cache","x-response-sinfo":"server_ip","x-response-cinfo":"x-response-cinfo"};function transformHeaders(e){var t,r={};return _forEachInstanceProperty(t=_Object$keys(MONITOR_HEADERS)).call(t,(function(t){var n=MONITOR_HEADERS[t];e&&e.get&&e.get(t)&&(r[n]=e.get(t))})),r}var metaSizeConfig=[{range:[0,90],size:614400},{range:[90,120],size:1228800},{range:[120,Number.MAX_VALUE],size:2048e3}];function getMetaSize(e,t,r){var n=r>51200?Math.min(r,t):t;if(!e)return n;for(var i=0;i<metaSizeConfig.length;i++)if(e>=metaSizeConfig[i].range[0]&&e<metaSizeConfig[i].range[1]){n=Math.min(Math.max(n,metaSizeConfig[i].size),r>0?r:t);break}return n}var encodedJs="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXt2YXIgcj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLHIucHVzaC5hcHBseShyLG4pfXJldHVybiByfWZ1bmN0aW9uIGUoZSl7Zm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW3JdP2FyZ3VtZW50c1tyXTp7fTtyJTI/dChPYmplY3QobiksITApLmZvckVhY2goKGZ1bmN0aW9uKHQpe28oZSx0LG5bdF0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOnQoT2JqZWN0KG4pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobix0KSl9KSl9cmV0dXJuIGV9ZnVuY3Rpb24gcih0KXtyZXR1cm4ocj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0pKHQpfWZ1bmN0aW9uIG4odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWVbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLmtleSxuKX19ZnVuY3Rpb24gYSh0LGUscil7cmV0dXJuIGUmJmkodC5wcm90b3R5cGUsZSksciYmaSh0LHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHR9ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1yLHR9ZnVuY3Rpb24gcyh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxlJiZjKHQsZSl9ZnVuY3Rpb24gdSh0KXtyZXR1cm4odT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZih0KX0pKHQpfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4oYz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0LGUpe3JldHVybiB0Ll9fcHJvdG9fXz1lLHR9KSh0LGUpfWZ1bmN0aW9uIGYoKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fWZ1bmN0aW9uIGwodCxlLHIpe3JldHVybihsPWYoKT9SZWZsZWN0LmNvbnN0cnVjdC5iaW5kKCk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVtudWxsXTtuLnB1c2guYXBwbHkobixlKTt2YXIgaT1uZXcoRnVuY3Rpb24uYmluZC5hcHBseSh0LG4pKTtyZXR1cm4gciYmYyhpLHIucHJvdG90eXBlKSxpfSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGQodCxlKXtpZihlJiYoIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSkpcmV0dXJuIGU7aWYodm9pZCAwIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEZXJpdmVkIGNvbnN0cnVjdG9ycyBtYXkgb25seSByZXR1cm4gb2JqZWN0IG9yIHVuZGVmaW5lZCIpO3JldHVybiBmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9KHQpfWZ1bmN0aW9uIGgodCl7dmFyIGU9ZigpO3JldHVybiBmdW5jdGlvbigpe3ZhciByLG49dSh0KTtpZihlKXt2YXIgaT11KHRoaXMpLmNvbnN0cnVjdG9yO3I9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMsaSl9ZWxzZSByPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBkKHRoaXMscil9fWZ1bmN0aW9uIHAodCxlKXtmb3IoOyFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmbnVsbCE9PSh0PXUodCkpOyk7cmV0dXJuIHR9ZnVuY3Rpb24gdigpe3JldHVybiB2PSJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5nZXQ/UmVmbGVjdC5nZXQuYmluZCgpOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1wKHQsZSk7aWYobil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGUpO3JldHVybiBpLmdldD9pLmdldC5jYWxsKGFyZ3VtZW50cy5sZW5ndGg8Mz90OnIpOmkudmFsdWV9fSx2LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB5KHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gZyh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbi5rZXksbil9fWZ1bmN0aW9uIG0odCxlLHIpe3JldHVybiBlJiZnKHQucHJvdG90eXBlLGUpLHImJmcodCxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSx0fWZ1bmN0aW9uIGIodCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fWZ1bmN0aW9uIHcodCxlKXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdH0odCl8fGZ1bmN0aW9uKHQsZSl7dmFyIHI9bnVsbD09dD9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZihudWxsPT1yKXJldHVybjt2YXIgbixpLGE9W10sbz0hMCxzPSExO3RyeXtmb3Iocj1yLmNhbGwodCk7IShvPShuPXIubmV4dCgpKS5kb25lKSYmKGEucHVzaChuLnZhbHVlKSwhZXx8YS5sZW5ndGghPT1lKTtvPSEwKTt9Y2F0Y2godSl7cz0hMCxpPXV9ZmluYWxseXt0cnl7b3x8bnVsbD09ci5yZXR1cm58fHIucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IGl9fXJldHVybiBhfSh0LGUpfHx4KHQsZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBrKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBKHQpfSh0KXx8ZnVuY3Rpb24odCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPXRbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9dFsiQEBpdGVyYXRvciJdKXJldHVybiBBcnJheS5mcm9tKHQpfSh0KXx8eCh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiB4KHQsZSl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBBKHQsZSk7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09ciYmdC5jb25zdHJ1Y3RvciYmKHI9dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PXJ8fCJTZXQiPT09cj9BcnJheS5mcm9tKHQpOiJBcmd1bWVudHMiPT09cnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qocik/QSh0LGUpOnZvaWQgMH19ZnVuY3Rpb24gQSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KGUpO3I8ZTtyKyspbltyXT10W3JdO3JldHVybiBufXZhciBTPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e30sXz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5NYXRoPT1NYXRoJiZ0fSxUPV8oIm9iamVjdCI9PSgidW5kZWZpbmVkIj09dHlwZW9mIGdsb2JhbFRoaXM/InVuZGVmaW5lZCI6cihnbG9iYWxUaGlzKSkmJmdsb2JhbFRoaXMpfHxfKCJvYmplY3QiPT0oInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6cih3aW5kb3cpKSYmd2luZG93KXx8Xygib2JqZWN0Ij09KCJ1bmRlZmluZWQiPT10eXBlb2Ygc2VsZj8idW5kZWZpbmVkIjpyKHNlbGYpKSYmc2VsZil8fF8oIm9iamVjdCI9PXIoUykmJlMpfHxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLEU9e30sST1mdW5jdGlvbih0KXt0cnl7cmV0dXJuISF0KCl9Y2F0Y2goZSl7cmV0dXJuITB9fSxPPSFJKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSksTT17fSxDPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLFI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixCPVImJiFDLmNhbGwoezE6Mn0sMSk7TS5mPUI/ZnVuY3Rpb24odCl7dmFyIGU9Uih0aGlzLHQpO3JldHVybiEhZSYmZS5lbnVtZXJhYmxlfTpDO3ZhciBQPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2VudW1lcmFibGU6ISgxJnQpLGNvbmZpZ3VyYWJsZTohKDImdCksd3JpdGFibGU6ISg0JnQpLHZhbHVlOmV9fSxVPXt9LnRvU3RyaW5nLEQ9ZnVuY3Rpb24odCl7cmV0dXJuIFUuY2FsbCh0KS5zbGljZSg4LC0xKX0sej1ELGo9IiIuc3BsaXQsTD1JKChmdW5jdGlvbigpe3JldHVybiFPYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKX0pKT9mdW5jdGlvbih0KXtyZXR1cm4iU3RyaW5nIj09eih0KT9qLmNhbGwodCwiIik6T2JqZWN0KHQpfTpPYmplY3QsRj1mdW5jdGlvbih0KXtpZihudWxsPT10KXRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIit0KTtyZXR1cm4gdH0sTj1MLFY9RixIPWZ1bmN0aW9uKHQpe3JldHVybiBOKFYodCkpfSxZPWZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT09cih0KT9udWxsIT09dDoiZnVuY3Rpb24iPT10eXBlb2YgdH0sSz1ZLFc9ZnVuY3Rpb24odCxlKXtpZighSyh0KSlyZXR1cm4gdDt2YXIgcixuO2lmKGUmJiJmdW5jdGlvbiI9PXR5cGVvZihyPXQudG9TdHJpbmcpJiYhSyhuPXIuY2FsbCh0KSkpcmV0dXJuIG47aWYoImZ1bmN0aW9uIj09dHlwZW9mKHI9dC52YWx1ZU9mKSYmIUsobj1yLmNhbGwodCkpKXJldHVybiBuO2lmKCFlJiYiZnVuY3Rpb24iPT10eXBlb2Yocj10LnRvU3RyaW5nKSYmIUsobj1yLmNhbGwodCkpKXJldHVybiBuO3Rocm93IFR5cGVFcnJvcigiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9LEc9RixxPWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QoRyh0KSl9LFg9cSwkPXt9Lmhhc093blByb3BlcnR5LFE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gJC5jYWxsKFgodCksZSl9LFo9WSxKPVQuZG9jdW1lbnQsdHQ9WihKKSYmWihKLmNyZWF0ZUVsZW1lbnQpLGV0PWZ1bmN0aW9uKHQpe3JldHVybiB0dD9KLmNyZWF0ZUVsZW1lbnQodCk6e319LHJ0PWV0LG50PSFPJiYhSSgoZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHJ0KCJkaXYiKSwiYSIse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pLmF9KSksaXQ9TyxhdD1NLG90PVAsc3Q9SCx1dD1XLGN0PVEsZnQ9bnQsbHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtFLmY9aXQ/bHQ6ZnVuY3Rpb24odCxlKXtpZih0PXN0KHQpLGU9dXQoZSwhMCksZnQpdHJ5e3JldHVybiBsdCh0LGUpfWNhdGNoKHIpe31pZihjdCh0LGUpKXJldHVybiBvdCghYXQuZi5jYWxsKHQsZSksdFtlXSl9O3ZhciBkdD17fSxodD1ZLHB0PWZ1bmN0aW9uKHQpe2lmKCFodCh0KSl0aHJvdyBUeXBlRXJyb3IoU3RyaW5nKHQpKyIgaXMgbm90IGFuIG9iamVjdCIpO3JldHVybiB0fSx2dD1PLHl0PW50LGd0PXB0LG10PVcsYnQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O2R0LmY9dnQ/YnQ6ZnVuY3Rpb24odCxlLHIpe2lmKGd0KHQpLGU9bXQoZSwhMCksZ3QocikseXQpdHJ5e3JldHVybiBidCh0LGUscil9Y2F0Y2gobil7fWlmKCJnZXQiaW4gcnx8InNldCJpbiByKXRocm93IFR5cGVFcnJvcigiQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm4idmFsdWUiaW4gciYmKHRbZV09ci52YWx1ZSksdH07dmFyIHd0PWR0LGt0PVAseHQ9Tz9mdW5jdGlvbih0LGUscil7cmV0dXJuIHd0LmYodCxlLGt0KDEscikpfTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHRbZV09cix0fSxBdD17ZXhwb3J0czp7fX0sU3Q9VCxfdD14dCxUdD1mdW5jdGlvbih0LGUpe3RyeXtfdChTdCx0LGUpfWNhdGNoKHIpe1N0W3RdPWV9cmV0dXJuIGV9LEV0PVR0LEl0PSJfX2NvcmUtanNfc2hhcmVkX18iLE90PVRbSXRdfHxFdChJdCx7fSksTXQ9T3QsQ3Q9RnVuY3Rpb24udG9TdHJpbmc7ImZ1bmN0aW9uIiE9dHlwZW9mIE10Lmluc3BlY3RTb3VyY2UmJihNdC5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBDdC5jYWxsKHQpfSk7dmFyIFJ0PU10Lmluc3BlY3RTb3VyY2UsQnQ9UnQsUHQ9VC5XZWFrTWFwLFV0PSJmdW5jdGlvbiI9PXR5cGVvZiBQdCYmL25hdGl2ZSBjb2RlLy50ZXN0KEJ0KFB0KSksRHQ9e2V4cG9ydHM6e319LHp0PU90OyhEdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHp0W3RdfHwoenRbdF09dm9pZCAwIT09ZT9lOnt9KX0pKCJ2ZXJzaW9ucyIsW10pLnB1c2goe3ZlcnNpb246IjMuMTIuMSIsbW9kZToiZ2xvYmFsIixjb3B5cmlnaHQ6IsKpIDIwMjEgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSkifSk7dmFyIGp0LEx0LEZ0LE50PTAsVnQ9TWF0aC5yYW5kb20oKSxIdD1mdW5jdGlvbih0KXtyZXR1cm4iU3ltYm9sKCIrU3RyaW5nKHZvaWQgMD09PXQ/IiI6dCkrIilfIisoKytOdCtWdCkudG9TdHJpbmcoMzYpfSxZdD1EdC5leHBvcnRzLEt0PUh0LFd0PVl0KCJrZXlzIiksR3Q9ZnVuY3Rpb24odCl7cmV0dXJuIFd0W3RdfHwoV3RbdF09S3QodCkpfSxxdD17fSxYdD1VdCwkdD1ZLFF0PXh0LFp0PVEsSnQ9T3QsdGU9R3QsZWU9cXQscmU9Ik9iamVjdCBhbHJlYWR5IGluaXRpYWxpemVkIixuZT1ULldlYWtNYXA7aWYoWHR8fEp0LnN0YXRlKXt2YXIgaWU9SnQuc3RhdGV8fChKdC5zdGF0ZT1uZXcgbmUpLGFlPWllLmdldCxvZT1pZS5oYXMsc2U9aWUuc2V0O2p0PWZ1bmN0aW9uKHQsZSl7aWYob2UuY2FsbChpZSx0KSl0aHJvdyBuZXcgVHlwZUVycm9yKHJlKTtyZXR1cm4gZS5mYWNhZGU9dCxzZS5jYWxsKGllLHQsZSksZX0sTHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFlLmNhbGwoaWUsdCl8fHt9fSxGdD1mdW5jdGlvbih0KXtyZXR1cm4gb2UuY2FsbChpZSx0KX19ZWxzZXt2YXIgdWU9dGUoInN0YXRlIik7ZWVbdWVdPSEwLGp0PWZ1bmN0aW9uKHQsZSl7aWYoWnQodCx1ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihyZSk7cmV0dXJuIGUuZmFjYWRlPXQsUXQodCx1ZSxlKSxlfSxMdD1mdW5jdGlvbih0KXtyZXR1cm4gWnQodCx1ZSk/dFt1ZV06e319LEZ0PWZ1bmN0aW9uKHQpe3JldHVybiBadCh0LHVlKX19dmFyIGNlPXtzZXQ6anQsZ2V0Okx0LGhhczpGdCxlbmZvcmNlOmZ1bmN0aW9uKHQpe3JldHVybiBGdCh0KT9MdCh0KTpqdCh0LHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcjtpZighJHQoZSl8fChyPUx0KGUpKS50eXBlIT09dCl0aHJvdyBUeXBlRXJyb3IoIkluY29tcGF0aWJsZSByZWNlaXZlciwgIit0KyIgcmVxdWlyZWQiKTtyZXR1cm4gcn19fSxmZT1ULGxlPXh0LGRlPVEsaGU9VHQscGU9UnQsdmU9Y2UuZ2V0LHllPWNlLmVuZm9yY2UsZ2U9U3RyaW5nKFN0cmluZykuc3BsaXQoIlN0cmluZyIpOyhBdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpLGE9ISFuJiYhIW4udW5zYWZlLG89ISFuJiYhIW4uZW51bWVyYWJsZSxzPSEhbiYmISFuLm5vVGFyZ2V0R2V0OyJmdW5jdGlvbiI9PXR5cGVvZiByJiYoInN0cmluZyIhPXR5cGVvZiBlfHxkZShyLCJuYW1lIil8fGxlKHIsIm5hbWUiLGUpLChpPXllKHIpKS5zb3VyY2V8fChpLnNvdXJjZT1nZS5qb2luKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiKSkpLHQhPT1mZT8oYT8hcyYmdFtlXSYmKG89ITApOmRlbGV0ZSB0W2VdLG8/dFtlXT1yOmxlKHQsZSxyKSk6bz90W2VdPXI6aGUoZSxyKX0pKEZ1bmN0aW9uLnByb3RvdHlwZSwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzJiZ2ZSh0aGlzKS5zb3VyY2V8fHBlKHRoaXMpfSkpO3ZhciBtZT1ULGJlPVQsd2U9ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp2b2lkIDB9LGtlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj93ZShtZVt0XSl8fHdlKGJlW3RdKTptZVt0XSYmbWVbdF1bZV18fGJlW3RdJiZiZVt0XVtlXX0seGU9e30sQWU9TWF0aC5jZWlsLFNlPU1hdGguZmxvb3IsX2U9ZnVuY3Rpb24odCl7cmV0dXJuIGlzTmFOKHQ9K3QpPzA6KHQ+MD9TZTpBZSkodCl9LFRlPV9lLEVlPU1hdGgubWluLEllPWZ1bmN0aW9uKHQpe3JldHVybiB0PjA/RWUoVGUodCksOTAwNzE5OTI1NDc0MDk5MSk6MH0sT2U9X2UsTWU9TWF0aC5tYXgsQ2U9TWF0aC5taW4sUmU9ZnVuY3Rpb24odCxlKXt2YXIgcj1PZSh0KTtyZXR1cm4gcjwwP01lKHIrZSwwKTpDZShyLGUpfSxCZT1ILFBlPUllLFVlPVJlLERlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7dmFyIGksYT1CZShlKSxvPVBlKGEubGVuZ3RoKSxzPVVlKG4sbyk7aWYodCYmciE9cil7Zm9yKDtvPnM7KWlmKChpPWFbcysrXSkhPWkpcmV0dXJuITB9ZWxzZSBmb3IoO28+cztzKyspaWYoKHR8fHMgaW4gYSkmJmFbc109PT1yKXJldHVybiB0fHxzfHwwO3JldHVybiF0JiYtMX19LHplPXtpbmNsdWRlczpEZSghMCksaW5kZXhPZjpEZSghMSl9LGplPVEsTGU9SCxGZT16ZS5pbmRleE9mLE5lPXF0LFZlPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj1MZSh0KSxpPTAsYT1bXTtmb3IociBpbiBuKSFqZShOZSxyKSYmamUobixyKSYmYS5wdXNoKHIpO2Zvcig7ZS5sZW5ndGg+aTspamUobixyPWVbaSsrXSkmJih+RmUoYSxyKXx8YS5wdXNoKHIpKTtyZXR1cm4gYX0sSGU9WyJjb25zdHJ1Y3RvciIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidG9Mb2NhbGVTdHJpbmciLCJ0b1N0cmluZyIsInZhbHVlT2YiXSxZZT1WZSxLZT1IZS5jb25jYXQoImxlbmd0aCIsInByb3RvdHlwZSIpO3hlLmY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fGZ1bmN0aW9uKHQpe3JldHVybiBZZSh0LEtlKX07dmFyIFdlPXt9O1dlLmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgR2UscWUsWGU9eGUsJGU9V2UsUWU9cHQsWmU9a2UoIlJlZmxlY3QiLCJvd25LZXlzIil8fGZ1bmN0aW9uKHQpe3ZhciBlPVhlLmYoUWUodCkpLHI9JGUuZjtyZXR1cm4gcj9lLmNvbmNhdChyKHQpKTplfSxKZT1RLHRyPVplLGVyPUUscnI9ZHQsbnI9SSxpcj0vI3xcLnByb3RvdHlwZVwuLyxhcj1mdW5jdGlvbih0LGUpe3ZhciByPXNyW29yKHQpXTtyZXR1cm4gcj09Y3J8fHIhPXVyJiYoImZ1bmN0aW9uIj09dHlwZW9mIGU/bnIoZSk6ISFlKX0sb3I9YXIubm9ybWFsaXplPWZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCkucmVwbGFjZShpciwiLiIpLnRvTG93ZXJDYXNlKCl9LHNyPWFyLmRhdGE9e30sdXI9YXIuTkFUSVZFPSJOIixjcj1hci5QT0xZRklMTD0iUCIsZnI9YXIsbHI9VCxkcj1FLmYsaHI9eHQscHI9QXQuZXhwb3J0cyx2cj1UdCx5cj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10cihlKSxuPXJyLmYsaT1lci5mLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIG89clthXTtKZSh0LG8pfHxuKHQsbyxpKGUsbykpfX0sZ3I9ZnIsbXI9ZnVuY3Rpb24odCxlKXt2YXIgbixpLGEsbyxzLHU9dC50YXJnZXQsYz10Lmdsb2JhbCxmPXQuc3RhdDtpZihuPWM/bHI6Zj9sclt1XXx8dnIodSx7fSk6KGxyW3VdfHx7fSkucHJvdG90eXBlKWZvcihpIGluIGUpe2lmKG89ZVtpXSxhPXQubm9UYXJnZXRHZXQ/KHM9ZHIobixpKSkmJnMudmFsdWU6bltpXSwhZ3IoYz9pOnUrKGY/Ii4iOiIjIikraSx0LmZvcmNlZCkmJnZvaWQgMCE9PWEpe2lmKHIobyk9PT1yKGEpKWNvbnRpbnVlO3lyKG8sYSl9KHQuc2hhbXx8YSYmYS5zaGFtKSYmaHIobywic2hhbSIsITApLHByKG4saSxvLHQpfX0sYnI9RCx3cj1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iQXJyYXkiPT1icih0KX0sa3I9Vyx4cj1kdCxBcj1QLFNyPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1rcihlKTtuIGluIHQ/eHIuZih0LG4sQXIoMCxyKSk6dFtuXT1yfSxfcj1rZSgibmF2aWdhdG9yIiwidXNlckFnZW50Iil8fCIiLFRyPV9yLEVyPVQucHJvY2VzcyxJcj1FciYmRXIudmVyc2lvbnMsT3I9SXImJklyLnY4O09yP3FlPShHZT1Pci5zcGxpdCgiLiIpKVswXTw0PzE6R2VbMF0rR2VbMV06VHImJighKEdlPVRyLm1hdGNoKC9FZGdlXC8oXGQrKS8pKXx8R2VbMV0+PTc0KSYmKEdlPVRyLm1hdGNoKC9DaHJvbWVcLyhcZCspLykpJiYocWU9R2VbMV0pO3ZhciBNcj1xZSYmK3FlLENyPU1yLFJyPUksQnI9ISFPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYhUnIoKGZ1bmN0aW9uKCl7cmV0dXJuIVN0cmluZyhTeW1ib2woKSl8fCFTeW1ib2wuc2hhbSYmQ3ImJkNyPDQxfSkpLFByPUJyJiYhU3ltYm9sLnNoYW0mJiJzeW1ib2wiPT1yKFN5bWJvbC5pdGVyYXRvciksVXI9VCxEcj1EdC5leHBvcnRzLHpyPVEsanI9SHQsTHI9QnIsRnI9UHIsTnI9RHIoIndrcyIpLFZyPVVyLlN5bWJvbCxIcj1Gcj9WcjpWciYmVnIud2l0aG91dFNldHRlcnx8anIsWXI9ZnVuY3Rpb24odCl7cmV0dXJuIHpyKE5yLHQpJiYoTHJ8fCJzdHJpbmciPT10eXBlb2YgTnJbdF0pfHwoTHImJnpyKFZyLHQpP05yW3RdPVZyW3RdOk5yW3RdPUhyKCJTeW1ib2wuIit0KSksTnJbdF19LEtyPVksV3I9d3IsR3I9WXIoInNwZWNpZXMiKSxxcj1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiBXcih0KSYmKCJmdW5jdGlvbiIhPXR5cGVvZihyPXQuY29uc3RydWN0b3IpfHxyIT09QXJyYXkmJiFXcihyLnByb3RvdHlwZSk/S3IocikmJm51bGw9PT0ocj1yW0dyXSkmJihyPXZvaWQgMCk6cj12b2lkIDApLG5ldyh2b2lkIDA9PT1yP0FycmF5OnIpKDA9PT1lPzA6ZSl9LFhyPUksJHI9TXIsUXI9WXIoInNwZWNpZXMiKSxacj1mdW5jdGlvbih0KXtyZXR1cm4gJHI+PTUxfHwhWHIoKGZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuKGUuY29uc3RydWN0b3I9e30pW1FyXT1mdW5jdGlvbigpe3JldHVybntmb286MX19LDEhPT1lW3RdKEJvb2xlYW4pLmZvb30pKX0sSnI9bXIsdG49SSxlbj13cixybj1ZLG5uPXEsYW49SWUsb249U3Isc249cXIsdW49WnIsY249TXIsZm49WXIoImlzQ29uY2F0U3ByZWFkYWJsZSIpLGxuPTkwMDcxOTkyNTQ3NDA5OTEsZG49Ik1heGltdW0gYWxsb3dlZCBpbmRleCBleGNlZWRlZCIsaG49Y24+PTUxfHwhdG4oKGZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRbZm5dPSExLHQuY29uY2F0KClbMF0hPT10fSkpLHBuPXVuKCJjb25jYXQiKSx2bj1mdW5jdGlvbih0KXtpZighcm4odCkpcmV0dXJuITE7dmFyIGU9dFtmbl07cmV0dXJuIHZvaWQgMCE9PWU/ISFlOmVuKHQpfTtKcih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFobnx8IXBufSx7Y29uY2F0OmZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLGEsbz1ubih0aGlzKSxzPXNuKG8sMCksdT0wO2ZvcihlPS0xLG49YXJndW1lbnRzLmxlbmd0aDtlPG47ZSsrKWlmKHZuKGE9LTE9PT1lP286YXJndW1lbnRzW2VdKSl7aWYodSsoaT1hbihhLmxlbmd0aCkpPmxuKXRocm93IFR5cGVFcnJvcihkbik7Zm9yKHI9MDtyPGk7cisrLHUrKylyIGluIGEmJm9uKHMsdSxhW3JdKX1lbHNle2lmKHU+PWxuKXRocm93IFR5cGVFcnJvcihkbik7b24ocyx1KyssYSl9cmV0dXJuIHMubGVuZ3RoPXUsc319KTt2YXIgeW49e307eW5bWXIoInRvU3RyaW5nVGFnIildPSJ6Ijt2YXIgZ249IltvYmplY3Qgel0iPT09U3RyaW5nKHluKSxtbj1nbixibj1ELHduPVlyKCJ0b1N0cmluZ1RhZyIpLGtuPSJBcmd1bWVudHMiPT1ibihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpLHhuPW1uP2JuOmZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtyZXR1cm4gdm9pZCAwPT09dD8iVW5kZWZpbmVkIjpudWxsPT09dD8iTnVsbCI6InN0cmluZyI9PXR5cGVvZihyPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0W2VdfWNhdGNoKHIpe319KGU9T2JqZWN0KHQpLHduKSk/cjprbj9ibihlKToiT2JqZWN0Ij09KG49Ym4oZSkpJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5jYWxsZWU/IkFyZ3VtZW50cyI6bn0sQW49eG4sU249Z24/e30udG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4iW29iamVjdCAiK0FuKHRoaXMpKyJdIn0sX249Z24sVG49QXQuZXhwb3J0cyxFbj1Tbjtfbnx8VG4oT2JqZWN0LnByb3RvdHlwZSwidG9TdHJpbmciLEVuLHt1bnNhZmU6ITB9KTt2YXIgSW49e0NTU1J1bGVMaXN0OjAsQ1NTU3R5bGVEZWNsYXJhdGlvbjowLENTU1ZhbHVlTGlzdDowLENsaWVudFJlY3RMaXN0OjAsRE9NUmVjdExpc3Q6MCxET01TdHJpbmdMaXN0OjAsRE9NVG9rZW5MaXN0OjEsRGF0YVRyYW5zZmVySXRlbUxpc3Q6MCxGaWxlTGlzdDowLEhUTUxBbGxDb2xsZWN0aW9uOjAsSFRNTENvbGxlY3Rpb246MCxIVE1MRm9ybUVsZW1lbnQ6MCxIVE1MU2VsZWN0RWxlbWVudDowLE1lZGlhTGlzdDowLE1pbWVUeXBlQXJyYXk6MCxOYW1lZE5vZGVNYXA6MCxOb2RlTGlzdDoxLFBhaW50UmVxdWVzdExpc3Q6MCxQbHVnaW46MCxQbHVnaW5BcnJheTowLFNWR0xlbmd0aExpc3Q6MCxTVkdOdW1iZXJMaXN0OjAsU1ZHUGF0aFNlZ0xpc3Q6MCxTVkdQb2ludExpc3Q6MCxTVkdTdHJpbmdMaXN0OjAsU1ZHVHJhbnNmb3JtTGlzdDowLFNvdXJjZUJ1ZmZlckxpc3Q6MCxTdHlsZVNoZWV0TGlzdDowLFRleHRUcmFja0N1ZUxpc3Q6MCxUZXh0VHJhY2tMaXN0OjAsVG91Y2hMaXN0OjB9LE9uPWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IFR5cGVFcnJvcihTdHJpbmcodCkrIiBpcyBub3QgYSBmdW5jdGlvbiIpO3JldHVybiB0fSxNbj1PbixDbj1mdW5jdGlvbih0LGUscil7aWYoTW4odCksdm9pZCAwPT09ZSlyZXR1cm4gdDtzd2l0Y2gocil7Y2FzZSAwOnJldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmNhbGwoZSl9O2Nhc2UgMTpyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQuY2FsbChlLHIpfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHIsbil7cmV0dXJuIHQuY2FsbChlLHIsbil9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24ocixuLGkpe3JldHVybiB0LmNhbGwoZSxyLG4saSl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGUsYXJndW1lbnRzKX19LFJuPUNuLEJuPUwsUG49cSxVbj1JZSxEbj1xcix6bj1bXS5wdXNoLGpuPWZ1bmN0aW9uKHQpe3ZhciBlPTE9PXQscj0yPT10LG49Mz09dCxpPTQ9PXQsYT02PT10LG89Nz09dCxzPTU9PXR8fGE7cmV0dXJuIGZ1bmN0aW9uKHUsYyxmLGwpe2Zvcih2YXIgZCxoLHA9UG4odSksdj1CbihwKSx5PVJuKGMsZiwzKSxnPVVuKHYubGVuZ3RoKSxtPTAsYj1sfHxEbix3PWU/Yih1LGcpOnJ8fG8/Yih1LDApOnZvaWQgMDtnPm07bSsrKWlmKChzfHxtIGluIHYpJiYoaD15KGQ9dlttXSxtLHApLHQpKWlmKGUpd1ttXT1oO2Vsc2UgaWYoaClzd2l0Y2godCl7Y2FzZSAzOnJldHVybiEwO2Nhc2UgNTpyZXR1cm4gZDtjYXNlIDY6cmV0dXJuIG07Y2FzZSAyOnpuLmNhbGwodyxkKX1lbHNlIHN3aXRjaCh0KXtjYXNlIDQ6cmV0dXJuITE7Y2FzZSA3OnpuLmNhbGwodyxkKX1yZXR1cm4gYT8tMTpufHxpP2k6d319LExuPXtmb3JFYWNoOmpuKDApLG1hcDpqbigxKSxmaWx0ZXI6am4oMiksc29tZTpqbigzKSxldmVyeTpqbig0KSxmaW5kOmpuKDUpLGZpbmRJbmRleDpqbig2KSxmaWx0ZXJPdXQ6am4oNyl9LEZuPUksTm49ZnVuY3Rpb24odCxlKXt2YXIgcj1bXVt0XTtyZXR1cm4hIXImJkZuKChmdW5jdGlvbigpe3IuY2FsbChudWxsLGV8fGZ1bmN0aW9uKCl7dGhyb3cgMX0sMSl9KSl9LFZuPUxuLmZvckVhY2gsSG49Tm4oImZvckVhY2giKT9bXS5mb3JFYWNoOmZ1bmN0aW9uKHQpe3JldHVybiBWbih0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSxZbj1ULEtuPUluLFduPUhuLEduPXh0O2Zvcih2YXIgcW4gaW4gS24pe3ZhciBYbj1Zbltxbl0sJG49WG4mJlhuLnByb3RvdHlwZTtpZigkbiYmJG4uZm9yRWFjaCE9PVduKXRyeXtHbigkbiwiZm9yRWFjaCIsV24pfWNhdGNoKFN2KXskbi5mb3JFYWNoPVdufX12YXIgUW49TG4ubWFwO21yKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IVpyKCJtYXAiKX0se21hcDpmdW5jdGlvbih0KXtyZXR1cm4gUW4odGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KTt2YXIgWm4sSm49VmUsdGk9SGUsZWk9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3JldHVybiBKbih0LHRpKX0scmk9ZHQsbmk9cHQsaWk9ZWksYWk9Tz9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbih0LGUpe25pKHQpO2Zvcih2YXIgcixuPWlpKGUpLGk9bi5sZW5ndGgsYT0wO2k+YTspcmkuZih0LHI9blthKytdLGVbcl0pO3JldHVybiB0fSxvaT1rZSgiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiKSxzaT1wdCx1aT1haSxjaT1IZSxmaT1xdCxsaT1vaSxkaT1ldCxoaT1HdCgiSUVfUFJPVE8iKSxwaT1mdW5jdGlvbigpe30sdmk9ZnVuY3Rpb24odCl7cmV0dXJuIjxzY3JpcHQ+Iit0KyI8LyIrInNjcmlwdD4ifSx5aT1mdW5jdGlvbigpe3RyeXtabj1kb2N1bWVudC5kb21haW4mJm5ldyBBY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpfWNhdGNoKFN2KXt9dmFyIHQsZTt5aT1abj9mdW5jdGlvbih0KXt0LndyaXRlKHZpKCIiKSksdC5jbG9zZSgpO3ZhciBlPXQucGFyZW50V2luZG93Lk9iamVjdDtyZXR1cm4gdD1udWxsLGV9KFpuKTooKGU9ZGkoImlmcmFtZSIpKS5zdHlsZS5kaXNwbGF5PSJub25lIixsaS5hcHBlbmRDaGlsZChlKSxlLnNyYz1TdHJpbmcoImphdmFzY3JpcHQ6IiksKHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50KS5vcGVuKCksdC53cml0ZSh2aSgiZG9jdW1lbnQuRj1PYmplY3QiKSksdC5jbG9zZSgpLHQuRik7Zm9yKHZhciByPWNpLmxlbmd0aDtyLS07KWRlbGV0ZSB5aS5wcm90b3R5cGVbY2lbcl1dO3JldHVybiB5aSgpfTtmaVtoaV09ITA7dmFyIGdpPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIG51bGwhPT10PyhwaS5wcm90b3R5cGU9c2kodCkscj1uZXcgcGkscGkucHJvdG90eXBlPW51bGwscltoaV09dCk6cj15aSgpLHZvaWQgMD09PWU/cjp1aShyLGUpfSxtaT1naSxiaT1kdCx3aT1ZcigidW5zY29wYWJsZXMiKSxraT1BcnJheS5wcm90b3R5cGU7bnVsbD09a2lbd2ldJiZiaS5mKGtpLHdpLHtjb25maWd1cmFibGU6ITAsdmFsdWU6bWkobnVsbCl9KTt2YXIgeGk9ZnVuY3Rpb24odCl7a2lbd2ldW3RdPSEwfSxBaT16ZS5pbmNsdWRlcyxTaT14aTttcih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITB9LHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4gQWkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxTaSgiaW5jbHVkZXMiKTt2YXIgX2k9WSxUaT1ELEVpPVlyKCJtYXRjaCIpLElpPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBfaSh0KSYmKHZvaWQgMCE9PShlPXRbRWldKT8hIWU6IlJlZ0V4cCI9PVRpKHQpKX0sT2k9WXIoIm1hdGNoIiksTWk9ZnVuY3Rpb24odCl7aWYoSWkodCkpdGhyb3cgVHlwZUVycm9yKCJUaGUgbWV0aG9kIGRvZXNuJ3QgYWNjZXB0IHJlZ3VsYXIgZXhwcmVzc2lvbnMiKTtyZXR1cm4gdH0sQ2k9Rjttcih7dGFyZ2V0OiJTdHJpbmciLHByb3RvOiEwLGZvcmNlZDohZnVuY3Rpb24odCl7dmFyIGU9Ly4vO3RyeXsiLy4vIlt0XShlKX1jYXRjaChyKXt0cnl7cmV0dXJuIGVbT2ldPSExLCIvLi8iW3RdKGUpfWNhdGNoKG4pe319cmV0dXJuITF9KCJpbmNsdWRlcyIpfSx7aW5jbHVkZXM6ZnVuY3Rpb24odCl7cmV0dXJuISF+U3RyaW5nKENpKHRoaXMpKS5pbmRleE9mKE1pKHQpLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KTt2YXIgUmk9TG4uZmlsdGVyO21yKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IVpyKCJmaWx0ZXIiKX0se2ZpbHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gUmkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KTt2YXIgQmk9InZpZGVvIixQaT0iYXVkaW8iLFVpPSJtZXRhZGF0YSIsRGk9ImF2YyIsemk9ImhldmMiLGppPSJhYWMiLExpPSJnNzExMGEiLEZpPSJnNzExMG0iLE5pPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3kodGhpcyx0KSxiKHRoaXMsImlkIiwxKSxiKHRoaXMsInR5cGUiLEJpKSxiKHRoaXMsImNvZGVjVHlwZSIsRGkpLGIodGhpcywicGlkIiwtMSksYih0aGlzLCJodmNDIix2b2lkIDApLGIodGhpcywiY29kZWMiLCIiKSxiKHRoaXMsInRpbWVzY2FsZSIsMCksYih0aGlzLCJmb3JtYXRUaW1lc2NhbGUiLDApLGIodGhpcywic2VxdWVuY2VOdW1iZXIiLDApLGIodGhpcywiYmFzZU1lZGlhRGVjb2RlVGltZSIsMCksYih0aGlzLCJiYXNlRHRzIiwwKSxiKHRoaXMsImR1cmF0aW9uIiwwKSxiKHRoaXMsIndhcm5pbmdzIixbXSksYih0aGlzLCJzYW1wbGVzIixbXSksYih0aGlzLCJwcHMiLFtdKSxiKHRoaXMsInNwcyIsW10pLGIodGhpcywidnBzIixbXSksYih0aGlzLCJmcHNOdW0iLDApLGIodGhpcywiZnBzRGVuIiwwKSxiKHRoaXMsInNhclJhdGlvIixbXSksYih0aGlzLCJ3aWR0aCIsMCksYih0aGlzLCJoZWlnaHQiLDApLGIodGhpcywibmFsVW5pdFNpemUiLDQpLGIodGhpcywicHJlc2VudCIsITEpLGIodGhpcywiaXNWaWRlb0VuY3J5cHRpb24iLCExKSxiKHRoaXMsImlzQXVkaW9FbmNyeXB0aW9uIiwhMSksYih0aGlzLCJraWQiLG51bGwpLGIodGhpcywicHNzaCIsbnVsbCksYih0aGlzLCJleHQiLHZvaWQgMCl9cmV0dXJuIG0odCxbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zZXF1ZW5jZU51bWJlcj10aGlzLndpZHRoPXRoaXMuaGVpZ2h0PXRoaXMuZnBzRGVuPXRoaXMuZnBzTnVtPXRoaXMuZHVyYXRpb249dGhpcy5iYXNlTWVkaWFEZWNvZGVUaW1lPXRoaXMudGltZXNjYWxlPTAsdGhpcy5jb2RlYz0iIix0aGlzLnByZXNlbnQ9ITEsdGhpcy5waWQ9LTEsdGhpcy5wcHM9W10sdGhpcy5zcHM9W10sdGhpcy52cHM9W10sdGhpcy5zYXJSYXRpbz1bXSx0aGlzLnNhbXBsZXM9W10sdGhpcy53YXJuaW5ncz1bXSx0aGlzLmh2Y0M9bnVsbH19LHtrZXk6ImV4aXN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiEhKHRoaXMucHBzLmxlbmd0aCYmdGhpcy5zcHMubGVuZ3RoJiZ0aGlzLmNvZGVjKX19LHtrZXk6Imhhc1NhbXBsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2FtcGxlcy5sZW5ndGh9fV0pLHR9KCksVmk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7eSh0aGlzLHQpLGIodGhpcywiaWQiLDIpLGIodGhpcywidHlwZSIsUGkpLGIodGhpcywiY29kZWNUeXBlIixqaSksYih0aGlzLCJwaWQiLC0xKSxiKHRoaXMsImNvZGVjIiwiIiksYih0aGlzLCJzZXF1ZW5jZU51bWJlciIsMCksYih0aGlzLCJzYW1wbGVEdXJhdGlvbiIsMCksYih0aGlzLCJ0aW1lc2NhbGUiLDApLGIodGhpcywiZm9ybWF0VGltZXNjYWxlIiwwKSxiKHRoaXMsImJhc2VNZWRpYURlY29kZVRpbWUiLDApLGIodGhpcywiZHVyYXRpb24iLDApLGIodGhpcywid2FybmluZ3MiLFtdKSxiKHRoaXMsInNhbXBsZXMiLFtdKSxiKHRoaXMsImJhc2VEdHMiLDApLGIodGhpcywic2FtcGxlU2l6ZSIsMTYpLGIodGhpcywic2FtcGxlUmF0ZSIsMCksYih0aGlzLCJjaGFubmVsQ291bnQiLDApLGIodGhpcywib2JqZWN0VHlwZSIsMCksYih0aGlzLCJzYW1wbGVSYXRlSW5kZXgiLDApLGIodGhpcywiY29uZmlnIixbXSksYih0aGlzLCJwcmVzZW50IiwhMSksYih0aGlzLCJpc1ZpZGVvRW5jcnlwdGlvbiIsITEpLGIodGhpcywiaXNBdWRpb0VuY3J5cHRpb24iLCExKSxiKHRoaXMsImtpZCIsbnVsbCksYih0aGlzLCJleHQiLHZvaWQgMCl9cmV0dXJuIG0odCxbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5zZXF1ZW5jZU51bWJlcj0wLHRoaXMudGltZXNjYWxlPTAsdGhpcy5zYW1wbGVEdXJhdGlvbj0wLHRoaXMuc2FtcGxlUmF0ZT0wLHRoaXMuY2hhbm5lbENvdW50PTAsdGhpcy5iYXNlTWVkaWFEZWNvZGVUaW1lPTAsdGhpcy5wcmVzZW50PSExLHRoaXMucGlkPS0xLHRoaXMuY29kZWM9IiIsdGhpcy5zYW1wbGVzPVtdLHRoaXMuY29uZmlnPVtdLHRoaXMud2FybmluZ3M9W119fSx7a2V5OiJleGlzdCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hISh0aGlzLnNhbXBsZVJhdGUmJnRoaXMuY2hhbm5lbENvdW50JiZ0aGlzLmNvZGVjJiZ0aGlzLmNvZGVjVHlwZT09PWppKX19LHtrZXk6Imhhc1NhbXBsZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuc2FtcGxlcy5sZW5ndGh9fV0pLHR9KCksSGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuKXt5KHRoaXMsdCksYih0aGlzLCJmbGFnIix7fSksYih0aGlzLCJrZXlmcmFtZSIsITEpLGIodGhpcywiZ29wSWQiLDApLGIodGhpcywiZHVyYXRpb24iLDApLGIodGhpcywic2l6ZSIsMCksYih0aGlzLCJ1bml0cyIsW10pLGIodGhpcywiY2hyb21hRm9ybWF0Iiw0MjApLHRoaXMub3JpZ2luUHRzPXRoaXMucHRzPWUsdGhpcy5vcmlnaW5EdHM9dGhpcy5kdHM9cixuJiYodGhpcy51bml0cz1uKX1yZXR1cm4gbSh0LFt7a2V5OiJjdHMiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB0cy10aGlzLmR0c319LHtrZXk6InNldFRvS2V5ZnJhbWUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5rZXlmcmFtZT0hMCx0aGlzLmZsYWcuZGVwZW5kc09uPTIsdGhpcy5mbGFnLmlzTm9uU3luY1NhbXBsZT0wfX1dKSx0fSgpLFlpPW0oKGZ1bmN0aW9uIHQoZSxyLG4saSl7eSh0aGlzLHQpLGIodGhpcywiZHVyYXRpb24iLDEwMjQpLGIodGhpcywiZmxhZyIse2RlcGVuZHNPbjoyLGlzTm9uU3luY1NhbXBsZTowfSksYih0aGlzLCJrZXlmcmFtZSIsITApLHRoaXMub3JpZ2luUHRzPXRoaXMucHRzPXRoaXMuZHRzPWUsdGhpcy5kYXRhPXIsdGhpcy5zaXplPXIuYnl0ZUxlbmd0aCx0aGlzLnNhbXBsZU9mZnNldD1pLG4mJih0aGlzLmR1cmF0aW9uPW4pfSkpLEtpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3kodGhpcyx0KSxiKHRoaXMsImlkIiwzKSxiKHRoaXMsInR5cGUiLFVpKSxiKHRoaXMsInRpbWVzY2FsZSIsMCksYih0aGlzLCJmbHZTY3JpcHRTYW1wbGVzIixbXSksYih0aGlzLCJzZWlTYW1wbGVzIixbXSl9cmV0dXJuIG0odCxbe2tleToiZXhpc3QiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5mbHZTY3JpcHRTYW1wbGVzLmxlbmd0aCYmIXRoaXMuc2VpU2FtcGxlcy5sZW5ndGh8fCF0aGlzLnRpbWVzY2FsZSl9fSx7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnRpbWVzY2FsZT0wLHRoaXMuZmx2U2NyaXB0U2FtcGxlcz1bXSx0aGlzLnNlaVNhbXBsZXM9W119fSx7a2V5OiJoYXNTYW1wbGUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5mbHZTY3JpcHRTYW1wbGVzLmxlbmd0aCYmIXRoaXMuc2VpU2FtcGxlcy5sZW5ndGgpfX1dKSx0fSgpLFdpPVksR2k9cHQscWk9ZnVuY3Rpb24odCl7aWYoIVdpKHQpJiZudWxsIT09dCl0aHJvdyBUeXBlRXJyb3IoIkNhbid0IHNldCAiK1N0cmluZyh0KSsiIGFzIGEgcHJvdG90eXBlIik7cmV0dXJuIHR9LFhpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8KCJfX3Byb3RvX18iaW57fT9mdW5jdGlvbigpe3ZhciB0LGU9ITEscj17fTt0cnl7KHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKS5zZXQpLmNhbGwocixbXSksZT1yIGluc3RhbmNlb2YgQXJyYXl9Y2F0Y2goU3Ype31yZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gR2kocikscWkobiksZT90LmNhbGwocixuKTpyLl9fcHJvdG9fXz1uLHJ9fSgpOnZvaWQgMCksJGk9WSxRaT1YaSxaaT1mdW5jdGlvbih0LGUscil7dmFyIG4saTtyZXR1cm4gUWkmJiJmdW5jdGlvbiI9PXR5cGVvZihuPWUuY29uc3RydWN0b3IpJiZuIT09ciYmJGkoaT1uLnByb3RvdHlwZSkmJmkhPT1yLnByb3RvdHlwZSYmUWkodCxpKSx0fSxKaT1GLHRhPSJbXHRcblx2XGZcciDCoOGagOKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAr+KBn+OAgFx1MjAyOFx1MjAyOVx1ZmVmZl0iLGVhPVJlZ0V4cCgiXiIrdGErdGErIioiKSxyYT1SZWdFeHAodGErdGErIiokIiksbmE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByPVN0cmluZyhKaShlKSk7cmV0dXJuIDEmdCYmKHI9ci5yZXBsYWNlKGVhLCIiKSksMiZ0JiYocj1yLnJlcGxhY2UocmEsIiIpKSxyfX0saWE9e3N0YXJ0Om5hKDEpLGVuZDpuYSgyKSx0cmltOm5hKDMpfSxhYT1PLG9hPVQsc2E9ZnIsdWE9QXQuZXhwb3J0cyxjYT1RLGZhPUQsbGE9WmksZGE9VyxoYT1JLHBhPWdpLHZhPXhlLmYseWE9RS5mLGdhPWR0LmYsbWE9aWEudHJpbSxiYT0iTnVtYmVyIix3YT1vYS5OdW1iZXIsa2E9d2EucHJvdG90eXBlLHhhPWZhKHBhKGthKSk9PWJhLEFhPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLGEsbyxzLHUsYz1kYSh0LCExKTtpZigic3RyaW5nIj09dHlwZW9mIGMmJmMubGVuZ3RoPjIpaWYoNDM9PT0oZT0oYz1tYShjKSkuY2hhckNvZGVBdCgwKSl8fDQ1PT09ZSl7aWYoODg9PT0ocj1jLmNoYXJDb2RlQXQoMikpfHwxMjA9PT1yKXJldHVybiBOYU59ZWxzZSBpZig0OD09PWUpe3N3aXRjaChjLmNoYXJDb2RlQXQoMSkpe2Nhc2UgNjY6Y2FzZSA5ODpuPTIsaT00OTticmVhaztjYXNlIDc5OmNhc2UgMTExOm49OCxpPTU1O2JyZWFrO2RlZmF1bHQ6cmV0dXJuK2N9Zm9yKG89KGE9Yy5zbGljZSgyKSkubGVuZ3RoLHM9MDtzPG87cysrKWlmKCh1PWEuY2hhckNvZGVBdChzKSk8NDh8fHU+aSlyZXR1cm4gTmFOO3JldHVybiBwYXJzZUludChhLG4pfXJldHVybitjfTtpZihzYShiYSwhd2EoIiAwbzEiKXx8IXdhKCIwYjEiKXx8d2EoIisweDEiKSkpe2Zvcih2YXIgU2EsX2E9ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDwxPzA6dCxyPXRoaXM7cmV0dXJuIHIgaW5zdGFuY2VvZiBfYSYmKHhhP2hhKChmdW5jdGlvbigpe2thLnZhbHVlT2YuY2FsbChyKX0pKTpmYShyKSE9YmEpP2xhKG5ldyB3YShBYShlKSkscixfYSk6QWEoZSl9LFRhPWFhP3ZhKHdhKToiTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksRVBTSUxPTixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixNQVhfU0FGRV9JTlRFR0VSLE1JTl9TQUZFX0lOVEVHRVIscGFyc2VGbG9hdCxwYXJzZUludCxpc0ludGVnZXIsZnJvbVN0cmluZyxyYW5nZSIuc3BsaXQoIiwiKSxFYT0wO1RhLmxlbmd0aD5FYTtFYSsrKWNhKHdhLFNhPVRhW0VhXSkmJiFjYShfYSxTYSkmJmdhKF9hLFNhLHlhKHdhLFNhKSk7X2EucHJvdG90eXBlPWthLGthLmNvbnN0cnVjdG9yPV9hLHVhKG9hLGJhLF9hKX12YXIgSWEsT2EsTWEsQ2E9e30sUmE9IUkoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5wcm90b3R5cGUuY29uc3RydWN0b3I9bnVsbCxPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IHQpIT09dC5wcm90b3R5cGV9KSksQmE9USxQYT1xLFVhPVJhLERhPUd0KCJJRV9QUk9UTyIpLHphPU9iamVjdC5wcm90b3R5cGUsamE9VWE/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiB0PVBhKHQpLEJhKHQsRGEpP3RbRGFdOiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbnN0cnVjdG9yJiZ0IGluc3RhbmNlb2YgdC5jb25zdHJ1Y3Rvcj90LmNvbnN0cnVjdG9yLnByb3RvdHlwZTp0IGluc3RhbmNlb2YgT2JqZWN0P3phOm51bGx9LExhPUksRmE9amEsTmE9eHQsVmE9USxIYT1ZcigiaXRlcmF0b3IiKSxZYT0hMTtbXS5rZXlzJiYoIm5leHQiaW4oTWE9W10ua2V5cygpKT8oT2E9RmEoRmEoTWEpKSkhPT1PYmplY3QucHJvdG90eXBlJiYoSWE9T2EpOllhPSEwKSwobnVsbD09SWF8fExhKChmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiBJYVtIYV0uY2FsbCh0KSE9PXR9KSkpJiYoSWE9e30pLFZhKElhLEhhKXx8TmEoSWEsSGEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSk7dmFyIEthPXtJdGVyYXRvclByb3RvdHlwZTpJYSxCVUdHWV9TQUZBUklfSVRFUkFUT1JTOllhfSxXYT1kdC5mLEdhPVEscWE9WXIoInRvU3RyaW5nVGFnIiksWGE9ZnVuY3Rpb24odCxlLHIpe3QmJiFHYSh0PXI/dDp0LnByb3RvdHlwZSxxYSkmJldhKHQscWEse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9LCRhPUthLkl0ZXJhdG9yUHJvdG90eXBlLFFhPWdpLFphPVAsSmE9WGEsdG89Q2EsZW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scm89bXIsbm89ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWUrIiBJdGVyYXRvciI7cmV0dXJuIHQucHJvdG90eXBlPVFhKCRhLHtuZXh0OlphKDEscil9KSxKYSh0LG4sITEpLHRvW25dPWVvLHR9LGlvPWphLGFvPVhpLG9vPVhhLHNvPXh0LHVvPUF0LmV4cG9ydHMsY289Q2EsZm89S2EuSXRlcmF0b3JQcm90b3R5cGUsbG89S2EuQlVHR1lfU0FGQVJJX0lURVJBVE9SUyxobz1ZcigiaXRlcmF0b3IiKSxwbz0ia2V5cyIsdm89InZhbHVlcyIseW89ImVudHJpZXMiLGdvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LG1vPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe25vKHIsZSxuKTt2YXIgcyx1LGMsZj1mdW5jdGlvbih0KXtpZih0PT09aSYmdilyZXR1cm4gdjtpZighbG8mJnQgaW4gaClyZXR1cm4gaFt0XTtzd2l0Y2godCl7Y2FzZSBwbzpjYXNlIHZvOmNhc2UgeW86cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKHRoaXMsdCl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgcih0aGlzKX19LGw9ZSsiIEl0ZXJhdG9yIixkPSExLGg9dC5wcm90b3R5cGUscD1oW2hvXXx8aFsiQEBpdGVyYXRvciJdfHxpJiZoW2ldLHY9IWxvJiZwfHxmKGkpLHk9IkFycmF5Ij09ZSYmaC5lbnRyaWVzfHxwO2lmKHkmJihzPWlvKHkuY2FsbChuZXcgdCkpLGZvIT09T2JqZWN0LnByb3RvdHlwZSYmcy5uZXh0JiYoaW8ocykhPT1mbyYmKGFvP2FvKHMsZm8pOiJmdW5jdGlvbiIhPXR5cGVvZiBzW2hvXSYmc28ocyxobyxnbykpLG9vKHMsbCwhMCkpKSxpPT12byYmcCYmcC5uYW1lIT09dm8mJihkPSEwLHY9ZnVuY3Rpb24oKXtyZXR1cm4gcC5jYWxsKHRoaXMpfSksaFtob10hPT12JiZzbyhoLGhvLHYpLGNvW2VdPXYsaSlpZih1PXt2YWx1ZXM6Zih2byksa2V5czphP3Y6ZihwbyksZW50cmllczpmKHlvKX0sbylmb3IoYyBpbiB1KShsb3x8ZHx8IShjIGluIGgpKSYmdW8oaCxjLHVbY10pO2Vsc2Ugcm8oe3RhcmdldDplLHByb3RvOiEwLGZvcmNlZDpsb3x8ZH0sdSk7cmV0dXJuIHV9LGJvPUgsd289eGksa289Q2EseG89Y2UsQW89bW8sU289IkFycmF5IEl0ZXJhdG9yIixfbz14by5zZXQsVG89eG8uZ2V0dGVyRm9yKFNvKSxFbz1BbyhBcnJheSwiQXJyYXkiLChmdW5jdGlvbih0LGUpe19vKHRoaXMse3R5cGU6U28sdGFyZ2V0OmJvKHQpLGluZGV4OjAsa2luZDplfSl9KSwoZnVuY3Rpb24oKXt2YXIgdD1Ubyh0aGlzKSxlPXQudGFyZ2V0LHI9dC5raW5kLG49dC5pbmRleCsrO3JldHVybiFlfHxuPj1lLmxlbmd0aD8odC50YXJnZXQ9dm9pZCAwLHt2YWx1ZTp2b2lkIDAsZG9uZTohMH0pOiJrZXlzIj09cj97dmFsdWU6bixkb25lOiExfToidmFsdWVzIj09cj97dmFsdWU6ZVtuXSxkb25lOiExfTp7dmFsdWU6W24sZVtuXV0sZG9uZTohMX19KSwidmFsdWVzIik7a28uQXJndW1lbnRzPWtvLkFycmF5LHdvKCJrZXlzIiksd28oInZhbHVlcyIpLHdvKCJlbnRyaWVzIik7dmFyIElvPXtleHBvcnRzOnt9fSxPbz1ZcigiaXRlcmF0b3IiKSxNbz0hMTt0cnl7dmFyIENvPTAsUm89e25leHQ6ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTohIUNvKyt9fSxyZXR1cm46ZnVuY3Rpb24oKXtNbz0hMH19O1JvW09vXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxBcnJheS5mcm9tKFJvLChmdW5jdGlvbigpe3Rocm93IDJ9KSl9Y2F0Y2goU3Ype312YXIgQm8sUG89ZnVuY3Rpb24odCxlKXtpZighZSYmIU1vKXJldHVybiExO3ZhciByPSExO3RyeXt2YXIgbj17fTtuW09vXT1mdW5jdGlvbigpe3JldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6cj0hMH19fX0sdChuKX1jYXRjaChTdil7fXJldHVybiByfSxVbz0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYidW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3LERvPVVvLHpvPU8sam89VCxMbz1ZLEZvPVEsTm89eG4sVm89eHQsSG89QXQuZXhwb3J0cyxZbz1kdC5mLEtvPWphLFdvPVhpLEdvPVlyLHFvPUh0LFhvPWpvLkludDhBcnJheSwkbz1YbyYmWG8ucHJvdG90eXBlLFFvPWpvLlVpbnQ4Q2xhbXBlZEFycmF5LFpvPVFvJiZRby5wcm90b3R5cGUsSm89WG8mJktvKFhvKSx0cz0kbyYmS28oJG8pLGVzPU9iamVjdC5wcm90b3R5cGUscnM9ZXMuaXNQcm90b3R5cGVPZixucz1HbygidG9TdHJpbmdUYWciKSxpcz1xbygiVFlQRURfQVJSQVlfVEFHIiksYXM9RG8mJiEhV28mJiJPcGVyYSIhPT1Obyhqby5vcGVyYSksb3M9ITEsc3M9e0ludDhBcnJheToxLFVpbnQ4QXJyYXk6MSxVaW50OENsYW1wZWRBcnJheToxLEludDE2QXJyYXk6MixVaW50MTZBcnJheToyLEludDMyQXJyYXk6NCxVaW50MzJBcnJheTo0LEZsb2F0MzJBcnJheTo0LEZsb2F0NjRBcnJheTo4fSx1cz17QmlnSW50NjRBcnJheTo4LEJpZ1VpbnQ2NEFycmF5Ojh9LGNzPWZ1bmN0aW9uKHQpe2lmKCFMbyh0KSlyZXR1cm4hMTt2YXIgZT1Obyh0KTtyZXR1cm4gRm8oc3MsZSl8fEZvKHVzLGUpfTtmb3IoQm8gaW4gc3Mpam9bQm9dfHwoYXM9ITEpO2lmKCghYXN8fCJmdW5jdGlvbiIhPXR5cGVvZiBKb3x8Sm89PT1GdW5jdGlvbi5wcm90b3R5cGUpJiYoSm89ZnVuY3Rpb24oKXt0aHJvdyBUeXBlRXJyb3IoIkluY29ycmVjdCBpbnZvY2F0aW9uIil9LGFzKSlmb3IoQm8gaW4gc3Mpam9bQm9dJiZXbyhqb1tCb10sSm8pO2lmKCghYXN8fCF0c3x8dHM9PT1lcykmJih0cz1Kby5wcm90b3R5cGUsYXMpKWZvcihCbyBpbiBzcylqb1tCb10mJldvKGpvW0JvXS5wcm90b3R5cGUsdHMpO2lmKGFzJiZLbyhabykhPT10cyYmV28oWm8sdHMpLHpvJiYhRm8odHMsbnMpKWZvcihCbyBpbiBvcz0hMCxZbyh0cyxucyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIExvKHRoaXMpP3RoaXNbaXNdOnZvaWQgMH19KSxzcylqb1tCb10mJlZvKGpvW0JvXSxpcyxCbyk7dmFyIGZzPXtOQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTOmFzLFRZUEVEX0FSUkFZX1RBRzpvcyYmaXMsYVR5cGVkQXJyYXk6ZnVuY3Rpb24odCl7aWYoY3ModCkpcmV0dXJuIHQ7dGhyb3cgVHlwZUVycm9yKCJUYXJnZXQgaXMgbm90IGEgdHlwZWQgYXJyYXkiKX0sYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcjpmdW5jdGlvbih0KXtpZihXbyl7aWYocnMuY2FsbChKbyx0KSlyZXR1cm4gdH1lbHNlIGZvcih2YXIgZSBpbiBzcylpZihGbyhzcyxCbykpe3ZhciByPWpvW2VdO2lmKHImJih0PT09cnx8cnMuY2FsbChyLHQpKSlyZXR1cm4gdH10aHJvdyBUeXBlRXJyb3IoIlRhcmdldCBpcyBub3QgYSB0eXBlZCBhcnJheSBjb25zdHJ1Y3RvciIpfSxleHBvcnRUeXBlZEFycmF5TWV0aG9kOmZ1bmN0aW9uKHQsZSxyKXtpZih6byl7aWYocilmb3IodmFyIG4gaW4gc3Mpe3ZhciBpPWpvW25dO2lmKGkmJkZvKGkucHJvdG90eXBlLHQpKXRyeXtkZWxldGUgaS5wcm90b3R5cGVbdF19Y2F0Y2goU3Ype319dHNbdF0mJiFyfHxIbyh0cyx0LHI/ZTphcyYmJG9bdF18fGUpfX0sZXhwb3J0VHlwZWRBcnJheVN0YXRpY01ldGhvZDpmdW5jdGlvbih0LGUscil7dmFyIG4saTtpZih6byl7aWYoV28pe2lmKHIpZm9yKG4gaW4gc3MpaWYoKGk9am9bbl0pJiZGbyhpLHQpKXRyeXtkZWxldGUgaVt0XX1jYXRjaChTdil7fWlmKEpvW3RdJiYhcilyZXR1cm47dHJ5e3JldHVybiBIbyhKbyx0LHI/ZTphcyYmSm9bdF18fGUpfWNhdGNoKFN2KXt9fWZvcihuIGluIHNzKSEoaT1qb1tuXSl8fGlbdF0mJiFyfHxIbyhpLHQsZSl9fSxpc1ZpZXc6ZnVuY3Rpb24odCl7aWYoIUxvKHQpKXJldHVybiExO3ZhciBlPU5vKHQpO3JldHVybiJEYXRhVmlldyI9PT1lfHxGbyhzcyxlKXx8Rm8odXMsZSl9LGlzVHlwZWRBcnJheTpjcyxUeXBlZEFycmF5OkpvLFR5cGVkQXJyYXlQcm90b3R5cGU6dHN9LGxzPVQsZHM9SSxocz1Qbyxwcz1mcy5OQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTLHZzPWxzLkFycmF5QnVmZmVyLHlzPWxzLkludDhBcnJheSxncz0hcHN8fCFkcygoZnVuY3Rpb24oKXt5cygxKX0pKXx8IWRzKChmdW5jdGlvbigpe25ldyB5cygtMSl9KSl8fCFocygoZnVuY3Rpb24odCl7bmV3IHlzLG5ldyB5cyhudWxsKSxuZXcgeXMoMS41KSxuZXcgeXModCl9KSwhMCl8fGRzKChmdW5jdGlvbigpe3JldHVybiAxIT09bmV3IHlzKG5ldyB2cygyKSwxLHZvaWQgMCkubGVuZ3RofSkpLG1zPUF0LmV4cG9ydHMsYnM9ZnVuY3Rpb24odCxlLHIpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IFR5cGVFcnJvcigiSW5jb3JyZWN0ICIrKHI/cisiICI6IiIpKyJpbnZvY2F0aW9uIik7cmV0dXJuIHR9LHdzPV9lLGtzPUllLHhzPWZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQpcmV0dXJuIDA7dmFyIGU9d3ModCkscj1rcyhlKTtpZihlIT09cil0aHJvdyBSYW5nZUVycm9yKCJXcm9uZyBsZW5ndGggb3IgaW5kZXgiKTtyZXR1cm4gcn0sQXM9TWF0aC5hYnMsU3M9TWF0aC5wb3csX3M9TWF0aC5mbG9vcixUcz1NYXRoLmxvZyxFcz1NYXRoLkxOMixJcz1xLE9zPVJlLE1zPUllLENzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1Jcyh0aGlzKSxyPU1zKGUubGVuZ3RoKSxuPWFyZ3VtZW50cy5sZW5ndGgsaT1PcyhuPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxyKSxhPW4+Mj9hcmd1bWVudHNbMl06dm9pZCAwLG89dm9pZCAwPT09YT9yOk9zKGEscik7bz5pOyllW2krK109dDtyZXR1cm4gZX0sUnM9VCxCcz1PLFBzPVVvLFVzPXh0LERzPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4gaW4gZSltcyh0LG4sZVtuXSxyKTtyZXR1cm4gdH0senM9SSxqcz1icyxMcz1fZSxGcz1JZSxOcz14cyxWcz17cGFjazpmdW5jdGlvbih0LGUscil7dmFyIG4saSxhLG89bmV3IEFycmF5KHIpLHM9OCpyLWUtMSx1PSgxPDxzKS0xLGM9dT4+MSxmPTIzPT09ZT9TcygyLC0yNCktU3MoMiwtNzcpOjAsbD10PDB8fDA9PT10JiYxL3Q8MD8xOjAsZD0wO2ZvcigodD1Bcyh0KSkhPXR8fHQ9PT0xLzA/KGk9dCE9dD8xOjAsbj11KToobj1fcyhUcyh0KS9FcyksdCooYT1TcygyLC1uKSk8MSYmKG4tLSxhKj0yKSwodCs9bitjPj0xP2YvYTpmKlNzKDIsMS1jKSkqYT49MiYmKG4rKyxhLz0yKSxuK2M+PXU/KGk9MCxuPXUpOm4rYz49MT8oaT0odCphLTEpKlNzKDIsZSksbis9Yyk6KGk9dCpTcygyLGMtMSkqU3MoMixlKSxuPTApKTtlPj04O29bZCsrXT0yNTUmaSxpLz0yNTYsZS09OCk7Zm9yKG49bjw8ZXxpLHMrPWU7cz4wO29bZCsrXT0yNTUmbixuLz0yNTYscy09OCk7cmV0dXJuIG9bLS1kXXw9MTI4Kmwsb30sdW5wYWNrOmZ1bmN0aW9uKHQsZSl7dmFyIHIsbj10Lmxlbmd0aCxpPTgqbi1lLTEsYT0oMTw8aSktMSxvPWE+PjEscz1pLTcsdT1uLTEsYz10W3UtLV0sZj0xMjcmYztmb3IoYz4+PTc7cz4wO2Y9MjU2KmYrdFt1XSx1LS0scy09OCk7Zm9yKHI9ZiYoMTw8LXMpLTEsZj4+PS1zLHMrPWU7cz4wO3I9MjU2KnIrdFt1XSx1LS0scy09OCk7aWYoMD09PWYpZj0xLW87ZWxzZXtpZihmPT09YSlyZXR1cm4gcj9OYU46Yz8tMS8wOjEvMDtyKz1TcygyLGUpLGYtPW99cmV0dXJuKGM/LTE6MSkqcipTcygyLGYtZSl9fSxIcz1qYSxZcz1YaSxLcz14ZS5mLFdzPWR0LmYsR3M9Q3MscXM9WGEsWHM9Y2UuZ2V0LCRzPWNlLnNldCxRcz0iQXJyYXlCdWZmZXIiLFpzPSJEYXRhVmlldyIsSnM9Ildyb25nIGluZGV4Iix0dT1Scy5BcnJheUJ1ZmZlcixldT10dSxydT1Scy5EYXRhVmlldyxudT1ydSYmcnUucHJvdG90eXBlLGl1PU9iamVjdC5wcm90b3R5cGUsYXU9UnMuUmFuZ2VFcnJvcixvdT1Wcy5wYWNrLHN1PVZzLnVucGFjayx1dT1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnRdfSxjdT1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnQsdD4+OCYyNTVdfSxmdT1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnQsdD4+OCYyNTUsdD4+MTYmMjU1LHQ+PjI0JjI1NV19LGx1PWZ1bmN0aW9uKHQpe3JldHVybiB0WzNdPDwyNHx0WzJdPDwxNnx0WzFdPDw4fHRbMF19LGR1PWZ1bmN0aW9uKHQpe3JldHVybiBvdSh0LDIzLDQpfSxodT1mdW5jdGlvbih0KXtyZXR1cm4gb3UodCw1Miw4KX0scHU9ZnVuY3Rpb24odCxlKXtXcyh0LnByb3RvdHlwZSxlLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHModGhpcylbZV19fSl9LHZ1PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPU5zKHIpLGE9WHModCk7aWYoaStlPmEuYnl0ZUxlbmd0aCl0aHJvdyBhdShKcyk7dmFyIG89WHMoYS5idWZmZXIpLmJ5dGVzLHM9aSthLmJ5dGVPZmZzZXQsdT1vLnNsaWNlKHMscytlKTtyZXR1cm4gbj91OnUucmV2ZXJzZSgpfSx5dT1mdW5jdGlvbih0LGUscixuLGksYSl7dmFyIG89TnMocikscz1Ycyh0KTtpZihvK2U+cy5ieXRlTGVuZ3RoKXRocm93IGF1KEpzKTtmb3IodmFyIHU9WHMocy5idWZmZXIpLmJ5dGVzLGM9bytzLmJ5dGVPZmZzZXQsZj1uKCtpKSxsPTA7bDxlO2wrKyl1W2MrbF09ZlthP2w6ZS1sLTFdfTtpZihQcyl7aWYoIXpzKChmdW5jdGlvbigpe3R1KDEpfSkpfHwhenMoKGZ1bmN0aW9uKCl7bmV3IHR1KC0xKX0pKXx8enMoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dSxuZXcgdHUoMS41KSxuZXcgdHUoTmFOKSx0dS5uYW1lIT1Rc30pKSl7Zm9yKHZhciBndSxtdT0oZXU9ZnVuY3Rpb24odCl7cmV0dXJuIGpzKHRoaXMsZXUpLG5ldyB0dShOcyh0KSl9KS5wcm90b3R5cGU9dHUucHJvdG90eXBlLGJ1PUtzKHR1KSx3dT0wO2J1Lmxlbmd0aD53dTspKGd1PWJ1W3d1KytdKWluIGV1fHxVcyhldSxndSx0dVtndV0pO211LmNvbnN0cnVjdG9yPWV1fVlzJiZIcyhudSkhPT1pdSYmWXMobnUsaXUpO3ZhciBrdT1uZXcgcnUobmV3IGV1KDIpKSx4dT1udS5zZXRJbnQ4O2t1LnNldEludDgoMCwyMTQ3NDgzNjQ4KSxrdS5zZXRJbnQ4KDEsMjE0NzQ4MzY0OSksIWt1LmdldEludDgoMCkmJmt1LmdldEludDgoMSl8fERzKG51LHtzZXRJbnQ4OmZ1bmN0aW9uKHQsZSl7eHUuY2FsbCh0aGlzLHQsZTw8MjQ+PjI0KX0sc2V0VWludDg6ZnVuY3Rpb24odCxlKXt4dS5jYWxsKHRoaXMsdCxlPDwyND4+MjQpfX0se3Vuc2FmZTohMH0pfWVsc2UgZXU9ZnVuY3Rpb24odCl7anModGhpcyxldSxRcyk7dmFyIGU9TnModCk7JHModGhpcyx7Ynl0ZXM6R3MuY2FsbChuZXcgQXJyYXkoZSksMCksYnl0ZUxlbmd0aDplfSksQnN8fCh0aGlzLmJ5dGVMZW5ndGg9ZSl9LHJ1PWZ1bmN0aW9uKHQsZSxyKXtqcyh0aGlzLHJ1LFpzKSxqcyh0LGV1LFpzKTt2YXIgbj1Ycyh0KS5ieXRlTGVuZ3RoLGk9THMoZSk7aWYoaTwwfHxpPm4pdGhyb3cgYXUoIldyb25nIG9mZnNldCIpO2lmKGkrKHI9dm9pZCAwPT09cj9uLWk6RnMocikpPm4pdGhyb3cgYXUoIldyb25nIGxlbmd0aCIpOyRzKHRoaXMse2J1ZmZlcjp0LGJ5dGVMZW5ndGg6cixieXRlT2Zmc2V0Oml9KSxCc3x8KHRoaXMuYnVmZmVyPXQsdGhpcy5ieXRlTGVuZ3RoPXIsdGhpcy5ieXRlT2Zmc2V0PWkpfSxCcyYmKHB1KGV1LCJieXRlTGVuZ3RoIikscHUocnUsImJ1ZmZlciIpLHB1KHJ1LCJieXRlTGVuZ3RoIikscHUocnUsImJ5dGVPZmZzZXQiKSksRHMocnUucHJvdG90eXBlLHtnZXRJbnQ4OmZ1bmN0aW9uKHQpe3JldHVybiB2dSh0aGlzLDEsdClbMF08PDI0Pj4yNH0sZ2V0VWludDg6ZnVuY3Rpb24odCl7cmV0dXJuIHZ1KHRoaXMsMSx0KVswXX0sZ2V0SW50MTY6ZnVuY3Rpb24odCl7dmFyIGU9dnUodGhpcywyLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApO3JldHVybihlWzFdPDw4fGVbMF0pPDwxNj4+MTZ9LGdldFVpbnQxNjpmdW5jdGlvbih0KXt2YXIgZT12dSh0aGlzLDIsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCk7cmV0dXJuIGVbMV08PDh8ZVswXX0sZ2V0SW50MzI6ZnVuY3Rpb24odCl7cmV0dXJuIGx1KHZ1KHRoaXMsNCx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSl9LGdldFVpbnQzMjpmdW5jdGlvbih0KXtyZXR1cm4gbHUodnUodGhpcyw0LHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApKT4+PjB9LGdldEZsb2F0MzI6ZnVuY3Rpb24odCl7cmV0dXJuIHN1KHZ1KHRoaXMsNCx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSwyMyl9LGdldEZsb2F0NjQ6ZnVuY3Rpb24odCl7cmV0dXJuIHN1KHZ1KHRoaXMsOCx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKSw1Mil9LHNldEludDg6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDEsdCx1dSxlKX0sc2V0VWludDg6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDEsdCx1dSxlKX0sc2V0SW50MTY6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDIsdCxjdSxlLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX0sc2V0VWludDE2OmZ1bmN0aW9uKHQsZSl7eXUodGhpcywyLHQsY3UsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldEludDMyOmZ1bmN0aW9uKHQsZSl7eXUodGhpcyw0LHQsZnUsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldFVpbnQzMjpmdW5jdGlvbih0LGUpe3l1KHRoaXMsNCx0LGZ1LGUsYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfSxzZXRGbG9hdDMyOmZ1bmN0aW9uKHQsZSl7eXUodGhpcyw0LHQsZHUsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9LHNldEZsb2F0NjQ6ZnVuY3Rpb24odCxlKXt5dSh0aGlzLDgsdCxodSxlLGFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX19KTtxcyhldSxRcykscXMocnUsWnMpO3ZhciBBdT17QXJyYXlCdWZmZXI6ZXUsRGF0YVZpZXc6cnV9LFN1PV9lLF91PWZ1bmN0aW9uKHQpe3ZhciBlPVN1KHQpO2lmKGU8MCl0aHJvdyBSYW5nZUVycm9yKCJUaGUgYXJndW1lbnQgY2FuJ3QgYmUgbGVzcyB0aGFuIDAiKTtyZXR1cm4gZX0sVHU9ZnVuY3Rpb24odCxlKXt2YXIgcj1fdSh0KTtpZihyJWUpdGhyb3cgUmFuZ2VFcnJvcigiV3Jvbmcgb2Zmc2V0Iik7cmV0dXJuIHJ9LEV1PXhuLEl1PUNhLE91PVlyKCJpdGVyYXRvciIpLE11PWZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpcmV0dXJuIHRbT3VdfHx0WyJAQGl0ZXJhdG9yIl18fEl1W0V1KHQpXX0sQ3U9Q2EsUnU9WXIoIml0ZXJhdG9yIiksQnU9QXJyYXkucHJvdG90eXBlLFB1PWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10JiYoQ3UuQXJyYXk9PT10fHxCdVtSdV09PT10KX0sVXU9cSxEdT1JZSx6dT1NdSxqdT1QdSxMdT1DbixGdT1mcy5hVHlwZWRBcnJheUNvbnN0cnVjdG9yLE51PWtlLFZ1PWR0LEh1PU8sWXU9WXIoInNwZWNpZXMiKSxLdT1mdW5jdGlvbih0KXt2YXIgZT1OdSh0KSxyPVZ1LmY7SHUmJmUmJiFlW1l1XSYmcihlLFl1LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9fSl9LFd1PW1yLEd1PVQscXU9TyxYdT1ncywkdT1mcyxRdT1BdSxadT1icyxKdT1QLHRjPXh0LGVjPUllLHJjPXhzLG5jPVR1LGljPVcsYWM9USxvYz14bixzYz1ZLHVjPWdpLGNjPVhpLGZjPXhlLmYsbGM9ZnVuY3Rpb24odCl7dmFyIGUscixuLGksYSxvLHM9VXUodCksdT1hcmd1bWVudHMubGVuZ3RoLGM9dT4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsZj12b2lkIDAhPT1jLGw9enUocyk7aWYobnVsbCE9bCYmIWp1KGwpKWZvcihvPShhPWwuY2FsbChzKSkubmV4dCxzPVtdOyEoaT1vLmNhbGwoYSkpLmRvbmU7KXMucHVzaChpLnZhbHVlKTtmb3IoZiYmdT4yJiYoYz1MdShjLGFyZ3VtZW50c1syXSwyKSkscj1EdShzLmxlbmd0aCksbj1uZXcoRnUodGhpcykpKHIpLGU9MDtyPmU7ZSsrKW5bZV09Zj9jKHNbZV0sZSk6c1tlXTtyZXR1cm4gbn0sZGM9TG4uZm9yRWFjaCxoYz1LdSxwYz1kdCx2Yz1FLHljPVppLGdjPWNlLmdldCxtYz1jZS5zZXQsYmM9cGMuZix3Yz12Yy5mLGtjPU1hdGgucm91bmQseGM9R3UuUmFuZ2VFcnJvcixBYz1RdS5BcnJheUJ1ZmZlcixTYz1RdS5EYXRhVmlldyxfYz0kdS5OQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTLFRjPSR1LlRZUEVEX0FSUkFZX1RBRyxFYz0kdS5UeXBlZEFycmF5LEljPSR1LlR5cGVkQXJyYXlQcm90b3R5cGUsT2M9JHUuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixNYz0kdS5pc1R5cGVkQXJyYXksQ2M9IkJZVEVTX1BFUl9FTEVNRU5UIixSYz0iV3JvbmcgbGVuZ3RoIixCYz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgsaT1uZXcoT2ModCkpKG4pO24+cjspaVtyXT1lW3IrK107cmV0dXJuIGl9LFBjPWZ1bmN0aW9uKHQsZSl7YmModCxlLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZ2ModGhpcylbZV19fSl9LFVjPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0IGluc3RhbmNlb2YgQWN8fCJBcnJheUJ1ZmZlciI9PShlPW9jKHQpKXx8IlNoYXJlZEFycmF5QnVmZmVyIj09ZX0sRGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWModCkmJiJzeW1ib2wiIT1yKGUpJiZlIGluIHQmJlN0cmluZygrZSk9PVN0cmluZyhlKX0semM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gRGModCxlPWljKGUsITApKT9KdSgyLHRbZV0pOndjKHQsZSl9LGpjPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4hKERjKHQsZT1pYyhlLCEwKSkmJnNjKHIpJiZhYyhyLCJ2YWx1ZSIpKXx8YWMociwiZ2V0Iil8fGFjKHIsInNldCIpfHxyLmNvbmZpZ3VyYWJsZXx8YWMociwid3JpdGFibGUiKSYmIXIud3JpdGFibGV8fGFjKHIsImVudW1lcmFibGUiKSYmIXIuZW51bWVyYWJsZT9iYyh0LGUscik6KHRbZV09ci52YWx1ZSx0KX07cXU/KF9jfHwodmMuZj16YyxwYy5mPWpjLFBjKEljLCJidWZmZXIiKSxQYyhJYywiYnl0ZU9mZnNldCIpLFBjKEljLCJieXRlTGVuZ3RoIiksUGMoSWMsImxlbmd0aCIpKSxXdSh7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiFfY30se2dldE93blByb3BlcnR5RGVzY3JpcHRvcjp6YyxkZWZpbmVQcm9wZXJ0eTpqY30pLElvLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQubWF0Y2goL1xkKyQvKVswXS84LGk9dCsocj8iQ2xhbXBlZCI6IiIpKyJBcnJheSIsYT0iZ2V0Iit0LG89InNldCIrdCxzPUd1W2ldLHU9cyxjPXUmJnUucHJvdG90eXBlLGY9e30sbD1mdW5jdGlvbih0LGUpe2JjKHQsZSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9Z2ModCk7cmV0dXJuIHIudmlld1thXShlKm4rci5ieXRlT2Zmc2V0LCEwKX0odGhpcyxlKX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUsaSl7dmFyIGE9Z2ModCk7ciYmKGk9KGk9a2MoaSkpPDA/MDppPjI1NT8yNTU6MjU1JmkpLGEudmlld1tvXShlKm4rYS5ieXRlT2Zmc2V0LGksITApfSh0aGlzLGUsdCl9LGVudW1lcmFibGU6ITB9KX07X2M/WHUmJih1PWUoKGZ1bmN0aW9uKHQsZSxyLGEpe3JldHVybiBadSh0LHUsaSkseWMoc2MoZSk/VWMoZSk/dm9pZCAwIT09YT9uZXcgcyhlLG5jKHIsbiksYSk6dm9pZCAwIT09cj9uZXcgcyhlLG5jKHIsbikpOm5ldyBzKGUpOk1jKGUpP0JjKHUsZSk6bGMuY2FsbCh1LGUpOm5ldyBzKHJjKGUpKSx0LHUpfSkpLGNjJiZjYyh1LEVjKSxkYyhmYyhzKSwoZnVuY3Rpb24odCl7dCBpbiB1fHx0Yyh1LHQsc1t0XSl9KSksdS5wcm90b3R5cGU9Yyk6KHU9ZSgoZnVuY3Rpb24odCxlLHIsYSl7WnUodCx1LGkpO3ZhciBvLHMsYyxmPTAsZD0wO2lmKHNjKGUpKXtpZighVWMoZSkpcmV0dXJuIE1jKGUpP0JjKHUsZSk6bGMuY2FsbCh1LGUpO289ZSxkPW5jKHIsbik7dmFyIGg9ZS5ieXRlTGVuZ3RoO2lmKHZvaWQgMD09PWEpe2lmKGglbil0aHJvdyB4YyhSYyk7aWYoKHM9aC1kKTwwKXRocm93IHhjKFJjKX1lbHNlIGlmKChzPWVjKGEpKm4pK2Q+aCl0aHJvdyB4YyhSYyk7Yz1zL259ZWxzZSBjPXJjKGUpLG89bmV3IEFjKHM9YypuKTtmb3IobWModCx7YnVmZmVyOm8sYnl0ZU9mZnNldDpkLGJ5dGVMZW5ndGg6cyxsZW5ndGg6Yyx2aWV3Om5ldyBTYyhvKX0pO2Y8YzspbCh0LGYrKyl9KSksY2MmJmNjKHUsRWMpLGM9dS5wcm90b3R5cGU9dWMoSWMpKSxjLmNvbnN0cnVjdG9yIT09dSYmdGMoYywiY29uc3RydWN0b3IiLHUpLFRjJiZ0YyhjLFRjLGkpLGZbaV09dSxXdSh7Z2xvYmFsOiEwLGZvcmNlZDp1IT1zLHNoYW06IV9jfSxmKSxDYyBpbiB1fHx0Yyh1LENjLG4pLENjIGluIGN8fHRjKGMsQ2MsbiksaGMoaSl9KTpJby5leHBvcnRzPWZ1bmN0aW9uKCl7fSwoMCxJby5leHBvcnRzKSgiVWludDgiLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4pe3JldHVybiB0KHRoaXMsZSxyLG4pfX0pKTt2YXIgTGM9SWUsRmM9X2UsTmM9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImF0IiwoZnVuY3Rpb24odCl7dmFyIGU9TmModGhpcykscj1MYyhlLmxlbmd0aCksbj1GYyh0KSxpPW4+PTA/bjpyK247cmV0dXJuIGk8MHx8aT49cj92b2lkIDA6ZVtpXX0pKTt2YXIgVmM9cSxIYz1SZSxZYz1JZSxLYz1NYXRoLm1pbixXYz1bXS5jb3B5V2l0aGlufHxmdW5jdGlvbih0LGUpe3ZhciByPVZjKHRoaXMpLG49WWMoci5sZW5ndGgpLGk9SGModCxuKSxhPUhjKGUsbiksbz1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxzPUtjKCh2b2lkIDA9PT1vP246SGMobyxuKSktYSxuLWkpLHU9MTtmb3IoYTxpJiZpPGErcyYmKHU9LTEsYSs9cy0xLGkrPXMtMSk7cy0tID4wOylhIGluIHI/cltpXT1yW2FdOmRlbGV0ZSByW2ldLGkrPXUsYSs9dTtyZXR1cm4gcn0sR2M9V2MscWM9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImNvcHlXaXRoaW4iLChmdW5jdGlvbih0LGUpe3JldHVybiBHYy5jYWxsKHFjKHRoaXMpLHQsZSxhcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCl9KSk7dmFyIFhjPUxuLmV2ZXJ5LCRjPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJldmVyeSIsKGZ1bmN0aW9uKHQpe3JldHVybiBYYygkYyh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgUWM9Q3MsWmM9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbGwiLChmdW5jdGlvbih0KXtyZXR1cm4gUWMuYXBwbHkoWmModGhpcyksYXJndW1lbnRzKX0pKTt2YXIgSmM9cHQsdGY9T24sZWY9WXIoInNwZWNpZXMiKSxyZj1mdW5jdGlvbih0LGUpe3ZhciByLG49SmModCkuY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PW58fG51bGw9PShyPUpjKG4pW2VmXSk/ZTp0ZihyKX0sbmY9ZnMuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixhZj1yZixvZj1Mbi5maWx0ZXIsc2Y9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9YWYodCx0LmNvbnN0cnVjdG9yKSxuPTAsaT1lLmxlbmd0aCxhPW5ldyhuZihyKSkoaSk7aT5uOylhW25dPWVbbisrXTtyZXR1cm4gYX0sdWY9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbHRlciIsKGZ1bmN0aW9uKHQpe3ZhciBlPW9mKHVmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApO3JldHVybiBzZih0aGlzLGUpfSkpO3ZhciBjZj1Mbi5maW5kLGZmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmaW5kIiwoZnVuY3Rpb24odCl7cmV0dXJuIGNmKGZmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBsZj1Mbi5maW5kSW5kZXgsZGY9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbmRJbmRleCIsKGZ1bmN0aW9uKHQpe3JldHVybiBsZihkZih0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgaGY9Q24scGY9TCx2Zj1xLHlmPUllLGdmPWZ1bmN0aW9uKHQpe3ZhciBlPTY9PXQ7cmV0dXJuIGZ1bmN0aW9uKHIsbixpKXtmb3IodmFyIGEsbz12ZihyKSxzPXBmKG8pLHU9aGYobixpLDMpLGM9eWYocy5sZW5ndGgpO2MtLSA+MDspaWYodShhPXNbY10sYyxvKSlzd2l0Y2godCl7Y2FzZSA1OnJldHVybiBhO2Nhc2UgNjpyZXR1cm4gY31yZXR1cm4gZT8tMTp2b2lkIDB9fSxtZj17ZmluZExhc3Q6Z2YoNSksZmluZExhc3RJbmRleDpnZig2KX0sYmY9bWYuZmluZExhc3Qsd2Y9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoImZpbmRMYXN0IiwoZnVuY3Rpb24odCl7cmV0dXJuIGJmKHdmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBrZj1tZi5maW5kTGFzdEluZGV4LHhmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmaW5kTGFzdEluZGV4IiwoZnVuY3Rpb24odCl7cmV0dXJuIGtmKHhmKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBBZj1Mbi5mb3JFYWNoLFNmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJmb3JFYWNoIiwoZnVuY3Rpb24odCl7QWYoU2YodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSk7dmFyIF9mPXplLmluY2x1ZGVzLFRmPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJpbmNsdWRlcyIsKGZ1bmN0aW9uKHQpe3JldHVybiBfZihUZih0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgRWY9emUuaW5kZXhPZixJZj1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgiaW5kZXhPZiIsKGZ1bmN0aW9uKHQpe3JldHVybiBFZihJZih0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgT2Y9VCxNZj1mcyxDZj1FbyxSZj1ZcigiaXRlcmF0b3IiKSxCZj1PZi5VaW50OEFycmF5LFBmPUNmLnZhbHVlcyxVZj1DZi5rZXlzLERmPUNmLmVudHJpZXMsemY9TWYuYVR5cGVkQXJyYXksamY9TWYuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxMZj1CZiYmQmYucHJvdG90eXBlW1JmXSxGZj0hIUxmJiYoInZhbHVlcyI9PUxmLm5hbWV8fG51bGw9PUxmLm5hbWUpLE5mPWZ1bmN0aW9uKCl7cmV0dXJuIFBmLmNhbGwoemYodGhpcykpfTtqZigiZW50cmllcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIERmLmNhbGwoemYodGhpcykpfSkpLGpmKCJrZXlzIiwoZnVuY3Rpb24oKXtyZXR1cm4gVWYuY2FsbCh6Zih0aGlzKSl9KSksamYoInZhbHVlcyIsTmYsIUZmKSxqZihSZixOZiwhRmYpO3ZhciBWZj1mcy5hVHlwZWRBcnJheSxIZj1bXS5qb2luOygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJqb2luIiwoZnVuY3Rpb24odCl7cmV0dXJuIEhmLmFwcGx5KFZmKHRoaXMpLGFyZ3VtZW50cyl9KSk7dmFyIFlmPUgsS2Y9X2UsV2Y9SWUsR2Y9Tm4scWY9TWF0aC5taW4sWGY9W10ubGFzdEluZGV4T2YsJGY9ISFYZiYmMS9bMV0ubGFzdEluZGV4T2YoMSwtMCk8MCxRZj1HZigibGFzdEluZGV4T2YiKSxaZj0kZnx8IVFmP2Z1bmN0aW9uKHQpe2lmKCRmKXJldHVybiBYZi5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fDA7dmFyIGU9WWYodGhpcykscj1XZihlLmxlbmd0aCksbj1yLTE7Zm9yKGFyZ3VtZW50cy5sZW5ndGg+MSYmKG49cWYobixLZihhcmd1bWVudHNbMV0pKSksbjwwJiYobj1yK24pO24+PTA7bi0tKWlmKG4gaW4gZSYmZVtuXT09PXQpcmV0dXJuIG58fDA7cmV0dXJuLTF9OlhmLEpmPVpmLHRsPWZzLmFUeXBlZEFycmF5OygwLGZzLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QpKCJsYXN0SW5kZXhPZiIsKGZ1bmN0aW9uKHQpe3JldHVybiBKZi5hcHBseSh0bCh0aGlzKSxhcmd1bWVudHMpfSkpO3ZhciBlbD1Mbi5tYXAscmw9cmYsbmw9ZnMuYVR5cGVkQXJyYXksaWw9ZnMuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcjsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgibWFwIiwoZnVuY3Rpb24odCl7cmV0dXJuIGVsKG5sKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyhpbChybCh0LHQuY29uc3RydWN0b3IpKSkoZSl9KSl9KSk7dmFyIGFsPU9uLG9sPXEsc2w9TCx1bD1JZSxjbD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4saSl7YWwocik7dmFyIGE9b2woZSksbz1zbChhKSxzPXVsKGEubGVuZ3RoKSx1PXQ/cy0xOjAsYz10Py0xOjE7aWYobjwyKWZvcig7Oyl7aWYodSBpbiBvKXtpPW9bdV0sdSs9YzticmVha31pZih1Kz1jLHQ/dTwwOnM8PXUpdGhyb3cgVHlwZUVycm9yKCJSZWR1Y2Ugb2YgZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlIil9Zm9yKDt0P3U+PTA6cz51O3UrPWMpdSBpbiBvJiYoaT1yKGksb1t1XSx1LGEpKTtyZXR1cm4gaX19LGZsPXtsZWZ0OmNsKCExKSxyaWdodDpjbCghMCl9LGxsPWZsLmxlZnQsZGw9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInJlZHVjZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBsbChkbCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGgsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpO3ZhciBobD1mbC5yaWdodCxwbD1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgicmVkdWNlUmlnaHQiLChmdW5jdGlvbih0KXtyZXR1cm4gaGwocGwodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoLGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgdmw9ZnMuYVR5cGVkQXJyYXkseWw9ZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxnbD1NYXRoLmZsb29yO3lsKCJyZXZlcnNlIiwoZnVuY3Rpb24oKXtmb3IodmFyIHQsZT10aGlzLHI9dmwoZSkubGVuZ3RoLG49Z2woci8yKSxpPTA7aTxuOyl0PWVbaV0sZVtpKytdPWVbLS1yXSxlW3JdPXQ7cmV0dXJuIGV9KSk7dmFyIG1sPUllLGJsPVR1LHdsPXEsa2w9ZnMuYVR5cGVkQXJyYXk7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInNldCIsKGZ1bmN0aW9uKHQpe2tsKHRoaXMpO3ZhciBlPWJsKGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDEpLHI9dGhpcy5sZW5ndGgsbj13bCh0KSxpPW1sKG4ubGVuZ3RoKSxhPTA7aWYoaStlPnIpdGhyb3cgUmFuZ2VFcnJvcigiV3JvbmcgbGVuZ3RoIik7Zm9yKDthPGk7KXRoaXNbZSthXT1uW2ErK119KSxJKChmdW5jdGlvbigpe25ldyBJbnQ4QXJyYXkoMSkuc2V0KHt9KX0pKSk7dmFyIHhsPXJmLEFsPWZzLmFUeXBlZEFycmF5LFNsPWZzLmFUeXBlZEFycmF5Q29uc3RydWN0b3IsX2w9W10uc2xpY2U7KDAsZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCkoInNsaWNlIiwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9X2wuY2FsbChBbCh0aGlzKSx0LGUpLG49eGwodGhpcyx0aGlzLmNvbnN0cnVjdG9yKSxpPTAsYT1yLmxlbmd0aCxvPW5ldyhTbChuKSkoYSk7YT5pOylvW2ldPXJbaSsrXTtyZXR1cm4gb30pLEkoKGZ1bmN0aW9uKCl7bmV3IEludDhBcnJheSgxKS5zbGljZSgpfSkpKTt2YXIgVGw9TG4uc29tZSxFbD1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic29tZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBUbChFbCh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKTt2YXIgSWw9ZnMuYVR5cGVkQXJyYXksT2w9W10uc29ydDsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic29ydCIsKGZ1bmN0aW9uKHQpe3JldHVybiBPbC5jYWxsKElsKHRoaXMpLHQpfSkpO3ZhciBNbD1JZSxDbD1SZSxSbD1yZixCbD1mcy5hVHlwZWRBcnJheTsoMCxmcy5leHBvcnRUeXBlZEFycmF5TWV0aG9kKSgic3ViYXJyYXkiLChmdW5jdGlvbih0LGUpe3ZhciByPUJsKHRoaXMpLG49ci5sZW5ndGgsaT1DbCh0LG4pO3JldHVybiBuZXcoUmwocixyLmNvbnN0cnVjdG9yKSkoci5idWZmZXIsci5ieXRlT2Zmc2V0K2kqci5CWVRFU19QRVJfRUxFTUVOVCxNbCgodm9pZCAwPT09ZT9uOkNsKGUsbikpLWkpKX0pKTt2YXIgUGw9ZnMsVWw9SSxEbD1ULkludDhBcnJheSx6bD1QbC5hVHlwZWRBcnJheSxqbD1QbC5leHBvcnRUeXBlZEFycmF5TWV0aG9kLExsPVtdLnRvTG9jYWxlU3RyaW5nLEZsPVtdLnNsaWNlLE5sPSEhRGwmJlVsKChmdW5jdGlvbigpe0xsLmNhbGwobmV3IERsKDEpKX0pKTtqbCgidG9Mb2NhbGVTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBMbC5hcHBseShObD9GbC5jYWxsKHpsKHRoaXMpKTp6bCh0aGlzKSxhcmd1bWVudHMpfSksVWwoKGZ1bmN0aW9uKCl7cmV0dXJuWzEsMl0udG9Mb2NhbGVTdHJpbmcoKSE9bmV3IERsKFsxLDJdKS50b0xvY2FsZVN0cmluZygpfSkpfHwhVWwoKGZ1bmN0aW9uKCl7RGwucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwoWzEsMl0pfSkpKTt2YXIgVmw9ZnMuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxIbD1JLFlsPVQuVWludDhBcnJheSxLbD1ZbCYmWWwucHJvdG90eXBlfHx7fSxXbD1bXS50b1N0cmluZyxHbD1bXS5qb2luO0hsKChmdW5jdGlvbigpe1dsLmNhbGwoe30pfSkpJiYoV2w9ZnVuY3Rpb24oKXtyZXR1cm4gR2wuY2FsbCh0aGlzKX0pO3ZhciBxbD1LbC50b1N0cmluZyE9V2w7VmwoInRvU3RyaW5nIixXbCxxbCk7dmFyIFhsPXB0LCRsPWZ1bmN0aW9uKCl7dmFyIHQ9WGwodGhpcyksZT0iIjtyZXR1cm4gdC5nbG9iYWwmJihlKz0iZyIpLHQuaWdub3JlQ2FzZSYmKGUrPSJpIiksdC5tdWx0aWxpbmUmJihlKz0ibSIpLHQuZG90QWxsJiYoZSs9InMiKSx0LnVuaWNvZGUmJihlKz0idSIpLHQuc3RpY2t5JiYoZSs9InkiKSxlfSxRbD1BdC5leHBvcnRzLFpsPXB0LEpsPUksdGQ9JGwsZWQ9InRvU3RyaW5nIixyZD1SZWdFeHAucHJvdG90eXBlLG5kPXJkLnRvU3RyaW5nLGlkPUpsKChmdW5jdGlvbigpe3JldHVybiIvYS9iIiE9bmQuY2FsbCh7c291cmNlOiJhIixmbGFnczoiYiJ9KX0pKSxhZD1uZC5uYW1lIT1lZDsoaWR8fGFkKSYmUWwoUmVnRXhwLnByb3RvdHlwZSxlZCwoZnVuY3Rpb24oKXt2YXIgdD1abCh0aGlzKSxlPVN0cmluZyh0LnNvdXJjZSkscj10LmZsYWdzO3JldHVybiIvIitlKyIvIitTdHJpbmcodm9pZCAwPT09ciYmdCBpbnN0YW5jZW9mIFJlZ0V4cCYmISgiZmxhZ3MiaW4gcmQpP3RkLmNhbGwodCk6cil9KSx7dW5zYWZlOiEwfSk7dmFyIG9kPW1yLHNkPVksdWQ9d3IsY2Q9UmUsZmQ9SWUsbGQ9SCxkZD1TcixoZD1ZcixwZD1acigic2xpY2UiKSx2ZD1oZCgic3BlY2llcyIpLHlkPVtdLnNsaWNlLGdkPU1hdGgubWF4O29kKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IXBkfSx7c2xpY2U6ZnVuY3Rpb24odCxlKXt2YXIgcixuLGksYT1sZCh0aGlzKSxvPWZkKGEubGVuZ3RoKSxzPWNkKHQsbyksdT1jZCh2b2lkIDA9PT1lP286ZSxvKTtpZih1ZChhKSYmKCJmdW5jdGlvbiIhPXR5cGVvZihyPWEuY29uc3RydWN0b3IpfHxyIT09QXJyYXkmJiF1ZChyLnByb3RvdHlwZSk/c2QocikmJm51bGw9PT0ocj1yW3ZkXSkmJihyPXZvaWQgMCk6cj12b2lkIDAscj09PUFycmF5fHx2b2lkIDA9PT1yKSlyZXR1cm4geWQuY2FsbChhLHMsdSk7Zm9yKG49bmV3KHZvaWQgMD09PXI/QXJyYXk6cikoZ2QodS1zLDApKSxpPTA7czx1O3MrKyxpKyspcyBpbiBhJiZkZChuLGksYVtzXSk7cmV0dXJuIG4ubGVuZ3RoPWksbn19KTt2YXIgbWQ9TyxiZD1kdC5mLHdkPUZ1bmN0aW9uLnByb3RvdHlwZSxrZD13ZC50b1N0cmluZyx4ZD0vXlxzKmZ1bmN0aW9uIChbXiAoXSopLyxBZD0ibmFtZSI7bWQmJiEoQWQgaW4gd2QpJiZiZCh3ZCxBZCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3RyeXtyZXR1cm4ga2QuY2FsbCh0aGlzKS5tYXRjaCh4ZClbMV19Y2F0Y2goU3Ype3JldHVybiIifX19KTt2YXIgU2Q9bXIsX2Q9SCxUZD1bXS5qb2luLEVkPUwhPU9iamVjdCxJZD1Obigiam9pbiIsIiwiKTtTZCh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOkVkfHwhSWR9LHtqb2luOmZ1bmN0aW9uKHQpe3JldHVybiBUZC5jYWxsKF9kKHRoaXMpLHZvaWQgMD09PXQ/IiwiOnQpfX0pO3ZhciBPZD17fSxNZD1JO2Z1bmN0aW9uIENkKHQsZSl7cmV0dXJuIFJlZ0V4cCh0LGUpfU9kLlVOU1VQUE9SVEVEX1k9TWQoKGZ1bmN0aW9uKCl7dmFyIHQ9Q2QoImEiLCJ5Iik7cmV0dXJuIHQubGFzdEluZGV4PTIsbnVsbCE9dC5leGVjKCJhYmNkIil9KSksT2QuQlJPS0VOX0NBUkVUPU1kKChmdW5jdGlvbigpe3ZhciB0PUNkKCJeciIsImd5Iik7cmV0dXJuIHQubGFzdEluZGV4PTIsbnVsbCE9dC5leGVjKCJzdHIiKX0pKTt2YXIgUmQsQmQsUGQ9JGwsVWQ9T2QsRGQ9RHQuZXhwb3J0cyx6ZD1SZWdFeHAucHJvdG90eXBlLmV4ZWMsamQ9RGQoIm5hdGl2ZS1zdHJpbmctcmVwbGFjZSIsU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKSxMZD16ZCxGZD0oUmQ9L2EvLEJkPS9iKi9nLHpkLmNhbGwoUmQsImEiKSx6ZC5jYWxsKEJkLCJhIiksMCE9PVJkLmxhc3RJbmRleHx8MCE9PUJkLmxhc3RJbmRleCksTmQ9VWQuVU5TVVBQT1JURURfWXx8VWQuQlJPS0VOX0NBUkVULFZkPXZvaWQgMCE9PS8oKT8/Ly5leGVjKCIiKVsxXTsoRmR8fFZkfHxOZCkmJihMZD1mdW5jdGlvbih0KXt2YXIgZSxyLG4saSxhPXRoaXMsbz1OZCYmYS5zdGlja3kscz1QZC5jYWxsKGEpLHU9YS5zb3VyY2UsYz0wLGY9dDtyZXR1cm4gbyYmKC0xPT09KHM9cy5yZXBsYWNlKCJ5IiwiIikpLmluZGV4T2YoImciKSYmKHMrPSJnIiksZj1TdHJpbmcodCkuc2xpY2UoYS5sYXN0SW5kZXgpLGEubGFzdEluZGV4PjAmJighYS5tdWx0aWxpbmV8fGEubXVsdGlsaW5lJiYiXG4iIT09dFthLmxhc3RJbmRleC0xXSkmJih1PSIoPzogIit1KyIpIixmPSIgIitmLGMrKykscj1uZXcgUmVnRXhwKCJeKD86Iit1KyIpIixzKSksVmQmJihyPW5ldyBSZWdFeHAoIl4iK3UrIiQoPyFcXHMpIixzKSksRmQmJihlPWEubGFzdEluZGV4KSxuPXpkLmNhbGwobz9yOmEsZiksbz9uPyhuLmlucHV0PW4uaW5wdXQuc2xpY2UoYyksblswXT1uWzBdLnNsaWNlKGMpLG4uaW5kZXg9YS5sYXN0SW5kZXgsYS5sYXN0SW5kZXgrPW5bMF0ubGVuZ3RoKTphLmxhc3RJbmRleD0wOkZkJiZuJiYoYS5sYXN0SW5kZXg9YS5nbG9iYWw/bi5pbmRleCtuWzBdLmxlbmd0aDplKSxWZCYmbiYmbi5sZW5ndGg+MSYmamQuY2FsbChuWzBdLHIsKGZ1bmN0aW9uKCl7Zm9yKGk9MTtpPGFyZ3VtZW50cy5sZW5ndGgtMjtpKyspdm9pZCAwPT09YXJndW1lbnRzW2ldJiYobltpXT12b2lkIDApfSkpLG59KTttcih7dGFyZ2V0OiJSZWdFeHAiLHByb3RvOiEwLGZvcmNlZDovLi8uZXhlYyE9PUxkfSx7ZXhlYzpMZH0pO3ZhciBIZCxZZCxLZD1tcixXZD1ZLEdkPShIZD0hMSwoWWQ9L1thY10vKS5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIEhkPSEwLC8uLy5leGVjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sITA9PT1ZZC50ZXN0KCJhYmMiKSYmSGQpLHFkPS8uLy50ZXN0O0tkKHt0YXJnZXQ6IlJlZ0V4cCIscHJvdG86ITAsZm9yY2VkOiFHZH0se3Rlc3Q6ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXMuZXhlYylyZXR1cm4gcWQuY2FsbCh0aGlzLHQpO3ZhciBlPXRoaXMuZXhlYyh0KTtpZihudWxsIT09ZSYmIVdkKGUpKXRocm93IG5ldyBFcnJvcigiUmVnRXhwIGV4ZWMgbWV0aG9kIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIE9iamVjdCBvciBudWxsIik7cmV0dXJuISFlfX0pO3ZhciBYZD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdywkZD1YZCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvY2FsZUxvd2VyQ2FzZSgpO1hkJiYvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvLnRlc3QoJGQpO3ZhciBRZD1YZCYmJGQuaW5jbHVkZXMoImZpcmVmb3giKSxaZD1YZCYmJGQuaW5jbHVkZXMoImFuZHJvaWQiKSxKZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt5KHRoaXMsdCl9cmV0dXJuIG0odCxudWxsLFt7a2V5OiJnZXRSYXRlSW5kZXhCeVJhdGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LkZSRVEuaW5kZXhPZihlKX19LHtrZXk6InBhcnNlQURUUyIsdmFsdWU6ZnVuY3Rpb24oZSxyKXtmb3IodmFyIG49ZS5sZW5ndGgsaT0wO2krMjxuJiYoMjU1IT09ZVtpXXx8MjQwIT0oMjQ2JmVbaSsxXSkpOylpKys7aWYoIShpPj1uKSl7dmFyIGE9aSxvPVtdLHM9KDYwJmVbaSsyXSk+Pj4yLHU9dC5GUkVRW3NdO2lmKCF1KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzYW1wbGluZyBpbmRleDogIi5jb25jYXQocykpO2Zvcih2YXIgYyxmLGw9MSsoKDE5MiZlW2krMl0pPj4+NiksZD0oMSZlW2krMl0pPDwyfCgxOTImZVtpKzNdKT4+PjYsaD10Ll9nZXRDb25maWcocyxkLGwpLHA9aC5jb25maWcsdj1oLmNvZGVjLHk9MCxnPXQuZ2V0RnJhbWVEdXJhdGlvbih1KTtpKzc8bjspaWYoMjU1PT09ZVtpXSYmMjQwPT0oMjQ2JmVbaSsxXSkpe2lmKG4taTwoZj0oMyZlW2krM10pPDwxMXxlW2krNF08PDN8KDIyNCZlW2krNV0pPj41KSlicmVhaztjPTIqKDEmfmVbaSsxXSksby5wdXNoKHtwdHM6cit5KmcsZGF0YTplLnN1YmFycmF5KGkrNytjLGkrZil9KSx5KyssaSs9Zn1lbHNlIGkrKztyZXR1cm57c2tpcDphLHJlbWFpbmluZzppPj1uP3ZvaWQgMDplLnN1YmFycmF5KGkpLGZyYW1lczpvLHNhbXBsaW5nRnJlcXVlbmN5SW5kZXg6cyxzYW1wbGVSYXRlOnUsb2JqZWN0VHlwZTpsLGNoYW5uZWxDb3VudDpkLGNvZGVjOnYsY29uZmlnOnAsb3JpZ2luQ29kZWM6Im1wNGEuNDAuIi5jb25jYXQobCl9fX19LHtrZXk6InBhcnNlQXVkaW9TcGVjaWZpY0NvbmZpZyIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGgpe3ZhciByPWVbMF0+Pj4zLG49KDcmZVswXSk8PDF8ZVsxXT4+PjcsaT0oMTIwJmVbMV0pPj4+MyxhPXQuRlJFUVtuXTtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2FtcGxpbmcgaW5kZXg6ICIuY29uY2F0KG4pKTt2YXIgbz10Ll9nZXRDb25maWcobixpLHIpO3JldHVybntzYW1wbGluZ0ZyZXF1ZW5jeUluZGV4Om4sc2FtcGxlUmF0ZTphLG9iamVjdFR5cGU6cixjaGFubmVsQ291bnQ6aSxjb25maWc6by5jb25maWcsY29kZWM6by5jb2RlYyxvcmlnaW5Db2RlYzoibXA0YS40MC4iLmNvbmNhdChyKX19fX0se2tleToiZ2V0RnJhbWVEdXJhdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjllNDtyZXR1cm4gMTAyNCplL3R9fSx7a2V5OiJfZ2V0Q29uZmlnIix2YWx1ZTpmdW5jdGlvbih0LGUscil7dmFyIG4saSxhPVtdO3JldHVybiBRZD90Pj02PyhuPTUsaT10LTMpOihuPTIsaT10KTpaZD8obj0yLGk9dCk6KG49Mj09PXJ8fDU9PT1yP3I6NSxpPXQsdD49Nj9pPXQtMzoxPT09ZSYmKG49MixpPXQpKSxhWzBdPW48PDMsYVswXXw9KDE0JnQpPj4xLGFbMV09KDEmdCk8PDcsYVsxXXw9ZTw8Myw1PT09biYmKGFbMV18PSgxNCZpKT4+MSxhWzJdPSgxJmkpPDw3LGFbMl18PTgsYVszXT0wKSx7Y29uZmlnOmEsY29kZWM6Im1wNGEuNDAuIi5jb25jYXQobil9fX0se2tleToiZ2V0U2lsZW50RnJhbWUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7aWYoIm1wNGEuNDAuMiI9PT10KXtpZigxPT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDM1LDEyOF0pO2lmKDI9PT1lKXJldHVybiBuZXcgVWludDhBcnJheShbMzMsMCw3MywxNDQsMiwyNSwwLDM1LDEyOF0pO2lmKDM9PT1lKXJldHVybiBuZXcgVWludDhBcnJheShbMCwyMDAsMCwxMjgsMzIsMTMyLDEsMzgsNjQsOCwxMDAsMCwxNDJdKTtpZig0PT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTI4LDQ0LDEyOCw4LDIsNTZdKTtpZig1PT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTMwLDQ4LDQsMTUzLDAsMzMsMTQ0LDIsNTZdKTtpZig2PT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzAsMjAwLDAsMTI4LDMyLDEzMiwxLDM4LDY0LDgsMTAwLDAsMTMwLDQ4LDQsMTUzLDAsMzMsMTQ0LDIsMCwxNzgsMCwzMiw4LDIyNF0pfWVsc2V7aWYoMT09PWUpcmV0dXJuIG5ldyBVaW50OEFycmF5KFsxLDY0LDM0LDEyOCwxNjMsNzgsMjMwLDEyOCwxODYsOCwwLDAsMCwyOCw2LDI0MSwxOTMsMTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTAsOTRdKTtpZigyPT09ZSlyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzEsNjQsMzQsMTI4LDE2Myw5NCwyMzAsMTI4LDE4Niw4LDAsMCwwLDAsMTQ5LDAsNiwyNDEsMTYxLDEwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDkwLDk0XSk7aWYoMz09PWUpcmV0dXJuIG5ldyBVaW50OEFycmF5KFsxLDY0LDM0LDEyOCwxNjMsOTQsMjMwLDEyOCwxODYsOCwwLDAsMCwwLDE0OSwwLDYsMjQxLDE2MSwxMCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5MCw5NF0pfX19XSksdH0oKTtmdW5jdGlvbiB0aCgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09YXJndW1lbnRzW3JdO2U9ZS5maWx0ZXIoQm9vbGVhbik7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS5ieXRlTGVuZ3RofSksMCkpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnNldCh0LGkpLGkrPXQuYnl0ZUxlbmd0aH0pKSxufWIoSmQsIkZSRVEiLFs5NmUzLDg4MjAwLDY0ZTMsNDhlMyw0NDEwMCwzMmUzLDI0ZTMsMjIwNTAsMTZlMywxMmUzLDExMDI1LDhlMyw3MzUwXSk7dmFyIGVoPU1hdGgucG93KDIsMzIpO2Z1bmN0aW9uIHJoKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3JldHVybih0W2VdPDw4KSsodFtlKzFdfHwwKX1mdW5jdGlvbiBuaCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4odFtlXTw8MjQ+Pj4wKSsodFtlKzFdPDwxNikrKHRbZSsyXTw8OCkrKHRbZSszXXx8MCl9ZnVuY3Rpb24gaWgodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjA7cmV0dXJuIG5oKHQsZSkqZWgrbmgodCxlKzQpfWZ1bmN0aW9uIGFoKHQpe3ZhciBlPSIiO2lmKHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZSs9ZnVuY3Rpb24odCl7cmV0dXJuKCIwIitOdW1iZXIodCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikudG9VcHBlckNhc2UoKX0odCl9KSksZS5sZW5ndGg8PTMyKWZvcih2YXIgcj0zMi1lLmxlbmd0aCxuPTA7bjxyO24rKyllKz0iMCI7cmV0dXJuIGV9ZnVuY3Rpb24gb2godCl7aWYoIUFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZT1bXSxyPSIiLG49MDtuPHQubGVuZ3RoO24rKyluJTImJihyPXRbbi0xXSt0W25dLGUucHVzaChwYXJzZUludChyLDE2KSkscj0iIik7cmV0dXJuIGV9cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VJbnQodCwxNil9KSl9dmFyIHNoPU8sdWg9ZHQsY2g9JGwsZmg9T2QuVU5TVVBQT1JURURfWTtzaCYmKCJnIiE9Ly4vZy5mbGFnc3x8ZmgpJiZ1aC5mKFJlZ0V4cC5wcm90b3R5cGUsImZsYWdzIix7Y29uZmlndXJhYmxlOiEwLGdldDpjaH0pO3ZhciBsaD1ULGRoPUluLGhoPUVvLHBoPXh0LHZoPVlyLHloPXZoKCJpdGVyYXRvciIpLGdoPXZoKCJ0b1N0cmluZ1RhZyIpLG1oPWhoLnZhbHVlcztmb3IodmFyIGJoIGluIGRoKXt2YXIgd2g9bGhbYmhdLGtoPXdoJiZ3aC5wcm90b3R5cGU7aWYoa2gpe2lmKGtoW3loXSE9PW1oKXRyeXtwaChraCx5aCxtaCl9Y2F0Y2goU3Ype2toW3loXT1taH1pZihraFtnaF18fHBoKGtoLGdoLGJoKSxkaFtiaF0pZm9yKHZhciB4aCBpbiBoaClpZihraFt4aF0hPT1oaFt4aF0pdHJ5e3BoKGtoLHhoLGhoW3hoXSl9Y2F0Y2goU3Ype2toW3hoXT1oaFt4aF19fX12YXIgQWg9X2UsU2g9RixfaD1JZSxUaD1mdW5jdGlvbih0KXt2YXIgZT1TdHJpbmcoU2godGhpcykpLHI9IiIsbj1BaCh0KTtpZihuPDB8fG49PTEvMCl0aHJvdyBSYW5nZUVycm9yKCJXcm9uZyBudW1iZXIgb2YgcmVwZXRpdGlvbnMiKTtmb3IoO24+MDsobj4+Pj0xKSYmKGUrPWUpKTEmbiYmKHIrPWUpO3JldHVybiByfSxFaD1GLEloPU1hdGguY2VpbCxPaD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4pe3ZhciBpLGEsbz1TdHJpbmcoRWgoZSkpLHM9by5sZW5ndGgsdT12b2lkIDA9PT1uPyIgIjpTdHJpbmcobiksYz1faChyKTtyZXR1cm4gYzw9c3x8IiI9PXU/bzooaT1jLXMsKGE9VGguY2FsbCh1LEloKGkvdS5sZW5ndGgpKSkubGVuZ3RoPmkmJihhPWEuc2xpY2UoMCxpKSksdD9vK2E6YStvKX19LE1oPXtzdGFydDpPaCghMSksZW5kOk9oKCEwKX0sQ2g9L1ZlcnNpb25cLzEwKD86XC5cZCspezEsMn0oPzogW1x3Li9dKyk/KD86IE1vYmlsZVwvXHcrKT8gU2FmYXJpXC8vLnRlc3QoX3IpLFJoPU1oLnN0YXJ0O21yKHt0YXJnZXQ6IlN0cmluZyIscHJvdG86ITAsZm9yY2VkOkNofSx7cGFkU3RhcnQ6ZnVuY3Rpb24odCl7cmV0dXJuIFJoKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSk7dmFyIEJoPW1yLFBoPUxuLmZpbmQsVWg9eGksRGg9ImZpbmQiLHpoPSEwO0RoIGluW10mJkFycmF5KDEpLmZpbmQoKGZ1bmN0aW9uKCl7emg9ITF9KSksQmgoe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDp6aH0se2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIFBoKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksVWgoRGgpO3ZhciBqaD1wdCxMaD1wdCxGaD1mdW5jdGlvbih0KXt2YXIgZT10LnJldHVybjtpZih2b2lkIDAhPT1lKXJldHVybiBqaChlLmNhbGwodCkpLnZhbHVlfSxOaD1DbixWaD1xLEhoPWZ1bmN0aW9uKHQsZSxyLG4pe3RyeXtyZXR1cm4gbj9lKExoKHIpWzBdLHJbMV0pOmUocil9Y2F0Y2goU3Ype3Rocm93IEZoKHQpLFN2fX0sWWg9UHUsS2g9SWUsV2g9U3IsR2g9TXUscWg9ZnVuY3Rpb24odCl7dmFyIGUscixuLGksYSxvLHM9VmgodCksdT0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcz90aGlzOkFycmF5LGM9YXJndW1lbnRzLmxlbmd0aCxmPWM+MT9hcmd1bWVudHNbMV06dm9pZCAwLGw9dm9pZCAwIT09ZixkPUdoKHMpLGg9MDtpZihsJiYoZj1OaChmLGM+Mj9hcmd1bWVudHNbMl06dm9pZCAwLDIpKSxudWxsPT1kfHx1PT1BcnJheSYmWWgoZCkpZm9yKHI9bmV3IHUoZT1LaChzLmxlbmd0aCkpO2U+aDtoKyspbz1sP2Yoc1toXSxoKTpzW2hdLFdoKHIsaCxvKTtlbHNlIGZvcihhPShpPWQuY2FsbChzKSkubmV4dCxyPW5ldyB1OyEobj1hLmNhbGwoaSkpLmRvbmU7aCsrKW89bD9IaChpLGYsW24udmFsdWUsaF0sITApOm4udmFsdWUsV2gocixoLG8pO3JldHVybiByLmxlbmd0aD1oLHJ9O21yKHt0YXJnZXQ6IkFycmF5IixzdGF0OiEwLGZvcmNlZDohUG8oKGZ1bmN0aW9uKHQpe0FycmF5LmZyb20odCl9KSl9LHtmcm9tOnFofSk7dmFyIFhoPV9lLCRoPUYsUWg9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dmFyIG4saSxhPVN0cmluZygkaChlKSksbz1YaChyKSxzPWEubGVuZ3RoO3JldHVybiBvPDB8fG8+PXM/dD8iIjp2b2lkIDA6KG49YS5jaGFyQ29kZUF0KG8pKTw1NTI5Nnx8bj41NjMxOXx8bysxPT09c3x8KGk9YS5jaGFyQ29kZUF0KG8rMSkpPDU2MzIwfHxpPjU3MzQzP3Q/YS5jaGFyQXQobyk6bjp0P2Euc2xpY2UobyxvKzIpOmktNTYzMjArKG4tNTUyOTY8PDEwKSs2NTUzNn19LFpoPXtjb2RlQXQ6UWgoITEpLGNoYXJBdDpRaCghMCl9LmNoYXJBdCxKaD1jZSx0cD1tbyxlcD0iU3RyaW5nIEl0ZXJhdG9yIixycD1KaC5zZXQsbnA9SmguZ2V0dGVyRm9yKGVwKTt0cChTdHJpbmcsIlN0cmluZyIsKGZ1bmN0aW9uKHQpe3JwKHRoaXMse3R5cGU6ZXAsc3RyaW5nOlN0cmluZyh0KSxpbmRleDowfSl9KSwoZnVuY3Rpb24oKXt2YXIgdCxlPW5wKHRoaXMpLHI9ZS5zdHJpbmcsbj1lLmluZGV4O3JldHVybiBuPj1yLmxlbmd0aD97dmFsdWU6dm9pZCAwLGRvbmU6ITB9Oih0PVpoKHIsbiksZS5pbmRleCs9dC5sZW5ndGgse3ZhbHVlOnQsZG9uZTohMX0pfSkpO3ZhciBpcD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt5KHRoaXMsdCl9cmV0dXJuIG0odCxudWxsLFt7a2V5OiJmaW5kQm94Iix2YWx1ZTpmdW5jdGlvbihlLHIpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTowLGk9W107aWYoIWUpcmV0dXJuIGk7Zm9yKHZhciBhPTAsbz0iIixzPTA7ZS5sZW5ndGg+Nzspe2lmKGE9bmgoZSksbz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZS5zdWJhcnJheSg0LDgpKSxzPTgsMT09PWE/KGE9aWgoZSw4KSxzKz04KTphfHwoYT1lLmxlbmd0aCksIXJbMF18fG89PT1yWzBdKXt2YXIgdT1lLnN1YmFycmF5KDAsYSk7aWYoIShyLmxlbmd0aDwyKSlyZXR1cm4gdC5maW5kQm94KHUuc3ViYXJyYXkocyksci5zbGljZSgxKSxuK3MpO2kucHVzaCh7c3RhcnQ6bixzaXplOmEsaGVhZGVyU2l6ZTpzLHR5cGU6byxkYXRhOnV9KX1uKz1hLGU9ZS5zdWJhcnJheShhKX1yZXR1cm4gaX19LHtrZXk6InRmaGQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3QudHJhY2tJZD1uaChlKTt2YXIgcj00LG49MSZ0LmZsYWdzLGk9MiZ0LmZsYWdzLGE9OCZ0LmZsYWdzLG89MTYmdC5mbGFncyxzPTMyJnQuZmxhZ3M7biYmKHIrPTQsdC5iYXNlRGF0YU9mZnNldD1uaChlLHIpLHIrPTQpLGkmJih0LnNhbXBsZURlc2NyaXB0aW9uSW5kZXg9bmgoZSxyKSxyKz00KSxhJiYodC5kZWZhdWx0U2FtcGxlRHVyYXRpb249bmgoZSxyKSxyKz00KSxvJiYodC5kZWZhdWx0U2FtcGxlU2l6ZT1uaChlLHIpLHIrPTQpLHMmJih0LmRlZmF1bHRTYW1wbGVGbGFncz1uaChlLHIpKX0pKX19LHtrZXk6InNpZHgiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPTA7dC5yZWZlcmVuY2VfSUQ9bmgoZSxyKSxyKz00LHQudGltZXNjYWxlPW5oKGUscikscis9NCwwPT09dC52ZXJzaW9uPyh0LmVhcmxpZXN0X3ByZXNlbnRhdGlvbl90aW1lPW5oKGUscikscis9NCx0LmZpcnN0X29mZnNldD1uaChlLHIpLHIrPTQpOih0LmVhcmxpZXN0X3ByZXNlbnRhdGlvbl90aW1lPWloKGUscikscis9OCx0LmZpcnN0X29mZnNldD1paChlLHIpLHIrPTgpLHIrPTIsdC5yZWZlcmVuY2VzPVtdO3ZhciBuPXJoKGUscik7cis9Mjtmb3IodmFyIGk9MDtpPG47aSsrKXt2YXIgYT17fTt0LnJlZmVyZW5jZXMucHVzaChhKTt2YXIgbz1uaChlLHIpO3IrPTQsYS5yZWZlcmVuY2VfdHlwZT1vPj4zMSYxLGEucmVmZXJlbmNlZF9zaXplPTIxNDc0ODM2NDcmbyxhLnN1YnNlZ21lbnRfZHVyYXRpb249bmgoZSxyKSxvPW5oKGUscis9NCkscis9NCxhLnN0YXJ0c193aXRoX1NBUD1vPj4zMSYxLGEuU0FQX3R5cGU9bz4+MjgmNyxhLlNBUF9kZWx0YV90aW1lPTI2ODQzNTQ1NSZvfX0pKX19LHtrZXk6Im1vb3YiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7ZS5tdmhkPXQubXZoZCh0LmZpbmRCb3gocixbIm12aGQiXSxuKVswXSksZS50cmFrPXQuZmluZEJveChyLFsidHJhayJdLG4pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQudHJhayhlKX0pKSxlLnBzc2g9dC5wc3NoKHQuZmluZEJveChyLFsicHNzaCJdLG4pWzBdKX0pKX19LHtrZXk6Im12aGQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPTA7MT09PXQudmVyc2lvbj8odC50aW1lc2NhbGU9bmgoZSwxNiksdC5kdXJhdGlvbj1paChlLDIwKSxyKz0yOCk6KHQudGltZXNjYWxlPW5oKGUsOCksdC5kdXJhdGlvbj1uaChlLDEyKSxyKz0xNiksdC5uZXh0VHJhY2tJZD1uaChlLHIrNzYpfSkpfX0se2tleToidHJhayIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLnRraGQ9dC50a2hkKHQuZmluZEJveChyLFsidGtoZCJdLG4pWzBdKSxlLm1kaWE9dC5tZGlhKHQuZmluZEJveChyLFsibWRpYSJdLG4pWzBdKX0pKX19LHtrZXk6InRraGQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPTA7MT09PXQudmVyc2lvbj8odC50cmFja0lkPW5oKGUsMTYpLHQuZHVyYXRpb249aWgoZSwyNCkscis9MzIpOih0LnRyYWNrSWQ9bmgoZSw4KSx0LmR1cmF0aW9uPW5oKGUsMTYpLHIrPTIwKSx0LndpZHRoPW5oKGUscis1MiksdC5oZWlnaHQ9bmgoZSxyKzU2KX0pKX19LHtrZXk6Im1kaWEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7ZS5tZGhkPXQubWRoZCh0LmZpbmRCb3gocixbIm1kaGQiXSxuKVswXSksZS5oZGxyPXQuaGRscih0LmZpbmRCb3gocixbImhkbHIiXSxuKVswXSksZS5taW5mPXQubWluZih0LmZpbmRCb3gocixbIm1pbmYiXSxuKVswXSl9KSl9fSx7a2V5OiJtZGhkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt2YXIgcj0wOzE9PT10LnZlcnNpb24/KHQudGltZXNjYWxlPW5oKGUsMTYpLHQuZHVyYXRpb249aWgoZSwyMCkscis9MjgpOih0LnRpbWVzY2FsZT1uaChlLDgpLHQuZHVyYXRpb249bmgoZSwxMikscis9MTYpO3ZhciBuPXJoKGUscik7dC5sYW5ndWFnZT1TdHJpbmcuZnJvbUNoYXJDb2RlKDk2KyhuPj4xMCYzMSksOTYrKG4+PjUmMzEpLDk2KygzMSZuKSl9KSl9fSx7a2V5OiJoZGxyIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXswPT09dC52ZXJzaW9uJiYodC5oYW5kbGVyVHlwZT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZS5zdWJhcnJheSg0LDgpKSl9KSl9fSx7a2V5OiJtaW5mIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2Uudm1oZD10LnZtaGQodC5maW5kQm94KHIsWyJ2bWhkIl0sbilbMF0pLGUuc21oZD10LnNtaGQodC5maW5kQm94KHIsWyJzbWhkIl0sbilbMF0pLGUuc3RibD10LnN0YmwodC5maW5kQm94KHIsWyJzdGJsIl0sbilbMF0pfSkpfX0se2tleToidm1oZCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHVwKHQsITAsKGZ1bmN0aW9uKHQsZSl7dC5ncmFwaGljc21vZGU9cmgoZSksdC5vcGNvbG9yPVtyaChlLDIpLHJoKGUsNCkscmgoZSw2KV19KSl9fSx7a2V5OiJzbWhkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt0LmJhbGFuY2U9cmgoZSl9KSl9fSx7a2V5OiJzdGJsIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2Uuc3RzZD10LnN0c2QodC5maW5kQm94KHIsWyJzdHNkIl0sbilbMF0pLGUuc3R0cz10LnN0dHModC5maW5kQm94KHIsWyJzdHRzIl0sbilbMF0pLGUuY3R0cz10LmN0dHModC5maW5kQm94KHIsWyJjdHRzIl0sbilbMF0pLGUuc3RzYz10LnN0c2ModC5maW5kQm94KHIsWyJzdHNjIl0sbilbMF0pLGUuc3Rzej10LnN0c3oodC5maW5kQm94KHIsWyJzdHN6Il0sbilbMF0pLGUuc3Rjbz10LnN0Y28odC5maW5kQm94KHIsWyJzdGNvIl0sbilbMF0pLGUuc3Rjb3x8KGUuY282ND10LmNvNjQodC5maW5kQm94KHIsWyJjbzY0Il0sbilbMF0pLGUuc3Rjbz1lLmNvNjQpLGUuc3Rzcz10LnN0c3ModC5maW5kQm94KHIsWyJzdHNzIl0sbilbMF0pLGUuc2VuYz10LnNlbmModC5maW5kQm94KHIsWyJzZW5jIl0sbilbMF0pfSkpfX0se2tleToic2VuYyIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHVwKHQsITAsKGZ1bmN0aW9uKHQsZSl7dmFyIHI9MCxuPW5oKGUscik7cis9NCx0LnNhbXBsZXM9W107Zm9yKHZhciBpPTA7aTxuO2krKyl7dmFyIGE9e307aWYoYS5Jbml0aWFsaXphdGlvblZlY3Rvcj1bZVtyXSxlW3IrMV0sZVtyKzJdLGVbciszXSxlW3IrNF0sZVtyKzVdLGVbcis2XSxlW3IrN11dLHIrPTgsMiZ0LmZsYWdzKXthLnN1YnNhbXBsZXM9W107dmFyIG89cmgoZSxyKTtyKz0yO2Zvcih2YXIgcz0wO3M8bztzKyspe3ZhciB1PXt9O3UuQnl0ZXNPZkNsZWFyRGF0YT1yaChlLHIpLHIrPTIsdS5CeXRlc09mUHJvdGVjdGVkRGF0YT1uaChlLHIpLHIrPTQsYS5zdWJzYW1wbGVzLnB1c2godSl9fXQuc2FtcGxlcy5wdXNoKGEpfX0pKX19LHtrZXk6InBzc2giLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPVtdLGk9MCxhPTA7YTwxNjthKyspbi5wdXNoKGZwKGVbaSthXSkpO2lmKGkrPTE2LHQudmVyc2lvbj4wKXt2YXIgbz1uaChlLGkpO2krPTQ7Zm9yKHZhciBzPTA7czwoIiIrbykubGVuZ3RoO3MrKylmb3IodmFyIHU9MDt1PDE2O3UrKyl7dmFyIGM9ZVtpXTtpKz0xLHIucHVzaChmcChjKSl9fXZhciBmPW5oKGUsaSk7dC5kYXRhX3NpemU9ZixpKz00LHQua2lkPXIsdC5zeXN0ZW1faWQ9bix0LmJ1ZmZlcj1lfSkpfX0se2tleToic3RzZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITAsKGZ1bmN0aW9uKGUscixuKXtlLmVudHJ5Q291bnQ9bmgociksZS5lbnRyaWVzPXQuZmluZEJveChyLnN1YmFycmF5KDQpLFtdLG4rNCkubWFwKChmdW5jdGlvbihlKXtzd2l0Y2goZS50eXBlKXtjYXNlImF2YzEiOmNhc2UiYXZjMiI6Y2FzZSJhdmMzIjpjYXNlImF2YzQiOnJldHVybiB0LmF2YzEoZSk7Y2FzZSJodmMxIjpjYXNlImhldjEiOnJldHVybiB0Lmh2YzEoZSk7Y2FzZSJtcDRhIjpyZXR1cm4gdC5tcDRhKGUpO2Nhc2UiYWxhdyI6Y2FzZSJ1bGF3IjpyZXR1cm4gdC5hbGF3KGUpO2Nhc2UiZW5jYSI6cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLmNoYW5uZWxDb3VudD1yaChyLDE2KSxlLnNhbXBsZXNpemU9cmgociwxOCksZS5zYW1wbGVSYXRlPW5oKHIsMjQpLzY1NTM2LHI9ci5zdWJhcnJheSgyOCksZS5zaW5mPXQuc2luZih0LmZpbmRCb3gocixbInNpbmYiXSxuKVswXSksZS5lc2RzPXQuZXNkcyh0LmZpbmRCb3gocixbImVzZHMiXSxuKVswXSl9KSk7Y2FzZSJlbmN2IjpyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2Uud2lkdGg9cmgociwyNCksZS5oZWlnaHQ9cmgociwyNiksZS5ob3JpenJlc29sdXRpb249bmgociwyOCksZS52ZXJ0cmVzb2x1dGlvbj1uaChyLDMyKSxyPXIuc3ViYXJyYXkoNzgpLGUuc2luZj10LnNpbmYodC5maW5kQm94KHIsWyJzaW5mIl0sbilbMF0pLGUuYXZjQz10LmF2Y0ModC5maW5kQm94KHIsWyJhdmNDIl0sbilbMF0pLGUuaHZjQz10Lmh2Y0ModC5maW5kQm94KHIsWyJodmNDIl0sbilbMF0pLGUucGFzcD10LnBhc3AodC5maW5kQm94KHIsWyJwYXNwIl0sbilbMF0pfSkpfX0pKS5maWx0ZXIoQm9vbGVhbil9KSl9fSx7a2V5OiJ0ZW5jIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMSwoZnVuY3Rpb24odCxlKXt2YXIgcj02O3QuZGVmYXVsdF9Jc0VuY3J5cHRlZD1lW3JdLHIrPTEsdC5kZWZhdWx0X0lWX3NpemU9ZVtyXSxyKz0xLHQuZGVmYXVsdF9LSUQ9W107Zm9yKHZhciBuPTA7bjwxNjtuKyspdC5kZWZhdWx0X0tJRC5wdXNoKGZwKGVbcl0pKSxyKz0xfSkpfX0se2tleToic2NoaSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLnRlbmM9dC50ZW5jKHQuZmluZEJveChyLFsidGVuYyJdLG4pWzBdKX0pKX19LHtrZXk6InNpbmYiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7ZS5zY2hpPXQuc2NoaSh0LmZpbmRCb3gocixbInNjaGkiXSxuKVswXSksZS5mcm1hPXQuZnJtYSh0LmZpbmRCb3gocixbImZybWEiXSxuKVswXSl9KSl9fSx7a2V5OiJmcm1hIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMSwoZnVuY3Rpb24odCxlKXt0LmRhdGFfZm9ybWF0PSIiO2Zvcih2YXIgcj0wO3I8NDtyKyspdC5kYXRhX2Zvcm1hdCs9U3RyaW5nLmZyb21DaGFyQ29kZShlW3JdKX0pKX19LHtrZXk6ImF2YzEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB1cChlLCExLChmdW5jdGlvbihlLHIsbil7dmFyIGk9b3AoZSxyKSxhPXIuc3ViYXJyYXkoaSk7bis9aSxlLmF2Y0M9dC5hdmNDKHQuZmluZEJveChhLFsiYXZjQyJdLG4pWzBdKSxlLnBhc3A9dC5wYXNwKHQuZmluZEJveChhLFsicGFzcCJdLG4pWzBdKX0pKX19LHtrZXk6ImF2Y0MiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCExLChmdW5jdGlvbih0LGUpe3QuY29uZmlndXJhdGlvblZlcnNpb249ZVswXSx0LkFWQ1Byb2ZpbGVJbmRpY2F0aW9uPWVbMV0sdC5wcm9maWxlQ29tcGF0aWJpbGl0eT1lWzJdLHQuQVZDTGV2ZWxJbmRpY2F0aW9uPWVbM10sdC5jb2RlYz1mdW5jdGlvbih0KXtmb3IodmFyIGUscj0iYXZjMS4iLG49MDtuPDM7bisrKShlPXRbbl0udG9TdHJpbmcoMTYpKS5sZW5ndGg8MiYmKGU9IjAiLmNvbmNhdChlKSkscis9ZTtyZXR1cm4gcn0oW2VbMV0sZVsyXSxlWzNdXSksdC5sZW5ndGhTaXplTWludXNPbmU9MyZlWzRdLHQuc3BzTGVuZ3RoPTMxJmVbNV0sdC5zcHM9W107Zm9yKHZhciByPTYsbj0wO248dC5zcHNMZW5ndGg7bisrKXt2YXIgaT1yaChlLHIpO3IrPTIsdC5zcHMucHVzaChlLnN1YmFycmF5KHIscitpKSkscis9aX10LnBwc0xlbmd0aD1lW3JdLHIrPTEsdC5wcHM9W107Zm9yKHZhciBhPTA7YTx0LnBwc0xlbmd0aDthKyspe3ZhciBvPXJoKGUscik7cis9Mix0LnBwcy5wdXNoKGUuc3ViYXJyYXkocixyKz1vKSkscis9b319KSl9fSx7a2V5OiJodmMxIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe3ZhciBpPW9wKGUsciksYT1yLnN1YmFycmF5KGkpO24rPWksZS5odmNDPXQuaHZjQyh0LmZpbmRCb3goYSxbImh2Y0MiXSxuKVswXSksZS5wYXNwPXQucGFzcCh0LmZpbmRCb3goYSxbInBhc3AiXSxuKVswXSl9KSl9fSx7a2V5OiJodmNDIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMSwoZnVuY3Rpb24oZSxyKXtlLmRhdGE9dC5kYXRhLGUuY29kZWM9ImhldjEuMS42Lkw5My5CMCIsZS5jb25maWd1cmF0aW9uVmVyc2lvbj1yWzBdO3ZhciBuPXJbMV07ZS5nZW5lcmFsUHJvZmlsZVNwYWNlPW4+PjYsZS5nZW5lcmFsVGllckZsYWc9KDMyJm4pPj41LGUuZ2VuZXJhbFByb2ZpbGVJZGM9MzEmbixlLmdlbmVyYWxQcm9maWxlQ29tcGF0aWJpbGl0eT1uaChyLDIpLGUuZ2VuZXJhbENvbnN0cmFpbnRJbmRpY2F0b3JGbGFncz1yLnN1YmFycmF5KDYsMTIpLGUuZ2VuZXJhbExldmVsSWRjPXJbMTJdLGUuYXZnRnJhbWVSYXRlPXJoKHIsMTkpLGUubnVtT2ZBcnJheXM9clsyMl0sZS52cHM9W10sZS5zcHM9W10sZS5wcHM9W107Zm9yKHZhciBpPTIzLGE9MCxvPTAscz0wLHU9MDt1PGUubnVtT2ZBcnJheXM7dSsrKXthPTYzJnJbaV0sbz1yaChyLGkrMSksaSs9Mztmb3IodmFyIGMsZj1bXSxsPTA7bDxvO2wrKylzPXJoKHIsaSksaSs9MixmLnB1c2goci5zdWJhcnJheShpLGkrcykpLGkrPXM7aWYoMzI9PT1hKShjPWUudnBzKS5wdXNoLmFwcGx5KGMsZik7ZWxzZSBpZigzMz09PWEpe3ZhciBkOyhkPWUuc3BzKS5wdXNoLmFwcGx5KGQsZil9ZWxzZSBpZigzND09PWEpe3ZhciBoOyhoPWUucHBzKS5wdXNoLmFwcGx5KGgsZil9fX0pKX19LHtrZXk6InBhc3AiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCExLChmdW5jdGlvbih0LGUpe3QuaFNwYWNpbmc9bmgoZSksdC52U3BhY2luZz1uaChlLDQpfSkpfX0se2tleToibXA0YSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXt2YXIgaT1zcChlLHIpO2UuZXNkcz10LmVzZHModC5maW5kQm94KHIuc3ViYXJyYXkoaSksWyJlc2RzIl0sbitpKVswXSl9KSl9fSx7a2V5OiJlc2RzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt0LmNvZGVjPSJtcDRhLiI7Zm9yKHZhciByPTAsbj0wLGk9MCxhPTA7ZS5sZW5ndGg7KXtmb3IoYT1lW3I9MF0sbj1lW3IrMV0scis9MjsxMjgmbjspaT0oMTI3Jm4pPDw3LG49ZVtyXSxyKz0xO2lmKGkrPTEyNyZuLDM9PT1hKWU9ZS5zdWJhcnJheShyKzMpO2Vsc2V7aWYoNCE9PWEpe2lmKDU9PT1hKXt2YXIgbz10LmNvbmZpZz1lLnN1YmFycmF5KHIscitpKSxzPSgyNDgmb1swXSk+PjM7cmV0dXJuIDMxPT09cyYmby5sZW5ndGg+PTImJihzPTMyKygoNyZvWzBdKTw8MykrKCgyMjQmb1sxXSk+PjUpKSx0Lm9iamVjdFR5cGU9cyx0LmNvZGVjKz1zLnRvU3RyaW5nKDE2KSx2b2lkKCIuIj09PXQuY29kZWNbdC5jb2RlYy5sZW5ndGgtMV0mJih0LmNvZGVjPXQuY29kZWMuc3Vic3RyaW5nKDAsdC5jb2RlYy5sZW5ndGgtMSkpKX1yZXR1cm4gdm9pZCgiLiI9PT10LmNvZGVjW3QuY29kZWMubGVuZ3RoLTFdJiYodC5jb2RlYz10LmNvZGVjLnN1YnN0cmluZygwLHQuY29kZWMubGVuZ3RoLTEpKSl9dC5jb2RlYys9KGVbcl0udG9TdHJpbmcoMTYpKyIuIikucGFkU3RhcnQoMywiMCIpLGU9ZS5zdWJhcnJheShyKzEzKX19fSkpfX0se2tleToiYWxhdyIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHVwKHQsITEsKGZ1bmN0aW9uKHQsZSl7c3AodCxlKX0pKX19LHtrZXk6InN0dHMiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uaChlKSxuPVtdLGk9NCxhPTA7YTxyO2ErKyluLnB1c2goe2NvdW50Om5oKGUsaSksZGVsdGE6bmgoZSxpKzQpfSksaSs9ODt0LmVudHJ5Q291bnQ9cix0LmVudHJpZXM9bn0pKX19LHtrZXk6ImN0dHMiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPW5oKGUpLG49W10saT00O2lmKDE9PT10LnZlcnNpb24pZm9yKHZhciBhPTA7YTxyO2ErKyluLnB1c2goe2NvdW50Om5oKGUsaSksb2Zmc2V0Om5oKGUsaSs0KX0pLGkrPTg7ZWxzZSBmb3IodmFyIG89MDtvPHI7bysrKW4ucHVzaCh7Y291bnQ6bmgoZSxpKSxvZmZzZXQ6LSgxK35uaChlLGkrNCkpfSksaSs9ODt0LmVudHJ5Q291bnQ9cix0LmVudHJpZXM9bn0pKX19LHtrZXk6InN0c2MiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uaChlKSxuPVtdLGk9NCxhPTA7YTxyO2ErKyluLnB1c2goe2ZpcnN0Q2h1bms6bmgoZSxpKSxzYW1wbGVzUGVyQ2h1bms6bmgoZSxpKzQpLHNhbXBsZURlc2NyaXB0aW9uSW5kZXg6bmgoZSxpKzgpfSksaSs9MTI7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJzdHN6Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt2YXIgcj1uaChlKSxuPW5oKGUsNCksaT1bXTtpZighcilmb3IodmFyIGE9OCxvPTA7bzxuO28rKylpLnB1c2gobmgoZSxhKSksYSs9NDt0LnNhbXBsZVNpemU9cix0LnNhbXBsZUNvdW50PW4sdC5lbnRyeVNpemVzPWl9KSl9fSx7a2V5OiJzdGNvIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmgoZSksbj1bXSxpPTQsYT0wO2E8cjthKyspbi5wdXNoKG5oKGUsaSkpLGkrPTQ7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJjbzY0Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmgoZSksbj1bXSxpPTQsYT0wO2E8cjthKyspbi5wdXNoKGloKGUsaSkpLGkrPTg7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJzdHNzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bmgoZSksbj1bXSxpPTQsYT0wO2E8cjthKyspbi5wdXNoKG5oKGUsaSkpLGkrPTQ7dC5lbnRyeUNvdW50PXIsdC5lbnRyaWVzPW59KSl9fSx7a2V5OiJtb29mIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdXAoZSwhMSwoZnVuY3Rpb24oZSxyLG4pe2UubWZoZD10Lm1maGQodC5maW5kQm94KHIsWyJtZmhkIl0sbilbMF0pLGUudHJhZj10LmZpbmRCb3gocixbInRyYWYiXSxuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnRyYWYoZSl9KSl9KSl9fSx7a2V5OiJtZmhkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXt0LnNlcXVlbmNlTnVtYmVyPW5oKGUpfSkpfX0se2tleToidHJhZiIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHVwKGUsITEsKGZ1bmN0aW9uKGUscixuKXtlLnRmaGQ9dC50ZmhkKHQuZmluZEJveChyLFsidGZoZCJdLG4pWzBdKSxlLnRmZHQ9dC50ZmR0KHQuZmluZEJveChyLFsidGZkdCJdLG4pWzBdKSxlLnRydW49dC50cnVuKHQuZmluZEJveChyLFsidHJ1biJdLG4pWzBdKX0pKX19LHtrZXk6InRydW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB1cCh0LCEwLChmdW5jdGlvbih0LGUpe3ZhciByPXQudmVyc2lvbixuPXQuZmxhZ3MsaT1lLmxlbmd0aCxhPXQuc2FtcGxlQ291bnQ9bmgoZSksbz00O2lmKGk+byYmMSZuJiYodC5kYXRhT2Zmc2V0PS0oMSt+bmgoZSxvKSksbys9NCksaT5vJiY0Jm4mJih0LmZpcnN0U2FtcGxlRmxhZ3M9bmgoZSxvKSxvKz00KSx0LnNhbXBsZXM9W10saT5vKWZvcih2YXIgcyx1PTA7dTxhO3UrKylzPXt9LDI1NiZuJiYocy5kdXJhdGlvbj1uaChlLG8pLG8rPTQpLDUxMiZuJiYocy5zaXplPW5oKGUsbyksbys9NCksMTAyNCZuJiYocy5mbGFncz1uaChlLG8pLG8rPTQpLDIwNDgmbiYmKHMuY3RzPXI/LSgxK35uaChlLG8rNCkpOm5oKGUsbyksbys9NCksdC5zYW1wbGVzLnB1c2gocyl9KSl9fSx7a2V5OiJ0ZmR0Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdXAodCwhMCwoZnVuY3Rpb24odCxlKXsxPT09dC52ZXJzaW9uP3QuYmFzZU1lZGlhRGVjb2RlVGltZT1paChlKTp0LmJhc2VNZWRpYURlY29kZVRpbWU9bmgoZSl9KSl9fSx7a2V5OiJwcm9iZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmZpbmRCb3goZSxbImZ0eXAiXSl9fSx7a2V5OiJwYXJzZVNhbXBsZUZsYWdzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm57aXNMZWFkaW5nOigxMiZ0WzBdKT4+PjIsZGVwZW5kc09uOjMmdFswXSxpc0RlcGVuZGVkT246KDE5MiZ0WzFdKT4+PjYsaGFzUmVkdW5kYW5jeTooNDgmdFsxXSk+Pj40LHBhZGRpbmdWYWx1ZTooMTQmdFsxXSk+Pj4xLGlzTm9uU3luY1NhbXBsZToxJnRbMV0sZGVncmFkYXRpb25Qcmlvcml0eTp0WzJdPDw4fHRbM119fX0se2tleToibW9vdlRvVHJhY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLGE9dC50cmFrO2lmKGEmJmEubGVuZ3RoKXt2YXIgbz1hLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInZpZGUiPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSkscz1hLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInNvdW4iPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSk7aWYobyYmZSl7dmFyIHUsYyxmLGwsZCxoLHAsdj1lLHk9bnVsbD09PSh1PW8udGtoZCl8fHZvaWQgMD09PXU/dm9pZCAwOnUudHJhY2tJZDtudWxsIT15JiYodi5pZD1vLnRraGQudHJhY2tJZCksdi50a2hkRHVyYXRpb249by50a2hkLmR1cmF0aW9uLHYubXZoZER1cnRpb249dC5tdmhkLmR1cmF0aW9uLHYubXZoZFRpbWVjYWxlPXQubXZoZC50aW1lc2NhbGUsdi50aW1lc2NhbGU9di5mb3JtYXRUaW1lc2NhbGU9by5tZGlhLm1kaGQudGltZXNjYWxlLHYuZHVyYXRpb249by5tZGlhLm1kaGQuZHVyYXRpb258fHYubXZoZER1cnRpb24vdi5tdmhkVGltZWNhbGUqdi50aW1lc2NhbGU7dmFyIGcsbSxiLHcsayx4LEEsUyxfPW8ubWRpYS5taW5mLnN0Ymwuc3RzZC5lbnRyaWVzWzBdO2lmKHYud2lkdGg9Xy53aWR0aCx2LmhlaWdodD1fLmhlaWdodCxfLnBhc3AmJih2LnNhclJhdGlvPVtfLnBhc3AuaFNwYWNpbmcsXy5wYXNwLnZTcGFjaW5nXSksXy5odmNDKXYuY29kZWNUeXBlPXppLHYuY29kZWM9Xy5odmNDLmNvZGVjLHYudnBzPV8uaHZjQy52cHMsdi5zcHM9Xy5odmNDLnNwcyx2LnBwcz1fLmh2Y0MucHBzLHYuaHZjQz1fLmh2Y0MuZGF0YTtlbHNle2lmKCFfLmF2Y0MpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHZpZGVvIHN0c2QgZW50cnkiKTt2LmNvZGVjPV8uYXZjQy5jb2RlYyx2LnNwcz1fLmF2Y0Muc3BzLHYucHBzPV8uYXZjQy5wcHN9aWYodi5wcmVzZW50PSEwLHYuZXh0PXt9LHYuZXh0LnN0c3M9bnVsbD09PShjPW8ubWRpYSl8fHZvaWQgMD09PWN8fG51bGw9PT0oZj1jLm1pbmYpfHx2b2lkIDA9PT1mfHxudWxsPT09KGw9Zi5zdGJsKXx8dm9pZCAwPT09bD92b2lkIDA6bC5zdHNzLHYuZXh0LmN0dHM9bnVsbD09PShkPW8ubWRpYSl8fHZvaWQgMD09PWR8fG51bGw9PT0oaD1kLm1pbmYpfHx2b2lkIDA9PT1ofHxudWxsPT09KHA9aC5zdGJsKXx8dm9pZCAwPT09cD92b2lkIDA6cC5jdHRzLF8mJiJlbmN2Ij09PV8udHlwZSl2LmlzVmlkZW9FbmNyeXB0aW9uPSEwLF8uZGVmYXVsdF9LSUQ9bnVsbD09PShnPV8uc2luZil8fHZvaWQgMD09PWd8fG51bGw9PT0obT1nLnNjaGkpfHx2b2lkIDA9PT1tP3ZvaWQgMDptLnRlbmMuZGVmYXVsdF9LSUQsXy5kZWZhdWx0X0lzRW5jcnlwdGVkPW51bGw9PT0oYj1fLnNpbmYpfHx2b2lkIDA9PT1ifHxudWxsPT09KHc9Yi5zY2hpKXx8dm9pZCAwPT09dz92b2lkIDA6dy50ZW5jLmRlZmF1bHRfSXNFbmNyeXB0ZWQsXy5kZWZhdWx0X0lWX3NpemU9bnVsbD09PShrPV8uc2luZil8fHZvaWQgMD09PWt8fG51bGw9PT0oeD1rLnNjaGkpfHx2b2lkIDA9PT14P3ZvaWQgMDp4LnRlbmMuZGVmYXVsdF9JVl9zaXplLHYudmlkZW9TZW5jPW8ubWRpYS5taW5mLnN0Ymwuc2VuYyYmby5tZGlhLm1pbmYuc3RibC5zZW5jLnNhbXBsZXMsXy5kYXRhX2Zvcm1hdD1udWxsPT09KEE9Xy5zaW5mKXx8dm9pZCAwPT09QXx8bnVsbD09PShTPUEuZnJtYSl8fHZvaWQgMD09PVM/dm9pZCAwOlMuZGF0YV9mb3JtYXQsdi51c2VFTUU9dC51c2VFTUUsdi5raWRWYWx1ZT10LmtpZFZhbHVlLHYucHNzaD10LnBzc2gsdi5lbmN2PV99aWYocyYmcil7dmFyIFQsRSxJLE8sTSxDLFIsQixQLFU9cixEPW51bGw9PT0oVD1zLnRraGQpfHx2b2lkIDA9PT1UP3ZvaWQgMDpULnRyYWNrSWQ7bnVsbCE9RCYmKFUuaWQ9cy50a2hkLnRyYWNrSWQpLFUudGtoZER1cmF0aW9uPXMudGtoZC5kdXJhdGlvbixVLm12aGREdXJ0aW9uPXQubXZoZC5kdXJhdGlvbixVLm12aGRUaW1lY2FsZT10Lm12aGQudGltZXNjYWxlLFUudGltZXNjYWxlPVUuZm9ybWF0VGltZXNjYWxlPXMubWRpYS5tZGhkLnRpbWVzY2FsZSxVLmR1cmF0aW9uPXMubWRpYS5tZGhkLmR1cmF0aW9ufHxVLm12aGREdXJ0aW9uL1UubXZoZFRpbWVjYWxlKlUudGltZXNjYWxlO3ZhciB6LGosTCxGLE4sVixILFksSz1zLm1kaWEubWluZi5zdGJsLnN0c2QuZW50cmllc1swXTtzd2l0Y2goVS5zYW1wbGVTaXplPUsuc2FtcGxlU2l6ZSxVLnNhbXBsZVJhdGU9Sy5zYW1wbGVSYXRlLFUuY2hhbm5lbENvdW50PUsuY2hhbm5lbENvdW50LFUucHJlc2VudD0hMCxLLnR5cGUpe2Nhc2UiYWxhdyI6VS5jb2RlY1R5cGU9VS5jb2RlYz1MaSxVLnNhbXBsZVJhdGU9OGUzO2JyZWFrO2Nhc2UidWxhdyI6VS5jb2RlY1R5cGU9VS5jb2RlYz1GaSxVLnNhbXBsZVJhdGU9OGUzO2JyZWFrO2RlZmF1bHQ6VS5zYW1wbGVEdXJhdGlvbj1KZC5nZXRGcmFtZUR1cmF0aW9uKFUuc2FtcGxlUmF0ZSxVLnRpbWVzY2FsZSksVS5zYW1wbGVSYXRlSW5kZXg9SmQuZ2V0UmF0ZUluZGV4QnlSYXRlKFUuc2FtcGxlUmF0ZSksVS5vYmplY3RUeXBlPShudWxsPT09KG49Sy5lc2RzKXx8dm9pZCAwPT09bj92b2lkIDA6bi5vYmplY3RUeXBlKXx8MixLLmVzZHMmJihVLmNvbmZpZz1BcnJheS5mcm9tKEsuZXNkcy5jb25maWcpKSxVLmNvZGVjPShudWxsPT09KGk9Sy5lc2RzKXx8dm9pZCAwPT09aT92b2lkIDA6aS5jb2RlYyl8fCJtcDRhLjQwLjIifWlmKFUuc2FtcGxlRHVyYXRpb249SmQuZ2V0RnJhbWVEdXJhdGlvbihVLnNhbXBsZVJhdGUsVS50aW1lc2NhbGUpLFUub2JqZWN0VHlwZT0obnVsbD09PShFPUsuZXNkcyl8fHZvaWQgMD09PUU/dm9pZCAwOkUub2JqZWN0VHlwZSl8fDIsSy5lc2RzJiYoSy5lc2RzLmNvbmZpZz9VLmNvbmZpZz1BcnJheS5mcm9tKEsuZXNkcy5jb25maWcpOmNvbnNvbGUud2FybigiZXNkcyBjb25maWcgaXMgbnVsbCIpKSxVLmNvZGVjPShudWxsPT09KEk9Sy5lc2RzKXx8dm9pZCAwPT09ST92b2lkIDA6SS5jb2RlYyl8fCJtcDRhLjQwLjIiLFUuc2FtcGxlUmF0ZUluZGV4PUpkLmdldFJhdGVJbmRleEJ5UmF0ZShVLnNhbXBsZVJhdGUpLFUuZXh0PXt9LFUuZXh0LnN0c3M9bnVsbD09PShPPXMubWRpYSl8fHZvaWQgMD09PU98fG51bGw9PT0oTT1PLm1pbmYpfHx2b2lkIDA9PT1NfHxudWxsPT09KEM9TS5zdGJsKXx8dm9pZCAwPT09Qz92b2lkIDA6Qy5zdHNzLFUuZXh0LmN0dHM9bnVsbD09PShSPXMubWRpYSl8fHZvaWQgMD09PVJ8fG51bGw9PT0oQj1SLm1pbmYpfHx2b2lkIDA9PT1CfHxudWxsPT09KFA9Qi5zdGJsKXx8dm9pZCAwPT09UD92b2lkIDA6UC5jdHRzLFUucHJlc2VudD0hMCxLJiYiZW5jYSI9PT1LLnR5cGUpVS5pc0F1ZGlvRW5jcnlwdGlvbj0hMCxLLmRhdGFfZm9ybWF0PW51bGw9PT0oej1LLnNpbmYpfHx2b2lkIDA9PT16fHxudWxsPT09KGo9ei5mcm1hKXx8dm9pZCAwPT09aj92b2lkIDA6ai5kYXRhX2Zvcm1hdCxLLmRlZmF1bHRfS0lEPW51bGw9PT0oTD1LLnNpbmYpfHx2b2lkIDA9PT1MfHxudWxsPT09KEY9TC5zY2hpKXx8dm9pZCAwPT09Rj92b2lkIDA6Ri50ZW5jLmRlZmF1bHRfS0lELEsuZGVmYXVsdF9Jc0VuY3J5cHRlZD1udWxsPT09KE49Sy5zaW5mKXx8dm9pZCAwPT09Tnx8bnVsbD09PShWPU4uc2NoaSl8fHZvaWQgMD09PVY/dm9pZCAwOlYudGVuYy5kZWZhdWx0X0lzRW5jcnlwdGVkLEsuZGVmYXVsdF9JVl9zaXplPW51bGw9PT0oSD1LLnNpbmYpfHx2b2lkIDA9PT1IfHxudWxsPT09KFk9SC5zY2hpKXx8dm9pZCAwPT09WT92b2lkIDA6WS50ZW5jLmRlZmF1bHRfSVZfc2l6ZSxVLmF1ZGlvU2VuYz1zLm1kaWEubWluZi5zdGJsLnNlbmMmJnMubWRpYS5taW5mLnN0Ymwuc2VuYy5zYW1wbGVzLFUudXNlRU1FPXQudXNlRU1FLFUua2lkVmFsdWU9dC5raWRWYWx1ZSxVLmVuY2E9S31pZihyJiYoci5pc1ZpZGVvRW5jcnlwdGlvbj0hIWUmJmUuaXNWaWRlb0VuY3J5cHRpb24pLGUmJihlLmlzQXVkaW9FbmNyeXB0aW9uPSEhciYmci5pc0F1ZGlvRW5jcnlwdGlvbiksbnVsbCE9ZSYmZS5lbmN2fHxudWxsIT1yJiZyLmVuY2Epe3ZhciBXLEcscT1udWxsPT1lfHxudWxsPT09KFc9ZS5lbmN2KXx8dm9pZCAwPT09Vz92b2lkIDA6Vy5kZWZhdWx0X0tJRCxYPW51bGw9PXJ8fG51bGw9PT0oRz1yLmVuY2EpfHx2b2lkIDA9PT1HP3ZvaWQgMDpHLmRlZmF1bHRfS0lELCQ9cXx8WD8ocXx8WCkuam9pbigiIik6bnVsbDtlJiYoZS5raWQ9JCksciYmKHIua2lkPSQpfXJldHVybiBlJiYoZS5mbGFncz0zODQxKSxyJiYoci5mbGFncz0xNzkzKSx7dmlkZW9UcmFjazplLGF1ZGlvVHJhY2s6cn19fX0se2tleToiZXZhbHVhdGVEZWZhdWx0RHVyYXRpb24iLHZhbHVlOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpPW51bGw9PWV8fG51bGw9PT0obj1lLnNhbXBsZXMpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmxlbmd0aDtyZXR1cm4gaT8xMDI0KmkvZS50aW1lc2NhbGUqdC50aW1lc2NhbGUvcjoxMDI0fX0se2tleToibW9vZlRvU2FtcGxlcyIsdmFsdWU6ZnVuY3Rpb24oZSxyLG4pe3ZhciBpPXt9O3JldHVybiBlLm1maGQmJihyJiYoci5zZXF1ZW5jZU51bWJlcj1lLm1maGQuc2VxdWVuY2VOdW1iZXIpLG4mJihuLnNlcXVlbmNlTnVtYmVyPWUubWZoZC5zZXF1ZW5jZU51bWJlcikpLGUudHJhZi5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgYT1lLnRmaGQsbz1lLnRmZHQscz1lLnRydW47aWYoYSYmcyl7byYmKHImJnIuaWQ9PT1hLnRyYWNrSWQmJihyLmJhc2VNZWRpYURlY29kZVRpbWU9by5iYXNlTWVkaWFEZWNvZGVUaW1lKSxuJiZuLmlkPT09YS50cmFja0lkJiYobi5iYXNlTWVkaWFEZWNvZGVUaW1lPW8uYmFzZU1lZGlhRGVjb2RlVGltZSkpO3ZhciB1PWEuZGVmYXVsdFNhbXBsZVNpemV8fDAsYz1hLmRlZmF1bHRTYW1wbGVEdXJhdGlvbnx8dC5ldmFsdWF0ZURlZmF1bHREdXJhdGlvbihyLG4scy5zYW1wbGVzLmxlbmd0aHx8cy5zYW1wbGVDb3VudCksZj1zLmRhdGFPZmZzZXR8fDAsbD0wLGQ9LTE7aWYoIXMuc2FtcGxlcy5sZW5ndGgmJnMuc2FtcGxlQ291bnQpe2lbYS50cmFja0lkXT1bXTtmb3IodmFyIGg9MDtoPHMuc2FtcGxlQ291bnQ7aCsrKWlbYS50cmFja0lkXS5wdXNoKHtvZmZzZXQ6ZixkdHM6bCxkdXJhdGlvbjpjLHNpemU6dX0pLGwrPWMsZis9dX1lbHNlIGlbYS50cmFja0lkXT1zLnNhbXBsZXMubWFwKChmdW5jdGlvbih0LGUpe3JldHVybih0PXtvZmZzZXQ6ZixkdHM6bCxwdHM6bCsodC5jdHN8fDApLGR1cmF0aW9uOnQuZHVyYXRpb258fGMsc2l6ZTp0LnNpemV8fHUsZ29wSWQ6ZCxrZXlmcmFtZTowPT09ZXx8bnVsbCE9PXQuZmxhZ3MmJnZvaWQgMCE9PXQuZmxhZ3MmJig2NTUzNiZ0LmZsYWdzKT4+PjAhPTY1NTM2fSkua2V5ZnJhbWUmJihkKyssdC5nb3BJZD1kKSxsKz10LmR1cmF0aW9uLGYrPXQuc2l6ZSx0fSkpfX0pKSxpfX0se2tleToibW9vdlRvU2FtcGxlcyIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dC50cmFrO2lmKGUmJmUubGVuZ3RoKXt2YXIgcj1lLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInZpZGUiPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSksbj1lLmZpbmQoKGZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuInNvdW4iPT09KG51bGw9PT0oZT10Lm1kaWEpfHx2b2lkIDA9PT1lfHxudWxsPT09KHI9ZS5oZGxyKXx8dm9pZCAwPT09cj92b2lkIDA6ci5oYW5kbGVyVHlwZSl9KSk7aWYocnx8bil7dmFyIGksYTtpZihyKXt2YXIgbyxzLHU9bnVsbD09PShvPXIubWRpYSl8fHZvaWQgMD09PW98fG51bGw9PT0ocz1vLm1pbmYpfHx2b2lkIDA9PT1zP3ZvaWQgMDpzLnN0Ymw7aWYoIXUpcmV0dXJuO3ZhciBjPXUuc3R0cyxmPXUuc3RzYyxsPXUuc3RzeixkPXUuc3RjbyxoPXUuc3RzcyxwPXUuY3R0cztpZighKGMmJmYmJmwmJmQmJmgpKXJldHVybjtpPWFwKGMsZixsLGQscCxoKX1pZihuKXt2YXIgdix5LGcsbT1udWxsPT09KHY9bi5tZGlhKXx8dm9pZCAwPT09dnx8bnVsbD09PSh5PXYubWluZil8fHZvaWQgMD09PXk/dm9pZCAwOnkuc3RibDtpZighbSlyZXR1cm47dmFyIGI9bnVsbD09PShnPW4ubWRpYS5tZGhkKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy50aW1lc2NhbGUsdz1tLnN0dHMsaz1tLnN0c2MseD1tLnN0c3osQT1tLnN0Y287aWYoIShiJiZ3JiZrJiZ4JiZBKSlyZXR1cm47YT1hcCh3LGsseCxBKX1yZXR1cm57dmlkZW9TYW1wbGVzOmksYXVkaW9TYW1wbGVzOmF9fX19fV0pLHR9KCk7ZnVuY3Rpb24gYXAodCxlLHIsbixpLGEpe3ZhciBvLHMsdSxjPVtdLGY9bnVsbD09aT92b2lkIDA6aS5lbnRyaWVzLGw9ZS5lbnRyaWVzLGQ9bi5lbnRyaWVzLGg9ci5lbnRyeVNpemVzLHA9bnVsbD09YT92b2lkIDA6YS5lbnRyaWVzO3AmJihvPXt9LHAuZm9yRWFjaCgoZnVuY3Rpb24odCl7b1t0LTFdPSEwfSkpKSxmJiYocz1bXSxmLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmNvdW50LHI9dC5vZmZzZXQsbj0wO248ZTtuKyspcy5wdXNoKHIpfSkpKTt2YXIgdj0tMSx5PTAsZz0wLG09MCxiPTAsdz0wLGs9bFswXS5zYW1wbGVzUGVyQ2h1bmsseD1sWzFdP2xbMV0uZmlyc3RDaHVuay0xOjEvMDtyZXR1cm4gdC5lbnRyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmNvdW50LG49dC5kZWx0YSxpPTA7aTxlO2krKyl1PXtkdHM6eSxkdXJhdGlvbjpuLHNpemU6aFtnXXx8ci5zYW1wbGVTaXplLG9mZnNldDpkW21dK3csaW5kZXg6Z30scCYmKHUua2V5ZnJhbWU9b1tnXSx1LmtleWZyYW1lJiZ2KyssdS5nb3BJZD12KSxzJiZnPHMubGVuZ3RoJiYodS5wdHM9dS5kdHMrc1tnXSksYy5wdXNoKHUpLHkrPW4sKytnPGs/dys9dS5zaXplOihtKyssdz0wLG0+PXgmJihiKysseD1sW2IrMV0/bFtiKzFdLmZpcnN0Q2h1bmstMToxLzApLGsrPWxbYl0uc2FtcGxlc1BlckNodW5rKX0pKSxjfWZ1bmN0aW9uIG9wKHQsZSl7cmV0dXJuIHQuZGF0YVJlZmVyZW5jZUluZGV4PXJoKGUsNiksdC53aWR0aD1yaChlLDI0KSx0LmhlaWdodD1yaChlLDI2KSx0Lmhvcml6cmVzb2x1dGlvbj1uaChlLDI4KSx0LnZlcnRyZXNvbHV0aW9uPW5oKGUsMzIpLHQuZnJhbWVDb3VudD1yaChlLDQwKSx0LmRlcHRoPXJoKGUsNzQpLDc4fWZ1bmN0aW9uIHNwKHQsZSl7cmV0dXJuIHQuZGF0YVJlZmVyZW5jZUluZGV4PXJoKGUsNiksdC5jaGFubmVsQ291bnQ9cmgoZSwxNiksdC5zYW1wbGVTaXplPXJoKGUsMTgpLHQuc2FtcGxlUmF0ZT1uaChlLDI0KS82NTUzNiwyOH1mdW5jdGlvbiB1cCh0LGUscil7aWYodCl7aWYodC5zaXplIT09dC5kYXRhLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImJveCAiLmNvbmNhdCh0LnR5cGUsIiBzaXplICE9PSBkYXRhLmxlbmd0aCIpKTt2YXIgbj17c3RhcnQ6dC5zdGFydCxzaXplOnQuc2l6ZSxoZWFkZXJTaXplOnQuaGVhZGVyU2l6ZSx0eXBlOnQudHlwZX07cmV0dXJuIGUmJihuLnZlcnNpb249dC5kYXRhW3QuaGVhZGVyU2l6ZV0sbi5mbGFncz1mdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4odFtlXTw8MTYpKyh0W2UrMV08PDgpKyh0W2UrMl18fDApfSh0LmRhdGEsdC5oZWFkZXJTaXplKzEpLG4uaGVhZGVyU2l6ZSs9NCkscihuLHQuZGF0YS5zdWJhcnJheShuLmhlYWRlclNpemUpLG4uc3RhcnQrbi5oZWFkZXJTaXplKSxufX12YXIgY3A9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1TdHJpbmcociksaT1lPj4wLGE9TWF0aC5jZWlsKGkvbi5sZW5ndGgpLG89W10scz1TdHJpbmcodCk7YS0tOylvLnB1c2gobik7cmV0dXJuIG8uam9pbigiIikuc3Vic3RyaW5nKDAsaS1zLmxlbmd0aCkrc30sZnA9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09YXJndW1lbnRzW25dO3JldHVybiByLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChjcChOdW1iZXIoZSkudG9TdHJpbmcoMTYpLDIsMCkpfSkpLHRbMF19LGxwPUt1LGRwPSJBcnJheUJ1ZmZlciIsaHA9QXUuQXJyYXlCdWZmZXI7bXIoe2dsb2JhbDohMCxmb3JjZWQ6VC5BcnJheUJ1ZmZlciE9PWhwfSx7QXJyYXlCdWZmZXI6aHB9KSxscChkcCk7dmFyIHBwLHZwPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh2cCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdnAuZGVmYXVsdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyPjE/ci0xOjApLGk9MTtpPHI7aSsrKW5baS0xXT1hcmd1bWVudHNbaV07dmFyIGE9ITAsbz0hMSxzPXZvaWQgMDt0cnl7Zm9yKHZhciB1LGM9bltTeW1ib2wuaXRlcmF0b3JdKCk7IShhPSh1PWMubmV4dCgpKS5kb25lKTthPSEwKXt2YXIgZj11LnZhbHVlO2UrPWYubGVuZ3RofX1jYXRjaChiKXtvPSEwLHM9Yn1maW5hbGx5e3RyeXshYSYmYy5yZXR1cm4mJmMucmV0dXJuKCl9ZmluYWxseXtpZihvKXRocm93IHN9fXZhciBsPW5ldyB0KGUpLGQ9MCxoPSEwLHA9ITEsdj12b2lkIDA7dHJ5e2Zvcih2YXIgeSxnPW5bU3ltYm9sLml0ZXJhdG9yXSgpOyEoaD0oeT1nLm5leHQoKSkuZG9uZSk7aD0hMCl7dmFyIG09eS52YWx1ZTtsLnNldChtLGQpLGQrPW0ubGVuZ3RofX1jYXRjaChiKXtwPSEwLHY9Yn1maW5hbGx5e3RyeXshaCYmZy5yZXR1cm4mJmcucmV0dXJuKCl9ZmluYWxseXtpZihwKXRocm93IHZ9fXJldHVybiBsfTt2YXIgeXA9KChwcD12cCkmJnBwLl9fZXNNb2R1bGU/cHA6e2RlZmF1bHQ6cHB9KS5kZWZhdWx0LGdwPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3kodGhpcyx0KSx0aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheSgwKX1yZXR1cm4gbSh0LFt7a2V5OiJ3cml0ZSIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspcltuXT1hcmd1bWVudHNbbl07ci5mb3JFYWNoKChmdW5jdGlvbihlKXtlP3QuYnVmZmVyPXlwKFVpbnQ4QXJyYXksdC5idWZmZXIsZSk6d2luZG93LmNvbnNvbGUud2FybihlKX0pKX19XSxbe2tleToid3JpdGVVaW50MTYiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVWludDhBcnJheShbdD4+OCYyNTUsMjU1JnRdKX19LHtrZXk6IndyaXRlVWludDMyIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoW3Q+PjI0LHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdF0pfX1dKSx0fSgpLG1wPU1hdGgucG93KDIsMzIpLTEsYnA9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7eSh0aGlzLHQpfXJldHVybiBtKHQsbnVsbCxbe2tleToiYm94Iix2YWx1ZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShlPjE/ZS0xOjApLG49MTtuPGU7bisrKXJbbi0xXT1hcmd1bWVudHNbbl07dmFyIGk9OCsocj1yLmZpbHRlcihCb29sZWFuKSkucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0K2UuYnl0ZUxlbmd0aH0pLDApLGE9bmV3IFVpbnQ4QXJyYXkoaSk7YVswXT1pPj4yNCYyNTUsYVsxXT1pPj4xNiYyNTUsYVsyXT1pPj44JjI1NSxhWzNdPTI1NSZpLGEuc2V0KHQsNCk7dmFyIG89ODtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbih0KXthLnNldCh0LG8pLG8rPXQuYnl0ZUxlbmd0aH0pKSxhfX0se2tleToiZnR5cCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZT09PUJpJiZ0LmNvZGVjVHlwZT09PXppfSkpP3QuRlRZUEhFVjE6dC5GVFlQQVZDMX19LHtrZXk6ImluaXRTZWdtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGgodC5mdHlwKGUpLHQubW9vdihlKSl9fSx7a2V5OiJwc3NoIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1uZXcgVWludDhBcnJheShbMSwwLDAsMF0uY29uY2F0KFsxNiwxMTksMjM5LDIzNiwxOTIsMTc4LDc3LDIsMTcyLDIyNyw2MCwzMCw4MiwyMjYsMjUxLDc1XSxbMCwwLDAsMV0sb2goZS5raWQpLFswLDAsMCwwXSkpO3JldHVybiB0LmJveCh0LnR5cGVzLnBzc2gscil9fSx7a2V5OiJtb292Iix2YWx1ZTpmdW5jdGlvbihlKXtpZihlWzBdLnVzZUVNRSYmKGVbMF0uZW5jdnx8ZVswXS5lbmNhKSl7ZVswXS5wc3NofHwoZVswXS5wc3NoPXtraWQ6ZVswXS5raWR9KTt2YXIgcj10aGlzLnBzc2goZVswXS5wc3NoKTtyZXR1cm4gdC5ib3guYXBwbHkodCxbdC50eXBlcy5tb292LHQubXZoZChlWzBdLm12aGREdXJ0aW9ufHxlWzBdLmR1cmF0aW9uLGVbMF0ubXZoZFRpbWVjYWxlfHxlWzBdLnRpbWVzY2FsZSksdC5tdmV4KGUpXS5jb25jYXQoayhlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQudHJhayhlKX0pKSksW3JdKSl9cmV0dXJuIHQuYm94LmFwcGx5KHQsW3QudHlwZXMubW9vdix0Lm12aGQoZVswXS5tdmhkRHVydGlvbnx8ZVswXS5kdXJhdGlvbixlWzBdLm12aGRUaW1lY2FsZXx8ZVswXS50aW1lc2NhbGUpXS5jb25jYXQoayhlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQudHJhayhlKX0pKSksW3QubXZleChlKV0pKX19LHtrZXk6Im12aGQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTo5ZTQsbj10LmJveCh0LnR5cGVzLm12aGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLHI+PjI0JjI1NSxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnIsZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZSwwLDEsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyNTUsMjU1LDI1NSwyNTVdKSk7cmV0dXJuIG59fSx7a2V5OiJ0cmFrIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy50cmFrLHQudGtoZChlLmlkLGUudGtoZER1cmF0aW9ufHwwLGUud2lkdGgsZS5oZWlnaHQpLHQubWRpYShlKSl9fSx7a2V5OiJ0a2hkIix2YWx1ZTpmdW5jdGlvbihlLHIpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTowLGk9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjAsYT10LmJveCh0LnR5cGVzLnRraGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDcsMCwwLDAsMCwwLDAsMCwwLGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUsMCwwLDAsMCxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDY0LDAsMCwwLG4+PjgmMjU1LDI1NSZuLDAsMCxpPj44JjI1NSwyNTUmaSwwLDBdKSk7cmV0dXJuIGF9fSx7a2V5OiJtZGlhIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5tZGlhLHQubWRoZChlLmR1cmF0aW9uLGUudGltZXNjYWxlKSx0LmhkbHIoZS50eXBlKSx0Lm1pbmYoZSkpfX0se2tleToibWRoZCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjllNCxuPXQuYm94KHQudHlwZXMubWRoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAscj4+MjQmMjU1LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLDg1LDE5NiwwLDBdKSk7cmV0dXJuIG59fSx7a2V5OiJoZGxyIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5oZGxyLHQuSERMUl9UWVBFU1tlXSl9fSx7a2V5OiJtaW5mIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5taW5mLGUudHlwZT09PUJpP3QuVk1IRDp0LlNNSEQsdC5ESU5GLHQuc3RibChlKSl9fSx7a2V5OiJzdGJsIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1bXTtyZXR1cm4gZSYmZS5leHQmJmUuZXh0LnN0c3MmJnIucHVzaCh0LnN0c3MoZS5leHQuc3Rzcy5lbnRyaWVzKSksdC5ib3godC50eXBlcy5zdGJsLHQuc3RzZChlKSx0LlNUVFMsclswXSx0LlNUU0MsdC5TVFNaLHQuU1RDTyl9fSx7a2V5OiJzdHNkIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcjtyZXR1cm4gcj0iYXVkaW8iPT09ZS50eXBlP2UudXNlRU1FJiZlLmVuY2E/dC5lbmNhKGUpOnQubXA0YShlKTplLnVzZUVNRSYmZS5lbmN2P3QuZW5jdihlKTp0LmF2YzFoZXYxKGUpLHQuYm94KHQudHlwZXMuc3RzZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxXSkscil9fSx7a2V5OiJlbmNhIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmVuY2EuY2hhbm5lbENvdW50LG49ZS5lbmNhLnNhbXBsZVJhdGUsaT1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLHIsMCwxNiwwLDAsMCwwLG4+PjgmMjU1LDI1NSZuLDAsMF0pLGE9dC5lc2RzKGUuY29uZmlnKSxvPXQuc2luZihlLmVuY2EpO3JldHVybiB0LmJveCh0LnR5cGVzLmVuY2EsaSxhLG8pfX0se2tleToiZW5jdiIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHIsbixpPWUuc3BzLmxlbmd0aD4wP2Uuc3BzWzBdOltdLGE9ZS5wcHMubGVuZ3RoPjA/ZS5wcHNbMF06W10sbz1lLndpZHRoLHM9ZS5oZWlnaHQsdT1lLnNhclJhdGlvWzBdLGM9ZS5zYXJSYXRpb1sxXSxmPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCxvPj44JjI1NSwyNTUmbyxzPj44JjI1NSwyNTUmcywwLDcyLDAsMCwwLDcyLDAsMCwwLDAsMCwwLDAsMSwxOCwxMDAsOTcsMTA1LDEwOCwxMjEsMTA5LDExMSwxMTYsMTA1LDExMSwxMTAsNDcsMTA0LDEwOCwxMTUsNDYsMTA2LDExNSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQsMTcsMTddKSxsPW5ldyBVaW50OEFycmF5KChyPShuPVsxLGlbMV0saVsyXSxpWzNdLDI1NSwyMjUsaS5sZW5ndGg+Pj44JjI1NSwyNTUmaS5sZW5ndGhdKS5jb25jYXQuYXBwbHkobixrKGkpKS5jb25jYXQoWzEsYS5sZW5ndGg+Pj44JjI1NSwyNTUmYS5sZW5ndGhdKSkuY29uY2F0LmFwcGx5KHIsayhhKSkpLGQ9bmV3IFVpbnQ4QXJyYXkoWzAsMCw4OCw1NywwLDE1LDIwMCwxOTIsMCw0LDg2LDcyXSksaD10LnNpbmYoZS5lbmN2KSxwPW5ldyBVaW50OEFycmF5KFt1Pj4yNCx1Pj4xNiYyNTUsdT4+OCYyNTUsMjU1JnUsYz4+MjQsYz4+MTYmMjU1LGM+PjgmMjU1LDI1NSZjXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuZW5jdixmLHQuYm94KHQudHlwZXMuYXZjQyxsKSx0LmJveCh0LnR5cGVzLmJ0cnQsZCksaCx0LmJveCh0LnR5cGVzLnBhc3AscCkpfX0se2tleToic2NoaSIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IFVpbnQ4QXJyYXkoW10pLG49dC50ZW5jKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnNjaGkscixuKX19LHtrZXk6InRlbmMiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwyNTUmZS5kZWZhdWx0X0lzRW5jcnlwdGVkLDI1NSZlLmRlZmF1bHRfSVZfc2l6ZV0uY29uY2F0KG9oKGUuZGVmYXVsdF9LSUQpKSk7cmV0dXJuIHQuYm94KHQudHlwZXMudGVuYyxyKX19LHtrZXk6InNpbmYiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPW5ldyBVaW50OEFycmF5KFtdKSxuPW5ldyBVaW50OEFycmF5KFtlLmRhdGFfZm9ybWF0LmNoYXJDb2RlQXQoMCksZS5kYXRhX2Zvcm1hdC5jaGFyQ29kZUF0KDEpLGUuZGF0YV9mb3JtYXQuY2hhckNvZGVBdCgyKSxlLmRhdGFfZm9ybWF0LmNoYXJDb2RlQXQoMyldKSxpPW5ldyBVaW50OEFycmF5KFswLDAsMCwwLDk5LDEwMSwxMTAsOTksMCwxLDAsMF0pLGE9dC5zY2hpKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnNpbmYscix0LmJveCh0LnR5cGVzLmZybWEsbiksdC5ib3godC50eXBlcy5zY2htLGkpLGEpfX0se2tleToiYXZjMWhldjEiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUuY29kZWNUeXBlPT09emksbj1yP3QudHlwZXMuaHZjMTp0LnR5cGVzLmF2YzEsaT1yP3QuaHZjQyhlKTp0LmF2Y0MoZSksYT1bbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLGUud2lkdGg+PjgmMjU1LDI1NSZlLndpZHRoLGUuaGVpZ2h0Pj44JjI1NSwyNTUmZS5oZWlnaHQsMCw3MiwwLDAsMCw3MiwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQsMTcsMTddKSxpXTtyZXR1cm4gcj9hLnB1c2godC5ib3godC50eXBlcy5maWVsLG5ldyBVaW50OEFycmF5KFsxLDBdKSkpOmUuc2FyUmF0aW8mJmUuc2FyUmF0aW8ubGVuZ3RoPjEmJmEucHVzaCh0LnBhc3AoZS5zYXJSYXRpbykpLHQuYm94LmFwcGx5KHQsW25dLmNvbmNhdChhKSl9fSx7a2V5OiJhdmNDIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcixuLGksYT1bXSxvPVtdO3JldHVybiBlLnNwcy5mb3JFYWNoKChmdW5jdGlvbih0KXtpPXQuYnl0ZUxlbmd0aCxhLnB1c2goaT4+PjgmMjU1KSxhLnB1c2goMjU1JmkpLGEucHVzaC5hcHBseShhLGsodCkpfSkpLGUucHBzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2k9dC5ieXRlTGVuZ3RoLG8ucHVzaChpPj4+OCYyNTUpLG8ucHVzaCgyNTUmaSksby5wdXNoLmFwcGx5KG8sayh0KSl9KSksdC5ib3godC50eXBlcy5hdmNDLG5ldyBVaW50OEFycmF5KChyPShuPVsxLGFbM10sYVs0XSxhWzVdLDI1NSwyMjR8ZS5zcHMubGVuZ3RoXSkuY29uY2F0LmFwcGx5KG4sYSkuY29uY2F0KFtlLnBwcy5sZW5ndGhdKSkuY29uY2F0LmFwcGx5KHIsbykpKX19LHtrZXk6Imh2Y0MiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUuaHZjQztpZihyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fHIgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiByO3ZhciBuLGk9ZS52cHMsYT1lLnNwcyxvPWUucHBzO2lmKHIpe3ZhciBzPXIuZ2VuZXJhbFByb2ZpbGVDb21wYXRpYmlsaXR5RmxhZ3MsdT1yLmdlbmVyYWxDb25zdHJhaW50SW5kaWNhdG9yRmxhZ3MsYz0oaS5sZW5ndGgmJjEpKyhhLmxlbmd0aCYmMSkrKG8ubGVuZ3RoJiYxKTtuPVsxLHIuZ2VuZXJhbFByb2ZpbGVTcGFjZTw8NnxyLmdlbmVyYWxUaWVyRmxhZzw8NXxyLmdlbmVyYWxQcm9maWxlSWRjLHM+Pj4yNCxzPj4+MTYscz4+Pjgscyx1WzBdLHVbMV0sdVsyXSx1WzNdLHVbNF0sdVs1XSxyLmdlbmVyYWxMZXZlbElkYywyNDAsMCwyNTIsMjUyfHIuY2hyb21hRm9ybWF0SWRjLDI0OHxyLmJpdERlcHRoTHVtYU1pbnVzOCwyNDh8ci5iaXREZXB0aENocm9tYU1pbnVzOCwwLDAsci5udW1UZW1wb3JhbExheWVyczw8M3xyLnRlbXBvcmFsSWROZXN0ZWQ8PDJ8MyxjXTt2YXIgZj1mdW5jdGlvbih0KXt2YXIgZTtuLnB1c2godC5sZW5ndGg+PjgsdC5sZW5ndGgpLChlPW4pLnB1c2guYXBwbHkoZSxrKHQpKX07aS5sZW5ndGgmJihuLnB1c2goMTYwLDAsaS5sZW5ndGgpLGkuZm9yRWFjaChmKSksYS5sZW5ndGgmJihuLnB1c2goMTYxLDAsYS5sZW5ndGgpLGEuZm9yRWFjaChmKSksby5sZW5ndGgmJihuLnB1c2goMTYyLDAsby5sZW5ndGgpLG8uZm9yRWFjaChmKSl9ZWxzZSBuPVsxLDEsOTYsMCwwLDAsMTQ0LDAsMCwwLDAsMCw5MywyNDAsMCwyNTIsMjUzLDI0OCwyNDgsMCwwLDE1LDMsMTYwLDAsMSwwLDI0LDY0LDEsMTIsMSwyNTUsMjU1LDEsOTYsMCwwLDMsMCwxNDQsMCwwLDMsMCwwLDMsMCw5MywxNTMsMTUyLDksMTYxLDAsMSwwLDQ1LDY2LDEsMSwxLDk2LDAsMCwzLDAsMTQ0LDAsMCwzLDAsMCwzLDAsOTMsMTYwLDIsMTI4LDEyOCw0NSwyMiw4OSwxNTMsMTY0LDE0Nyw0MywxNTQsMTI4LDEyOCwxMjgsMTMwLDAsMCwzLDAsMiwwLDAsMywwLDUwLDE2LDE2MiwwLDEsMCw3LDY4LDEsMTkzLDExNCwxODAsOTgsNjRdO3JldHVybiB0LmJveCh0LnR5cGVzLmh2Y0MsbmV3IFVpbnQ4QXJyYXkobikpfX0se2tleToicGFzcCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9dyhlLDIpLG49clswXSxpPXJbMV07cmV0dXJuIHQuYm94KHQudHlwZXMucGFzcCxuZXcgVWludDhBcnJheShbbj4+MjQsbj4+MTYmMjU1LG4+PjgmMjU1LDI1NSZuLGk+PjI0LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaV0pKX19LHtrZXk6Im1wNGEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLm1wNGEsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCxlLmNoYW5uZWxDb3VudCwwLDE2LDAsMCwwLDAsZS5zYW1wbGVSYXRlPj44JjI1NSwyNTUmZS5zYW1wbGVSYXRlLDAsMF0pLGUuY29uZmlnLmxlbmd0aD90LmVzZHMoZS5jb25maWcpOnZvaWQgMCl9fSx7a2V5OiJlc2RzIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmxlbmd0aDtyZXR1cm4gdC5ib3godC50eXBlcy5lc2RzLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDMsMjMrciwwLDAsMCw0LDE1K3IsNjQsMjEsMCw2LDAsMCwwLDIxOCwxOTIsMCwwLDIxOCwxOTIsNV0uY29uY2F0KFtyXSkuY29uY2F0KGUpLmNvbmNhdChbNiwxLDJdKSkpfX0se2tleToibXZleCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94LmFwcGx5KHQsW3QudHlwZXMubXZleF0uY29uY2F0KGsoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnRyZXgoZS5pZCl9KSkpKSl9fSx7a2V5OiJ0cmV4Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy50cmV4LG5ldyBVaW50OEFycmF5KFswLDAsMCwwLGU+PjI0LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZSwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwxXSkpfX0se2tleToidHJleDEiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLnRyZXgsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsZT4+MjQsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLDAsMCwwLDEsMCwwLDIsMCwwLDAsMCwwLDAsMSwwLDBdKSl9fSx7a2V5OiJ0cmV4MiIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94KHQudHlwZXMudHJleCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUsMCwwLDAsMSwwLDAsNCwwLDAsMCwwLDAsMiwwLDAsMF0pKX19LHtrZXk6Im1vb2YiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveC5hcHBseSh0LFt0LnR5cGVzLm1vb2YsdC5tZmhkKGVbMF0uc2FtcGxlcz9lWzBdLnNhbXBsZXNbMF0uZ29wSWQ6MCldLmNvbmNhdChrKGUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC50cmFmKGUpfSkpKSkpfX0se2tleToibWZoZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94KHQudHlwZXMubWZoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdKSl9fSx7a2V5OiJ0cmFmIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj10LnRmaGQoZS5pZCksbj10LnRmZHQoZSxlLmJhc2VNZWRpYURlY29kZVRpbWUpO2lmKGUudXNlRU1FJiYoZS5pc1ZpZGVvRW5jcnlwdGlvbnx8ZS5pc0F1ZGlvRW5jcnlwdGlvbikpe2lmKGUuaXNWaWRlb0VuY3J5cHRpb24pe2lmKDE9PT1lLmlkKXt2YXIgaT10LnNhaXooZSksYT10LnNhaW8oZSksbz10LnRydW4xKGUpLHM9dC5zZW5jKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnRyYWYscixuLGksYSxvLHMpfWlmKGUuaXNBdWRpb0VuY3J5cHRpb24pe3ZhciB1PXQuc2JncCgpLGM9dC5zYWl6KGUpLGY9dC5zYWlvKGUpLGw9dC5zZW5jKGUpLGQ9dC50cnVuMShlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbix1LGMsZixsLGQpfXZhciBoPXQuc2JncCgpLHA9dC50cnVuMShlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbixoLHApfWlmKDE9PT1lLmlkKXt2YXIgdj10LnRydW4xKGUpO3JldHVybiB0LmJveCh0LnR5cGVzLnRyYWYscixuLHYpfXZhciB5PXQuc2JncCgpLGc9dC5zYWl6KGUpLG09dC5zYWlvKGUpLGI9dC5zZW5jKGUpLHc9dC50cnVuMShlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbix5LGcsbSxiLHcpfXZhciBrPXQuc2R0cChlKTtyZXR1cm4gdC5ib3godC50eXBlcy50cmFmLHIsbixrLHQudHJ1bihlLnNhbXBsZXMsay5ieXRlTGVuZ3RoKzc2KSl9fSx7a2V5OiJzZHRwIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1uZXcgZ3A7cmV0dXJuIGUuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyLndyaXRlKG5ldyBVaW50OEFycmF5KDE9PT1lLmlkP1t0LmtleWZyYW1lPzMyOjE2XTpbMTZdKSl9KSksdC5ib3godC50eXBlcy5zZHRwLHRoaXMuZXh0ZW5zaW9uKDAsMCksci5idWZmZXIpfX0se2tleToidHJ1bjEiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPW5ldyBncCxuPWdwLndyaXRlVWludDMyKGUuc2FtcGxlcy5sZW5ndGgpLGk9bnVsbDtpZigxPT09ZS5pZCl7dmFyIGE9ZS52aWRlb1NlbmNMZW5ndGg7aT1ncC53cml0ZVVpbnQzMigxNiplLnNhbXBsZXMubGVuZ3RoK2ErMTQ5KSwhZS5pc1ZpZGVvRW5jcnlwdGlvbiYmZS5pc0F1ZGlvRW5jcnlwdGlvbiYmKGk9Z3Aud3JpdGVVaW50MzIoMTYqZS5zYW1wbGVzLmxlbmd0aCs5MikpfWVsc2V7dmFyIG89MTIqZS5zYW1wbGVzLmxlbmd0aCsxMjQ7ZS5pc0F1ZGlvRW5jcnlwdGlvbiYmKG89MTIqZS5zYW1wbGVzLmxlbmd0aCs4KmUuYXVkaW9TZW5jLmxlbmd0aCsxNzcpLGk9Z3Aud3JpdGVVaW50MzIobyl9cmV0dXJuIGUuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyLndyaXRlKGdwLndyaXRlVWludDMyKHQuZHVyYXRpb24pKSxyLndyaXRlKGdwLndyaXRlVWludDMyKHQuc2l6ZSkpLHIud3JpdGUoZ3Aud3JpdGVVaW50MzIodC5rZXlmcmFtZT8zMzU1NDQzMjo2NTUzNikpLDE9PT1lLmlkJiZyLndyaXRlKGdwLndyaXRlVWludDMyKHQuY3RzP3QuY3RzOjApKX0pKSx0LmJveCh0LnR5cGVzLnRydW4sdGhpcy5leHRlbnNpb24oMCxlLmZsYWdzKSxuLGksci5idWZmZXIpfX0se2tleToic2VuYyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IGdwLG49ZS5zYW1wbGVzLmxlbmd0aCxpPTE9PT1lLmlkPzE2OjgsYT0xPT09ZS5pZD8yOjAsbz1bXSxzPTA7cmV0dXJuIDE9PT1lLmlkPyhvPWUudmlkZW9TZW5jLHM9ZS52aWRlb1NlbmNMZW5ndGgpOm89ZS5hdWRpb1NlbmMscz1zfHxpKm4sci53cml0ZShncC53cml0ZVVpbnQzMigxNitzKSx0LnR5cGVzLnNlbmMsdGhpcy5leHRlbnNpb24oMCxhKSksci53cml0ZShncC53cml0ZVVpbnQzMihuKSksby5mb3JFYWNoKChmdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQuSW5pdGlhbGl6YXRpb25WZWN0b3IubGVuZ3RoO2UrKylyLndyaXRlKG5ldyBVaW50OEFycmF5KFt0LkluaXRpYWxpemF0aW9uVmVjdG9yW2VdXSkpO3Quc3Vic2FtcGxlcyYmdC5zdWJzYW1wbGVzLmxlbmd0aCYmKHIud3JpdGUoZ3Aud3JpdGVVaW50MTYodC5zdWJzYW1wbGVzLmxlbmd0aCkpLHQuc3Vic2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyLndyaXRlKGdwLndyaXRlVWludDE2KHQuQnl0ZXNPZkNsZWFyRGF0YSkpLHIud3JpdGUoZ3Aud3JpdGVVaW50MzIodC5CeXRlc09mUHJvdGVjdGVkRGF0YSkpfSkpKX0pKSxyLmJ1ZmZlcn19LHtrZXk6InNhaW8iLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPTEyKmUuc2FtcGxlcy5sZW5ndGgrMTQxOzI9PT1lLmlkJiZlLmlzQXVkaW9FbmNyeXB0aW9uJiYocj0xNDkpO3ZhciBuPW5ldyBVaW50OEFycmF5KFsxLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuc2FpbyxuKX19LHtrZXk6InNhaXoiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUuc2FtcGxlcy5sZW5ndGgsbj1uZXcgVWludDhBcnJheShbMCwwLDAsMCwxNixyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuc2FpeixuKX19LHtrZXk6InNiZ3AiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkoWzExNCwxMTEsMTA4LDEwOCwwLDAsMCwxLDAsMCwxLDI1LDAsMCwwLDFdKTtyZXR1cm4gdC5ib3godC50eXBlcy5zYmdwLHRoaXMuZXh0ZW5zaW9uKDAsMCksZSl9fSx7a2V5OiJleHRlbnNpb24iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBVaW50OEFycmF5KFt0LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV0pfX0se2tleToidGZoZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94KHQudHlwZXMudGZoZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCxlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdKSl9fSx7a2V5OiJ0ZmR0Iix2YWx1ZTpmdW5jdGlvbihlLHIpe3ZhciBuPU1hdGguZmxvb3Ioci8obXArMSkpLGk9TWF0aC5mbG9vcihyJShtcCsxKSk7cmV0dXJuIGUudXNlRU1FJiYoZS5pc1ZpZGVvRW5jcnlwdGlvbnx8ZS5pc0F1ZGlvRW5jcnlwdGlvbik/dC5ib3godC50eXBlcy50ZmR0LG5ldyBVaW50OEFycmF5KFswLDAsMCwwLGk+PjI0LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaV0pKTp0LmJveCh0LnR5cGVzLnRmZHQsbmV3IFVpbnQ4QXJyYXkoWzEsMCwwLDAsbj4+MjQsbj4+MTYmMjU1LG4+PjgmMjU1LDI1NSZuLGk+PjI0LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaV0pKX19LHtrZXk6InRydW4iLHZhbHVlOmZ1bmN0aW9uKGUscil7dmFyIG49ZS5sZW5ndGgsaT0xMisxNipuO3IrPTgraTt2YXIgYT1uZXcgVWludDhBcnJheShpKTthLnNldChbMCwwLDE1LDEsbj4+PjI0JjI1NSxuPj4+MTYmMjU1LG4+Pj44JjI1NSwyNTUmbixyPj4+MjQmMjU1LHI+Pj4xNiYyNTUscj4+PjgmMjU1LDI1NSZyXSwwKTtmb3IodmFyIG89MDtvPG47bysrKXt2YXIgcz1lW29dLHU9cy5kdXJhdGlvbixjPXMuc2l6ZSxmPXMuZmxhZyxsPXZvaWQgMD09PWY/e306ZixkPXMuY3RzLGg9dm9pZCAwPT09ZD8wOmQ7YS5zZXQoW3U+Pj4yNCYyNTUsdT4+PjE2JjI1NSx1Pj4+OCYyNTUsMjU1JnUsYz4+PjI0JjI1NSxjPj4+MTYmMjU1LGM+Pj44JjI1NSwyNTUmYyxsLmlzTGVhZGluZzw8MnwobnVsbD09PWwuZGVwZW5kc09ufHx2b2lkIDA9PT1sLmRlcGVuZHNPbj8xOmwuZGVwZW5kc09uKSxsLmlzRGVwZW5kZWRPbjw8NnxsLmhhc1JlZHVuZGFuY3k8PDR8bC5wYWRkaW5nVmFsdWU8PDF8KG51bGw9PT1sLmlzTm9uU3luY1NhbXBsZXx8dm9pZCAwPT09bC5pc05vblN5bmNTYW1wbGU/MTpsLmlzTm9uU3luY1NhbXBsZSksNjE0NDAmbC5kZWdyYWRhdGlvblByaW9yaXR5LDE1JmwuZGVncmFkYXRpb25Qcmlvcml0eSxoPj4+MjQmMjU1LGg+Pj4xNiYyNTUsaD4+PjgmMjU1LDI1NSZoXSwxMisxNipvKX1yZXR1cm4gdC5ib3godC50eXBlcy50cnVuLGEpfX0se2tleToibW9vdk1QNCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYm94LmFwcGx5KHQsW3QudHlwZXMubW9vdix0Lm12aGQoZVswXS5kdXJhdGlvbixlWzBdLnRpbWVzY2FsZSldLmNvbmNhdChrKGUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC50cmFja01QNChlKX0pKSkpKX19LHtrZXk6InRyYWNrTVA0Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy50cmFrLHQudGtoZChlLmlkLGUuZHVyYXRpb24sZS53aWR0aCxlLmhlaWdodCksdC5tZGlhTVA0KGUpKX19LHtrZXk6Im1kaWFNUDQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLm1kaWEsdC5tZGhkKGUuZHVyYXRpb24sZS50aW1lc2NhbGUpLHQuaGRscihlLnR5cGUpLHQubWluZk1QNChlKSl9fSx7a2V5OiJtaW5mTVA0Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5ib3godC50eXBlcy5taW5mLGUudHlwZT09PUJpP3QuVk1IRDp0LlNNSEQsdC5ESU5GLHQuc3RibE1QNChlKSl9fSx7a2V5OiJzdGJsTVA0Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmV4dCxuPVt0LnN0c2QoZSksdC5zdHRzKHIuc3R0cyksdC5zdHNjKHIuc3RzYyksdC5zdHN6KHIuc3RzeiksdC5zdGNvKHIuc3RjbyldO3JldHVybiByLnN0c3MubGVuZ3RoJiZuLnB1c2godC5zdHNzKHIuc3RzcykpLHIuY3R0cy5sZW5ndGgmJm4ucHVzaCh0LmN0dHMoci5jdHRzKSksdC5ib3guYXBwbHkodCxbdC50eXBlcy5zdGJsXS5jb25jYXQobikpfX0se2tleToic3R0cyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheSg4KnIpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LnZhbHVlLHI9dC5jb3VudDtuLnNldChbcj4+MjQscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLGU+PjI0LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV0saSksaSs9OH0pKSx0LmJveCh0LnR5cGVzLnN0dHMsdGgobmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAscj4+MjQscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSksbikpfX0se2tleToic3RzYyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheSgxMipyKSxpPTA7cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5maXJzdENodW5rLHI9dC5zYW1wbGVzUGVyQ2h1bmssYT10LnNhbXBsZURlc2NJbmRleDtuLnNldChbZT4+MjQsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLHI+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixhPj4yNCxhPj4xNiYyNTUsYT4+OCYyNTUsMjU1JmFdLGkpLGkrPTEyfSkpLHQuYm94KHQudHlwZXMuc3RzYyx0aChuZXcgVWludDhBcnJheShbMCwwLDAsMCxyPj4yNCxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnJdKSxuKSl9fSx7a2V5OiJzdHN6Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmxlbmd0aCxuPW5ldyBVaW50OEFycmF5KDQqciksaT0wO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKHQpe24uc2V0KFt0Pj4yNCx0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnRdLGkpLGkrPTR9KSksdC5ib3godC50eXBlcy5zdHN6LHRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDAscj4+MjQscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyXSksbikpfX0se2tleToic3RjbyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHI9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheSg0KnIpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnNldChbdD4+MjQsdD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0XSxpKSxpKz00fSkpLHQuYm94KHQudHlwZXMuc3Rjbyx0aChuZXcgVWludDhBcnJheShbMCwwLDAsMCxyPj4yNCxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnJdKSxuKSl9fSx7a2V5OiJzdHNzIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgcj1lLmxlbmd0aCxuPW5ldyBVaW50OEFycmF5KDQqciksaT0wO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKHQpe24uc2V0KFt0Pj4yNCx0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnRdLGkpLGkrPTR9KSksdC5ib3godC50eXBlcy5zdHNzLHRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLHI+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcl0pLG4pKX19LHtrZXk6ImN0dHMiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUubGVuZ3RoLG49bmV3IFVpbnQ4QXJyYXkoOCpyKSxpPTA7cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC52YWx1ZSxyPXQuY291bnQ7bi5zZXQoW3I+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixlPj4yNCxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdLGkpLGkrPTh9KSksdC5ib3godC50eXBlcy5jdHRzLHRoKG5ldyBVaW50OEFycmF5KFswLDAsMCwwLHI+PjI0LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcl0pLG4pKX19LHtrZXk6InN0eXAiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuYm94KHQudHlwZXMuc3R5cCxuZXcgVWludDhBcnJheShbMTA5LDExNSwxMDAsMTA0LDAsMCwwLDAsMTA5LDExNSwxMDAsMTA0LDEwOSwxMTUsMTA1LDEyMF0pKX19LHtrZXk6InNpZHgiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciByPWUudGltZXNjYWxlLG49ZS5zYW1wbGVzWzBdLmR1cmF0aW9uLGk9biplLnNhbXBsZXMubGVuZ3RoLGE9ZS5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCpuLG89ODtlLnNhbXBsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7bys9dC5zaXplfSkpO3ZhciBzPTA7aWYoMT09PWUuaWQpe3ZhciB1LGM9MDtlLnZpZGVvU2VuYyYmKHU9ZS52aWRlb1NlbmMpLDE9PT1lLmlkJiZ1LmZvckVhY2goKGZ1bmN0aW9uKHQpe2MrPTgsdC5zdWJzYW1wbGVzJiZ0LnN1YnNhbXBsZXMubGVuZ3RoJiYoYys9MixjKz02KnQuc3Vic2FtcGxlcy5sZW5ndGgpfSkpLGUudmlkZW9TZW5jTGVuZ3RoPWMscz1vKzE0MSsxNiplLnNhbXBsZXMubGVuZ3RoK2MsZS51c2VFTUUmJmUuaXNBdWRpb0VuY3J5cHRpb24mJiFlLmlzVmlkZW9FbmNyeXB0aW9uJiYocz1vKzE2KmUuc2FtcGxlcy5sZW5ndGgrODQpfWVsc2Ugcz1vKzExNisxMiplLnNhbXBsZXMubGVuZ3RoLGUudXNlRU1FJiZlLmlzQXVkaW9FbmNyeXB0aW9uJiYocz1vKzE2OSsxMiplLnNhbXBsZXMubGVuZ3RoKzgqZS5hdWRpb1NlbmMubGVuZ3RoKTt2YXIgZj1uZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwyNTUmZS5pZCxyPj4yNCYyNTUscj4+MTYmMjU1LHI+PjgmMjU1LDI1NSZyLGE+PjI0JjI1NSxhPj4xNiYyNTUsYT4+OCYyNTUsMjU1JmEsMCwwLDAsMCwwLDAsMCwxLDAscz4+MTYmMjU1LHM+PjgmMjU1LDI1NSZzLGk+PjI0JjI1NSxpPj4xNiYyNTUsaT4+OCYyNTUsMjU1JmksMTQ0LDAsMCwwXSk7cmV0dXJuIHQuYm94KHQudHlwZXMuc2lkeCxmKX19LHtrZXk6Im1kYXQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmJveCh0LnR5cGVzLm1kYXQsZSl9fV0pLHR9KCk7YihicCwidHlwZXMiLFsiYXZjMSIsImF2Y0MiLCJodmMxIiwiaHZjQyIsImRpbmYiLCJkcmVmIiwiZXNkcyIsImZ0eXAiLCJoZGxyIiwibWRhdCIsIm1kaGQiLCJtZGlhIiwibWZoZCIsIm1pbmYiLCJtb29mIiwibW9vdiIsIm1wNGEiLCJtdmV4IiwibXZoZCIsInBhc3AiLCJzdGJsIiwic3RjbyIsInN0c2MiLCJzdHNkIiwic3RzeiIsInN0dHMiLCJ0ZmR0IiwidGZoZCIsInRyYWYiLCJ0cmFrIiwidHJleCIsInRraGQiLCJ2bWhkIiwic21oZCIsImN0dHMiLCJzdHNzIiwic3R5cCIsInBzc2giLCJzaWR4Iiwic2JncCIsInNhaXoiLCJzYWlvIiwic2VuYyIsInRydW4iLCJlbmN2IiwiZW5jYSIsInNpbmYiLCJidHJ0IiwiZnJtYSIsInRlbmMiLCJzY2htIiwic2NoaSIsIm1laGQiLCJmaWVsIiwic2R0cCJdLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFtlXT1bZS5jaGFyQ29kZUF0KDApLGUuY2hhckNvZGVBdCgxKSxlLmNoYXJDb2RlQXQoMiksZS5jaGFyQ29kZUF0KDMpXSx0fSksT2JqZWN0LmNyZWF0ZShudWxsKSkpLGIoYnAsIkhETFJfVFlQRVMiLHt2aWRlbzpuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwLDExOCwxMDUsMTAwLDEwMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw4NiwxMDUsMTAwLDEwMSwxMTEsNzIsOTcsMTEwLDEwMCwxMDgsMTAxLDExNCwwXSksYXVkaW86bmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwxMTUsMTExLDExNywxMTAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODMsMTExLDExNywxMTAsMTAwLDcyLDk3LDExMCwxMDAsMTA4LDEwMSwxMTQsMF0pfSksYihicCwiRlRZUEFWQzEiLGJwLmJveChicC50eXBlcy5mdHlwLG5ldyBVaW50OEFycmF5KFsxMDUsMTE1LDExMSwxMDksMCwwLDAsMSwxMDUsMTE1LDExMSwxMDksOTcsMTE4LDk5LDQ5XSkpKSxiKGJwLCJGVFlQSEVWMSIsYnAuYm94KGJwLnR5cGVzLmZ0eXAsbmV3IFVpbnQ4QXJyYXkoWzEwNSwxMTUsMTExLDEwOSwwLDAsMCwxLDEwNSwxMTUsMTExLDEwOSwxMDQsMTAxLDExOCw0OV0pKSksYihicCwiRElORiIsYnAuYm94KGJwLnR5cGVzLmRpbmYsYnAuYm94KGJwLnR5cGVzLmRyZWYsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxMiwxMTcsMTE0LDEwOCwzMiwwLDAsMCwxXSkpKSksYihicCwiVk1IRCIsYnAuYm94KGJwLnR5cGVzLnZtaGQsbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDEsMCwwLDAsMCwwLDAsMCwwXSkpKSxiKGJwLCJTTUhEIixicC5ib3goYnAudHlwZXMuc21oZCxuZXcgVWludDhBcnJheShbMCwwLDAsMCwwLDAsMCwwXSkpKSxiKGJwLCJTdGJsVGFibGUiLG5ldyBVaW50OEFycmF5KFswLDAsMCwwLDAsMCwwLDBdKSksYihicCwiU1RUUyIsYnAuYm94KGJwLnR5cGVzLnN0dHMsYnAuU3RibFRhYmxlKSksYihicCwiU1RTQyIsYnAuYm94KGJwLnR5cGVzLnN0c2MsYnAuU3RibFRhYmxlKSksYihicCwiU1RTWiIsYnAuYm94KGJwLnR5cGVzLnN0c3osbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSkpKSxiKGJwLCJTVENPIixicC5ib3goYnAudHlwZXMuc3RjbyxicC5TdGJsVGFibGUpKTt2YXIgd3A9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscil7eSh0aGlzLHQpLHRoaXMubmFtZT1lfHwiIix0aGlzLl9wcmVmaXg9IlsiLmNvbmNhdCh0aGlzLm5hbWUsIl0iKSx0LmRpc2FibGVkPXJ9cmV0dXJuIG0odCxbe2tleToiZGVidWciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIXQuZGlzYWJsZWQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldOyhlPWNvbnNvbGUpLmRlYnVnLmFwcGx5KGUsW3RoaXMuX3ByZWZpeF0uY29uY2F0KG4pKX19fSx7a2V5OiJsb2ciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIXQuZGlzYWJsZWQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldOyhlPWNvbnNvbGUpLmxvZy5hcHBseShlLFt0aGlzLl9wcmVmaXhdLmNvbmNhdChuKSl9fX0se2tleToid2FybiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZTtpZighdC5kaXNhYmxlZCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkociksaT0wO2k8cjtpKyspbltpXT1hcmd1bWVudHNbaV07KGU9Y29uc29sZSkud2Fybi5hcHBseShlLFt0aGlzLl9wcmVmaXhdLmNvbmNhdChuKSl9fX0se2tleToiZXJyb3IiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIXQuZGlzYWJsZWQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldOyhlPWNvbnNvbGUpLmVycm9yLmFwcGx5KGUsW3RoaXMuX3ByZWZpeF0uY29uY2F0KG4pKX19fSx7a2V5OiJ0YWJsZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZTt0LmRpc2FibGVkfHwoY29uc29sZS5ncm91cCh0aGlzLl9wcmVmaXgpLChlPWNvbnNvbGUpLnRhYmxlLmFwcGx5KGUsYXJndW1lbnRzKSxjb25zb2xlLmdyb3VwRW5kKCkpfX1dLFt7a2V5OiJlbmFibGUiLHZhbHVlOmZ1bmN0aW9uKCl7dC5kaXNhYmxlZD0hMX19LHtrZXk6ImRpc2FibGUiLHZhbHVlOmZ1bmN0aW9uKCl7dC5kaXNhYmxlZD0hMH19XSksdH0oKTtiKHdwLCJkaXNhYmxlZCIsITApO2Zvcih2YXIga3A9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuKXt5KHRoaXMsdCksdGhpcy52aWRlb1RyYWNrPWUsdGhpcy5hdWRpb1RyYWNrPXI7dmFyIGk9L0Nocm9tZVwvKFteLl0rKS8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50KTt0aGlzLmZvcmNlRmlyc3RJRFI9aSYmTnVtYmVyKGlbMV0pPDUwLHRoaXMubG9nPW5ldyB3cCgiRk1QNFJlbXV4ZXIiLCFufHwhbi5vcGVuTG9nfHwhbi5vcGVuTG9nKX1yZXR1cm4gbSh0LFt7a2V5OiJyZW11eCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbixpLGE9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0mJmFyZ3VtZW50c1swXSxvPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxzPXRoaXMudmlkZW9UcmFjayx1PXRoaXMuYXVkaW9UcmFjayxjPXMuZXhpc3QoKSxmPXUuZXhpc3QoKSxsPVtdO3JldHVybiBhJiYobyYmby5pbml0TWVyZ2U/KGMmJmwucHVzaCh0aGlzLnZpZGVvVHJhY2spLGYmJmwucHVzaCh0aGlzLmF1ZGlvVHJhY2spLHI9YnAuaW5pdFNlZ21lbnQobCkpOihjJiYodD1icC5pbml0U2VnbWVudChbdGhpcy52aWRlb1RyYWNrXSkpLGYmJihlPWJwLmluaXRTZWdtZW50KFt0aGlzLmF1ZGlvVHJhY2tdKSkpKSxjJiZzLmhhc1NhbXBsZSgpJiYobj10aGlzLl9yZW11eFZpZGVvKCkpLGYmJnUuaGFzU2FtcGxlKCkmJihpPXRoaXMuX3JlbXV4QXVkaW8oKSkscy5zYW1wbGVzPVtdLHUuc2FtcGxlcz1bXSx7aW5pdFNlZ21lbnQ6cix2aWRlb0luaXRTZWdtZW50OnQsYXVkaW9Jbml0U2VnbWVudDplLHZpZGVvU2VnbWVudDpuLGF1ZGlvU2VnbWVudDppfX19LHtrZXk6Il9yZW11eFZpZGVvIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMudmlkZW9UcmFjazt0aGlzLmZvcmNlRmlyc3RJRFImJih0LnNhbXBsZXNbMF0uZmxhZz17ZGVwZW5kc09uOjIsaXNOb25TeW5jU2FtcGxlOjB9KTt2YXIgZT10LnNhbXBsZXMscj0wO2UuZm9yRWFjaCgoZnVuY3Rpb24odCl7cis9dC51bml0cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS5ieXRlTGVuZ3RofSksMCkscis9NCp0LnVuaXRzLmxlbmd0aH0pKTtmb3IodmFyIG4saT1uZXcgVWludDhBcnJheShyKSxhPW5ldyBEYXRhVmlldyhpLmJ1ZmZlciksbz1mdW5jdGlvbih0LHIsbyxzKXtzPWVbdF07dmFyIHU9MDtzLnVuaXRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Euc2V0VWludDMyKG8sdC5ieXRlTGVuZ3RoKSxvKz00LGkuc2V0KHQsbyksbys9dC5ieXRlTGVuZ3RoLHUrPTQrdC5ieXRlTGVuZ3RofSkpLHMuc2l6ZT11LGM9byxuPXN9LHM9MCx1PWUubGVuZ3RoLGM9MDtzPHU7cysrKW8ocywwLGMsbik7dmFyIGY9YnAubWRhdChpKTtyZXR1cm4gdC5pc1ZpZGVvRW5jcnlwdGlvbnx8dC5pc0F1ZGlvRW5jcnlwdGlvbj90aChicC5zdHlwKCksYnAuc2lkeCh0KSxicC5tb29mKFt0XSksZik6dGgoYnAubW9vZihbdF0pLGYpfX0se2tleToiX3JlbXV4QXVkaW8iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5hdWRpb1RyYWNrLGU9bmV3IFVpbnQ4QXJyYXkodC5zYW1wbGVzLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLnNpemV9KSwwKSk7dC5zYW1wbGVzLnJlZHVjZSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5zZXQoci5kYXRhLHQpLHQrci5zaXplfSksMCk7dmFyIHI9YnAubWRhdChlKTtyZXR1cm4gdC5pc1ZpZGVvRW5jcnlwdGlvbnx8dC5pc0F1ZGlvRW5jcnlwdGlvbj90aChicC5zdHlwKCksYnAuc2lkeCh0KSxicC5tb29mKFt0XSkscik6dGgoYnAubW9vZihbdF0pLHIpfX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy52aWRlb1RyYWNrLnJlc2V0KCksdGhpcy5hdWRpb1RyYWNrLnJlc2V0KCl9fV0pLHR9KCkseHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7bih0aGlzLHQpfXJldHVybiBhKHQsW3trZXk6Im1peEluIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbih0aGlzLHQpfX0se2tleToiY2xvbmUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHRoaXMuY29uc3RydWN0b3I7cmV0dXJuIE9iamVjdC5hc3NpZ24odCx0aGlzKSx0fX1dLFt7a2V5OiJjcmVhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGwodGhpcyxlKX19XSksdH0oKSxBcD1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7dmFyIHQsaT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06W10sYT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06NCppLmxlbmd0aDtuKHRoaXMsciksdD1lLmNhbGwodGhpcyk7dmFyIG89aTtpZihvIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJihvPW5ldyBVaW50OEFycmF5KG8pKSwobyBpbnN0YW5jZW9mIEludDhBcnJheXx8byBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxvIGluc3RhbmNlb2YgSW50MTZBcnJheXx8byBpbnN0YW5jZW9mIFVpbnQxNkFycmF5fHxvIGluc3RhbmNlb2YgSW50MzJBcnJheXx8byBpbnN0YW5jZW9mIFVpbnQzMkFycmF5fHxvIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5fHxvIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KSYmKG89bmV3IFVpbnQ4QXJyYXkoby5idWZmZXIsby5ieXRlT2Zmc2V0LG8uYnl0ZUxlbmd0aCkpLG8gaW5zdGFuY2VvZiBVaW50OEFycmF5KXtmb3IodmFyIHM9by5ieXRlTGVuZ3RoLHU9W10sYz0wO2M8cztjKz0xKXVbYz4+PjJdfD1vW2NdPDwyNC1jJTQqODt0LndvcmRzPXUsdC5zaWdCeXRlcz1zfWVsc2UgdC53b3Jkcz1pLHQuc2lnQnl0ZXM9YTtyZXR1cm4gdH1yZXR1cm4gYShyLFt7a2V5OiJ0b1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06U3A7cmV0dXJuIHQuc3RyaW5naWZ5KHRoaXMpfX0se2tleToiY29uY2F0Iix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLndvcmRzLHI9dC53b3JkcyxuPXRoaXMuc2lnQnl0ZXMsaT10LnNpZ0J5dGVzO2lmKHRoaXMuY2xhbXAoKSxuJTQpZm9yKHZhciBhPTA7YTxpO2ErPTEpe3ZhciBvPXJbYT4+PjJdPj4+MjQtYSU0KjgmMjU1O2VbbithPj4+Ml18PW88PDI0LShuK2EpJTQqOH1lbHNlIGZvcih2YXIgcz0wO3M8aTtzKz00KWVbbitzPj4+Ml09cltzPj4+Ml07cmV0dXJuIHRoaXMuc2lnQnl0ZXMrPWksdGhpc319LHtrZXk6ImNsYW1wIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHMsZT10aGlzLnNpZ0J5dGVzO3RbZT4+PjJdJj00Mjk0OTY3Mjk1PDwzMi1lJTQqOCx0Lmxlbmd0aD1NYXRoLmNlaWwoZS80KX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXYodShyLnByb3RvdHlwZSksImNsb25lIix0aGlzKS5jYWxsKHRoaXMpO3JldHVybiB0LndvcmRzPXRoaXMud29yZHMuc2xpY2UoMCksdH19XSxbe2tleToicmFuZG9tIix2YWx1ZTpmdW5jdGlvbih0KXtmb3IodmFyIGUsbj1bXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj05ODc2NTQzMjEsbj00Mjk0OTY3Mjk1O3JldHVybiBmdW5jdGlvbigpe3ZhciB0PSgocj0zNjk2OSooNjU1MzUmcikrKHI+PjE2KSZuKTw8MTYpKyhlPTE4ZTMqKDY1NTM1JmUpKyhlPj4xNikmbikmbjtyZXR1cm4gdC89NDI5NDk2NzI5NiwodCs9LjUpKihNYXRoLnJhbmRvbSgpPi41PzE6LTEpfX0sYT0wO2E8dDthKz00KXt2YXIgbz1pKDQyOTQ5NjcyOTYqKGV8fE1hdGgucmFuZG9tKCkpKTtlPTk4NzY1NDA3MSpvKCksbi5wdXNoKDQyOTQ5NjcyOTYqbygpfDApfXJldHVybiBuZXcgcihuLHQpfX1dKSxyfSh4cCksU3A9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC53b3JkcyxyPXQuc2lnQnl0ZXMsbj1bXSxpPTA7aTxyO2krPTEpe3ZhciBhPWVbaT4+PjJdPj4+MjQtaSU0KjgmMjU1O24ucHVzaCgoYT4+PjQpLnRvU3RyaW5nKDE2KSksbi5wdXNoKCgxNSZhKS50b1N0cmluZygxNikpfXJldHVybiBuLmpvaW4oIiIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgscj1bXSxuPTA7bjxlO24rPTIpcltuPj4+M118PXBhcnNlSW50KHQuc3Vic3RyKG4sMiksMTYpPDwyNC1uJTgqNDtyZXR1cm4gbmV3IEFwKHIsZS8yKX19LF9wPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPVtdLG49MDtuPGU7bis9MSlyW24+Pj4yXXw9KDI1NSZ0LmNoYXJDb2RlQXQobikpPDwyNC1uJTQqODtyZXR1cm4gbmV3IEFwKHIsZSl9LFRwPWZ1bmN0aW9uKHQpe3JldHVybiBfcCh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodCkpKX0sRXA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3ZhciB0O3JldHVybiBuKHRoaXMsciksKHQ9ZS5jYWxsKHRoaXMpKS5fbWluQnVmZmVyU2l6ZT0wLHR9cmV0dXJuIGEocixbe2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fZGF0YT1uZXcgQXAsdGhpcy5fbkRhdGFCeXRlcz0wfX0se2tleToiX2FwcGVuZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dDsic3RyaW5nIj09dHlwZW9mIGUmJihlPVRwKGUpKSx0aGlzLl9kYXRhLmNvbmNhdChlKSx0aGlzLl9uRGF0YUJ5dGVzKz1lLnNpZ0J5dGVzfX0se2tleToiX3Byb2Nlc3MiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5fZGF0YSxuPXRoaXMuYmxvY2tTaXplLGk9ci53b3JkcyxhPXIuc2lnQnl0ZXMsbz1hLyg0Km4pLHM9KG89dD9NYXRoLmNlaWwobyk6TWF0aC5tYXgoKDB8byktdGhpcy5fbWluQnVmZmVyU2l6ZSwwKSkqbix1PU1hdGgubWluKDQqcyxhKTtpZihzKXtmb3IodmFyIGM9MDtjPHM7Yys9bil0aGlzLl9kb1Byb2Nlc3NCbG9jayhpLGMpO2U9aS5zcGxpY2UoMCxzKSxyLnNpZ0J5dGVzLT11fXJldHVybiBuZXcgQXAoZSx1KX19LHtrZXk6ImNsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXYodShyLnByb3RvdHlwZSksImNsb25lIix0aGlzKS5jYWxsKHRoaXMpO3JldHVybiB0Ll9kYXRhPXRoaXMuX2RhdGEuY2xvbmUoKSx0fX1dKSxyfSh4cCksSXA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcih0KXt2YXIgaTtyZXR1cm4gbih0aGlzLHIpLChpPWUuY2FsbCh0aGlzKSkuYmxvY2tTaXplPTE2LGkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IHhwLHQpLGkucmVzZXQoKSxpfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3YodShyLnByb3RvdHlwZSksInJlc2V0Iix0aGlzKS5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX19LHtrZXk6InVwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2FwcGVuZCh0KSx0aGlzLl9wcm9jZXNzKCksdGhpc319LHtrZXk6ImZpbmFsaXplIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdGhpcy5fYXBwZW5kKHQpLHRoaXMuX2RvRmluYWxpemUoKX19XSxbe2tleToiX2NyZWF0ZUhlbHBlciIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7cmV0dXJuIG5ldyB0KHIpLmZpbmFsaXplKGUpfX19LHtrZXk6Il9jcmVhdGVIbWFjSGVscGVyIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyZXR1cm4gbmV3IE9wKHQscikuZmluYWxpemUoZSl9fX1dKSxyfShFcCksT3A9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcih0LGkpe3ZhciBhO24odGhpcyxyKSxhPWUuY2FsbCh0aGlzKTt2YXIgbz1uZXcgdDthLl9oYXNoZXI9bzt2YXIgcz1pOyJzdHJpbmciPT10eXBlb2YgcyYmKHM9VHAocykpO3ZhciB1PW8uYmxvY2tTaXplLGM9NCp1O3Muc2lnQnl0ZXM+YyYmKHM9by5maW5hbGl6ZShpKSkscy5jbGFtcCgpO3ZhciBmPXMuY2xvbmUoKTthLl9vS2V5PWY7dmFyIGw9cy5jbG9uZSgpO2EuX2lLZXk9bDtmb3IodmFyIGQ9Zi53b3JkcyxoPWwud29yZHMscD0wO3A8dTtwKz0xKWRbcF1ePTE1NDk1NTY4MjgsaFtwXV49OTA5NTIyNDg2O3JldHVybiBmLnNpZ0J5dGVzPWMsbC5zaWdCeXRlcz1jLGEucmVzZXQoKSxhfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2hhc2hlcjt0LnJlc2V0KCksdC51cGRhdGUodGhpcy5faUtleSl9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKHQpLHRoaXN9fSx7a2V5OiJmaW5hbGl6ZSIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faGFzaGVyLHI9ZS5maW5hbGl6ZSh0KTtyZXR1cm4gZS5yZXNldCgpLGUuZmluYWxpemUodGhpcy5fb0tleS5jbG9uZSgpLmNvbmNhdChyKSl9fV0pLHJ9KHhwKSxNcD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe3ZhciBlPXQud29yZHMscj10LnNpZ0J5dGVzLG49dGhpcy5fbWFwO3QuY2xhbXAoKTtmb3IodmFyIGk9W10sYT0wO2E8cjthKz0zKWZvcih2YXIgbz0oZVthPj4+Ml0+Pj4yNC1hJTQqOCYyNTUpPDwxNnwoZVthKzE+Pj4yXT4+PjI0LShhKzEpJTQqOCYyNTUpPDw4fGVbYSsyPj4+Ml0+Pj4yNC0oYSsyKSU0KjgmMjU1LHM9MDtzPDQmJmErLjc1KnM8cjtzKz0xKWkucHVzaChuLmNoYXJBdChvPj4+NiooMy1zKSY2MykpO3ZhciB1PW4uY2hhckF0KDY0KTtpZih1KWZvcig7aS5sZW5ndGglNDspaS5wdXNoKHUpO3JldHVybiBpLmpvaW4oIiIpfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPXRoaXMuX21hcCxuPXRoaXMuX3JldmVyc2VNYXA7aWYoIW4pe3RoaXMuX3JldmVyc2VNYXA9W10sbj10aGlzLl9yZXZlcnNlTWFwO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSs9MSluW3IuY2hhckNvZGVBdChpKV09aX12YXIgYT1yLmNoYXJBdCg2NCk7aWYoYSl7dmFyIG89dC5pbmRleE9mKGEpOy0xIT09byYmKGU9byl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49W10saT0wLGE9MDthPGU7YSs9MSlpZihhJTQpe3ZhciBvPXJbdC5jaGFyQ29kZUF0KGEtMSldPDxhJTQqMnxyW3QuY2hhckNvZGVBdChhKV0+Pj42LWElNCoyO25baT4+PjJdfD1vPDwyNC1pJTQqOCxpKz0xfXJldHVybiBBcC5jcmVhdGUobixpKX0odCxlLG4pfSxfbWFwOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSJ9LENwPVtdLFJwPTA7UnA8NjQ7UnArPTEpQ3BbUnBdPTQyOTQ5NjcyOTYqTWF0aC5hYnMoTWF0aC5zaW4oUnArMSkpfDA7dmFyIEJwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKGUmcnx+ZSZuKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LFBwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKGUmbnxyJn5uKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LFVwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKGVecl5uKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LERwPWZ1bmN0aW9uKHQsZSxyLG4saSxhLG8pe3ZhciBzPXQrKHJeKGV8fm4pKStpK287cmV0dXJuKHM8PGF8cz4+PjMyLWEpK2V9LHpwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gbih0aGlzLHIpLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBhKHIsW3trZXk6Il9kb1Jlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IEFwKFsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzhdKX19LHtrZXk6Il9kb1Byb2Nlc3NCbG9jayIsdmFsdWU6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dCxuPTA7bjwxNjtuKz0xKXt2YXIgaT1lK24sYT10W2ldO3JbaV09MTY3MTE5MzUmKGE8PDh8YT4+PjI0KXw0Mjc4MjU1MzYwJihhPDwyNHxhPj4+OCl9dmFyIG89dGhpcy5faGFzaC53b3JkcyxzPXJbZSswXSx1PXJbZSsxXSxjPXJbZSsyXSxmPXJbZSszXSxsPXJbZSs0XSxkPXJbZSs1XSxoPXJbZSs2XSxwPXJbZSs3XSx2PXJbZSs4XSx5PXJbZSs5XSxnPXJbZSsxMF0sbT1yW2UrMTFdLGI9cltlKzEyXSx3PXJbZSsxM10saz1yW2UrMTRdLHg9cltlKzE1XSxBPW9bMF0sUz1vWzFdLF89b1syXSxUPW9bM107QT1CcChBLFMsXyxULHMsNyxDcFswXSksVD1CcChULEEsUyxfLHUsMTIsQ3BbMV0pLF89QnAoXyxULEEsUyxjLDE3LENwWzJdKSxTPUJwKFMsXyxULEEsZiwyMixDcFszXSksQT1CcChBLFMsXyxULGwsNyxDcFs0XSksVD1CcChULEEsUyxfLGQsMTIsQ3BbNV0pLF89QnAoXyxULEEsUyxoLDE3LENwWzZdKSxTPUJwKFMsXyxULEEscCwyMixDcFs3XSksQT1CcChBLFMsXyxULHYsNyxDcFs4XSksVD1CcChULEEsUyxfLHksMTIsQ3BbOV0pLF89QnAoXyxULEEsUyxnLDE3LENwWzEwXSksUz1CcChTLF8sVCxBLG0sMjIsQ3BbMTFdKSxBPUJwKEEsUyxfLFQsYiw3LENwWzEyXSksVD1CcChULEEsUyxfLHcsMTIsQ3BbMTNdKSxfPUJwKF8sVCxBLFMsaywxNyxDcFsxNF0pLFM9QnAoUyxfLFQsQSx4LDIyLENwWzE1XSksQT1QcChBLFMsXyxULHUsNSxDcFsxNl0pLFQ9UHAoVCxBLFMsXyxoLDksQ3BbMTddKSxfPVBwKF8sVCxBLFMsbSwxNCxDcFsxOF0pLFM9UHAoUyxfLFQsQSxzLDIwLENwWzE5XSksQT1QcChBLFMsXyxULGQsNSxDcFsyMF0pLFQ9UHAoVCxBLFMsXyxnLDksQ3BbMjFdKSxfPVBwKF8sVCxBLFMseCwxNCxDcFsyMl0pLFM9UHAoUyxfLFQsQSxsLDIwLENwWzIzXSksQT1QcChBLFMsXyxULHksNSxDcFsyNF0pLFQ9UHAoVCxBLFMsXyxrLDksQ3BbMjVdKSxfPVBwKF8sVCxBLFMsZiwxNCxDcFsyNl0pLFM9UHAoUyxfLFQsQSx2LDIwLENwWzI3XSksQT1QcChBLFMsXyxULHcsNSxDcFsyOF0pLFQ9UHAoVCxBLFMsXyxjLDksQ3BbMjldKSxfPVBwKF8sVCxBLFMscCwxNCxDcFszMF0pLFM9UHAoUyxfLFQsQSxiLDIwLENwWzMxXSksQT1VcChBLFMsXyxULGQsNCxDcFszMl0pLFQ9VXAoVCxBLFMsXyx2LDExLENwWzMzXSksXz1VcChfLFQsQSxTLG0sMTYsQ3BbMzRdKSxTPVVwKFMsXyxULEEsaywyMyxDcFszNV0pLEE9VXAoQSxTLF8sVCx1LDQsQ3BbMzZdKSxUPVVwKFQsQSxTLF8sbCwxMSxDcFszN10pLF89VXAoXyxULEEsUyxwLDE2LENwWzM4XSksUz1VcChTLF8sVCxBLGcsMjMsQ3BbMzldKSxBPVVwKEEsUyxfLFQsdyw0LENwWzQwXSksVD1VcChULEEsUyxfLHMsMTEsQ3BbNDFdKSxfPVVwKF8sVCxBLFMsZiwxNixDcFs0Ml0pLFM9VXAoUyxfLFQsQSxoLDIzLENwWzQzXSksQT1VcChBLFMsXyxULHksNCxDcFs0NF0pLFQ9VXAoVCxBLFMsXyxiLDExLENwWzQ1XSksXz1VcChfLFQsQSxTLHgsMTYsQ3BbNDZdKSxTPVVwKFMsXyxULEEsYywyMyxDcFs0N10pLEE9RHAoQSxTLF8sVCxzLDYsQ3BbNDhdKSxUPURwKFQsQSxTLF8scCwxMCxDcFs0OV0pLF89RHAoXyxULEEsUyxrLDE1LENwWzUwXSksUz1EcChTLF8sVCxBLGQsMjEsQ3BbNTFdKSxBPURwKEEsUyxfLFQsYiw2LENwWzUyXSksVD1EcChULEEsUyxfLGYsMTAsQ3BbNTNdKSxfPURwKF8sVCxBLFMsZywxNSxDcFs1NF0pLFM9RHAoUyxfLFQsQSx1LDIxLENwWzU1XSksQT1EcChBLFMsXyxULHYsNixDcFs1Nl0pLFQ9RHAoVCxBLFMsXyx4LDEwLENwWzU3XSksXz1EcChfLFQsQSxTLGgsMTUsQ3BbNThdKSxTPURwKFMsXyxULEEsdywyMSxDcFs1OV0pLEE9RHAoQSxTLF8sVCxsLDYsQ3BbNjBdKSxUPURwKFQsQSxTLF8sbSwxMCxDcFs2MV0pLF89RHAoXyxULEEsUyxjLDE1LENwWzYyXSksUz1EcChTLF8sVCxBLHksMjEsQ3BbNjNdKSxvWzBdPW9bMF0rQXwwLG9bMV09b1sxXStTfDAsb1syXT1vWzJdK198MCxvWzNdPW9bM10rVHwwfX0se2tleToiX2RvRmluYWxpemUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxlPXQud29yZHMscj04KnRoaXMuX25EYXRhQnl0ZXMsbj04KnQuc2lnQnl0ZXM7ZVtuPj4+NV18PTEyODw8MjQtbiUzMjt2YXIgaT1NYXRoLmZsb29yKHIvNDI5NDk2NzI5NiksYT1yO2VbMTUrKG4rNjQ+Pj45PDw0KV09MTY3MTE5MzUmKGk8PDh8aT4+PjI0KXw0Mjc4MjU1MzYwJihpPDwyNHxpPj4+OCksZVsxNCsobis2ND4+Pjk8PDQpXT0xNjcxMTkzNSYoYTw8OHxhPj4+MjQpfDQyNzgyNTUzNjAmKGE8PDI0fGE+Pj44KSx0LnNpZ0J5dGVzPTQqKGUubGVuZ3RoKzEpLHRoaXMuX3Byb2Nlc3MoKTtmb3IodmFyIG89dGhpcy5faGFzaCxzPW8ud29yZHMsdT0wO3U8NDt1Kz0xKXt2YXIgYz1zW3VdO3NbdV09MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCl9cmV0dXJuIG99fSx7a2V5OiJjbG9uZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD12KHUoci5wcm90b3R5cGUpLCJjbG9uZSIsdGhpcykuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19XSkscn0oSXApO0lwLl9jcmVhdGVIZWxwZXIoenApLElwLl9jcmVhdGVIbWFjSGVscGVyKHpwKTt2YXIganA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcih0KXt2YXIgaTtyZXR1cm4gbih0aGlzLHIpLChpPWUuY2FsbCh0aGlzKSkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IHhwLHtrZXlTaXplOjQsaGFzaGVyOnpwLGl0ZXJhdGlvbnM6MX0sdCksaX1yZXR1cm4gYShyLFt7a2V5OiJjb21wdXRlIix2YWx1ZTpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuPXRoaXMuY2ZnLGk9bi5oYXNoZXIuY3JlYXRlKCksYT1BcC5jcmVhdGUoKSxvPWEud29yZHMscz1uLmtleVNpemUsdT1uLml0ZXJhdGlvbnM7by5sZW5ndGg8czspe3ImJmkudXBkYXRlKHIpLHI9aS51cGRhdGUodCkuZmluYWxpemUoZSksaS5yZXNldCgpO2Zvcih2YXIgYz0xO2M8dTtjKz0xKXI9aS5maW5hbGl6ZShyKSxpLnJlc2V0KCk7YS5jb25jYXQocil9cmV0dXJuIGEuc2lnQnl0ZXM9NCpzLGF9fV0pLHJ9KHhwKSxMcD1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKHQsaSxhKXt2YXIgbztyZXR1cm4gbih0aGlzLHIpLChvPWUuY2FsbCh0aGlzKSkuY2ZnPU9iamVjdC5hc3NpZ24obmV3IHhwLGEpLG8uX3hmb3JtTW9kZT10LG8uX2tleT1pLG8ucmVzZXQoKSxvfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3YodShyLnByb3RvdHlwZSksInJlc2V0Iix0aGlzKS5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX19LHtrZXk6InByb2Nlc3MiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hcHBlbmQodCksdGhpcy5fcHJvY2VzcygpfX0se2tleToiZmluYWxpemUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzLl9hcHBlbmQodCksdGhpcy5fZG9GaW5hbGl6ZSgpfX1dLFt7a2V5OiJjcmVhdGVFbmNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0VOQ19YRk9STV9NT0RFLHQsZSl9fSx7a2V5OiJjcmVhdGVEZWNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0RFQ19YRk9STV9NT0RFLHQsZSl9fSx7a2V5OiJfY3JlYXRlSGVscGVyIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/WHA6R3B9O3JldHVybntlbmNyeXB0OmZ1bmN0aW9uKHIsbixpKXtyZXR1cm4gZShuKS5lbmNyeXB0KHQscixuLGkpfSxkZWNyeXB0OmZ1bmN0aW9uKHIsbixpKXtyZXR1cm4gZShuKS5kZWNyeXB0KHQscixuLGkpfX19fV0pLHJ9KEVwKTtMcC5fRU5DX1hGT1JNX01PREU9MSxMcC5fREVDX1hGT1JNX01PREU9MixMcC5rZXlTaXplPTQsTHAuaXZTaXplPTQ7dmFyIEZwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIodCxpKXt2YXIgYTtyZXR1cm4gbih0aGlzLHIpLChhPWUuY2FsbCh0aGlzKSkuX2NpcGhlcj10LGEuX2l2PWksYX1yZXR1cm4gYShyLG51bGwsW3trZXk6ImNyZWF0ZUVuY3J5cHRvciIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5FbmNyeXB0b3IuY3JlYXRlKHQsZSl9fSx7a2V5OiJjcmVhdGVEZWNyeXB0b3IiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZSh0LGUpfX1dKSxyfSh4cCk7ZnVuY3Rpb24gTnAodCxlLHIpe3ZhciBuLGk9dCxhPXRoaXMuX2l2O2E/KG49YSx0aGlzLl9pdj12b2lkIDApOm49dGhpcy5fcHJldkJsb2NrO2Zvcih2YXIgbz0wO288cjtvKz0xKWlbZStvXV49bltvXX12YXIgVnA9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocil9KEZwKTtWcC5FbmNyeXB0b3I9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocixbe2tleToicHJvY2Vzc0Jsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2NpcGhlcixuPXIuYmxvY2tTaXplO05wLmNhbGwodGhpcyx0LGUsbiksci5lbmNyeXB0QmxvY2sodCxlKSx0aGlzLl9wcmV2QmxvY2s9dC5zbGljZShlLGUrbil9fV0pLHJ9KFZwKSxWcC5EZWNyeXB0b3I9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocixbe2tleToicHJvY2Vzc0Jsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2NpcGhlcixuPXIuYmxvY2tTaXplLGk9dC5zbGljZShlLGUrbik7ci5kZWNyeXB0QmxvY2sodCxlKSxOcC5jYWxsKHRoaXMsdCxlLG4pLHRoaXMuX3ByZXZCbG9jaz1pfX1dKSxyfShWcCk7dmFyIEhwPXtwYWQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9NCplLG49ci10LnNpZ0J5dGVzJXIsaT1uPDwyNHxuPDwxNnxuPDw4fG4sYT1bXSxvPTA7bzxuO28rPTQpYS5wdXNoKGkpO3ZhciBzPUFwLmNyZWF0ZShhLG4pO3QuY29uY2F0KHMpfSx1bnBhZDpmdW5jdGlvbih0KXt2YXIgZT10LHI9MjU1JmUud29yZHNbZS5zaWdCeXRlcy0xPj4+Ml07ZS5zaWdCeXRlcy09cn19LFlwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIodCxpLGEpe3ZhciBvO3JldHVybiBuKHRoaXMsciksKG89ZS5jYWxsKHRoaXMsdCxpLE9iamVjdC5hc3NpZ24oe21vZGU6VnAscGFkZGluZzpIcH0sYSkpKS5ibG9ja1NpemU9NCxvfXJldHVybiBhKHIsW3trZXk6InJlc2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0O3YodShyLnByb3RvdHlwZSksInJlc2V0Iix0aGlzKS5jYWxsKHRoaXMpO3ZhciBlPXRoaXMuY2ZnLG49ZS5pdixpPWUubW9kZTt0aGlzLl94Zm9ybU1vZGU9PT10aGlzLmNvbnN0cnVjdG9yLl9FTkNfWEZPUk1fTU9ERT90PWkuY3JlYXRlRW5jcnlwdG9yOih0PWkuY3JlYXRlRGVjcnlwdG9yLHRoaXMuX21pbkJ1ZmZlclNpemU9MSksdGhpcy5fbW9kZT10LmNhbGwoaSx0aGlzLG4mJm4ud29yZHMpLHRoaXMuX21vZGUuX19jcmVhdG9yPXR9fSx7a2V5OiJfZG9Qcm9jZXNzQmxvY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dGhpcy5fbW9kZS5wcm9jZXNzQmxvY2sodCxlKX19LHtrZXk6Il9kb0ZpbmFsaXplIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5jZmcucGFkZGluZztyZXR1cm4gdGhpcy5feGZvcm1Nb2RlPT09dGhpcy5jb25zdHJ1Y3Rvci5fRU5DX1hGT1JNX01PREU/KGUucGFkKHRoaXMuX2RhdGEsdGhpcy5ibG9ja1NpemUpLHQ9dGhpcy5fcHJvY2VzcyghMCkpOih0PXRoaXMuX3Byb2Nlc3MoITApLGUudW5wYWQodCkpLHR9fV0pLHJ9KExwKSxLcD1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKHQpe3ZhciBpO3JldHVybiBuKHRoaXMsciksKGk9ZS5jYWxsKHRoaXMpKS5taXhJbih0KSxpfXJldHVybiBhKHIsW3trZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4odHx8dGhpcy5mb3JtYXR0ZXIpLnN0cmluZ2lmeSh0aGlzKX19XSkscn0oeHApLFdwPXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7dmFyIGU9dC5jaXBoZXJ0ZXh0LHI9dC5zYWx0O3JldHVybihyP0FwLmNyZWF0ZShbMTM5ODg5MzY4NCwxNzAxMDc2ODMxXSkuY29uY2F0KHIpLmNvbmNhdChlKTplKS50b1N0cmluZyhNcCl9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlLHI9TXAucGFyc2UodCksbj1yLndvcmRzO3JldHVybiAxMzk4ODkzNjg0PT09blswXSYmMTcwMTA3NjgzMT09PW5bMV0mJihlPUFwLmNyZWF0ZShuLnNsaWNlKDIsNCkpLG4uc3BsaWNlKDAsNCksci5zaWdCeXRlcy09MTYpLEtwLmNyZWF0ZSh7Y2lwaGVydGV4dDpyLHNhbHQ6ZX0pfX0sR3A9ZnVuY3Rpb24odCl7cyhyLHQpO3ZhciBlPWgocik7ZnVuY3Rpb24gcigpe3JldHVybiBuKHRoaXMsciksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGEocixudWxsLFt7a2V5OiJlbmNyeXB0Iix2YWx1ZTpmdW5jdGlvbih0LGUscixuKXt2YXIgaT1PYmplY3QuYXNzaWduKG5ldyB4cCx0aGlzLmNmZyxuKSxhPXQuY3JlYXRlRW5jcnlwdG9yKHIsaSksbz1hLmZpbmFsaXplKGUpLHM9YS5jZmc7cmV0dXJuIEtwLmNyZWF0ZSh7Y2lwaGVydGV4dDpvLGtleTpyLGl2OnMuaXYsYWxnb3JpdGhtOnQsbW9kZTpzLm1vZGUscGFkZGluZzpzLnBhZGRpbmcsYmxvY2tTaXplOmEuYmxvY2tTaXplLGZvcm1hdHRlcjppLmZvcm1hdH0pfX0se2tleToiZGVjcnlwdCIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9ZSxhPU9iamVjdC5hc3NpZ24obmV3IHhwLHRoaXMuY2ZnLG4pO3JldHVybiBpPXRoaXMuX3BhcnNlKGksYS5mb3JtYXQpLHQuY3JlYXRlRGVjcnlwdG9yKHIsYSkuZmluYWxpemUoaS5jaXBoZXJ0ZXh0KX19LHtrZXk6Il9wYXJzZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZS5wYXJzZSh0LHRoaXMpOnR9fV0pLHJ9KHhwKTtHcC5jZmc9T2JqZWN0LmFzc2lnbihuZXcgeHAse2Zvcm1hdDpXcH0pO3ZhciBxcD17ZXhlY3V0ZTpmdW5jdGlvbih0LGUscixuKXt2YXIgaT1uO2l8fChpPUFwLnJhbmRvbSg4KSk7dmFyIGE9anAuY3JlYXRlKHtrZXlTaXplOmUrcn0pLmNvbXB1dGUodCxpKSxvPUFwLmNyZWF0ZShhLndvcmRzLnNsaWNlKGUpLDQqcik7cmV0dXJuIGEuc2lnQnl0ZXM9NCplLEtwLmNyZWF0ZSh7a2V5OmEsaXY6byxzYWx0Oml9KX19LFhwPWZ1bmN0aW9uKHQpe3Mocix0KTt2YXIgZT1oKHIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gbih0aGlzLHIpLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBhKHIsbnVsbCxbe2tleToiZW5jcnlwdCIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9T2JqZWN0LmFzc2lnbihuZXcgeHAsdGhpcy5jZmcsbiksYT1pLmtkZi5leGVjdXRlKHIsdC5rZXlTaXplLHQuaXZTaXplKTtpLml2PWEuaXY7dmFyIG89R3AuZW5jcnlwdC5jYWxsKHRoaXMsdCxlLGEua2V5LGkpO3JldHVybiBvLm1peEluKGEpLG99fSx7a2V5OiJkZWNyeXB0Iix2YWx1ZTpmdW5jdGlvbih0LGUscixuKXt2YXIgaT1lLGE9T2JqZWN0LmFzc2lnbihuZXcgeHAsdGhpcy5jZmcsbik7aT10aGlzLl9wYXJzZShpLGEuZm9ybWF0KTt2YXIgbz1hLmtkZi5leGVjdXRlKHIsdC5rZXlTaXplLHQuaXZTaXplLGkuc2FsdCk7cmV0dXJuIGEuaXY9by5pdixHcC5kZWNyeXB0LmNhbGwodGhpcyx0LGksby5rZXksYSl9fV0pLHJ9KEdwKTtYcC5jZmc9T2JqZWN0LmFzc2lnbihHcC5jZmcse2tkZjpxcH0pO2Zvcih2YXIgJHA9W10sUXA9W10sWnA9W10sSnA9W10sdHY9W10sZXY9W10scnY9W10sbnY9W10saXY9W10sYXY9W10sb3Y9W10sc3Y9MDtzdjwyNTY7c3YrPTEpb3Zbc3ZdPXN2PDEyOD9zdjw8MTpzdjw8MV4yODM7Zm9yKHZhciB1dj0wLGN2PTAsZnY9MDtmdjwyNTY7ZnYrPTEpe3ZhciBsdj1jdl5jdjw8MV5jdjw8Ml5jdjw8M15jdjw8NDtsdj1sdj4+PjheMjU1Jmx2Xjk5LCRwW3V2XT1sdixRcFtsdl09dXY7dmFyIGR2PW92W3V2XSxodj1vdltkdl0scHY9b3ZbaHZdLHZ2PTI1Nypvdltsdl1eMTY4NDMwMDgqbHY7WnBbdXZdPXZ2PDwyNHx2dj4+PjgsSnBbdXZdPXZ2PDwxNnx2dj4+PjE2LHR2W3V2XT12djw8OHx2dj4+PjI0LGV2W3V2XT12dix2dj0xNjg0MzAwOSpwdl42NTUzNypodl4yNTcqZHZeMTY4NDMwMDgqdXYscnZbbHZdPXZ2PDwyNHx2dj4+PjgsbnZbbHZdPXZ2PDwxNnx2dj4+PjE2LGl2W2x2XT12djw8OHx2dj4+PjI0LGF2W2x2XT12dix1dj8odXY9ZHZeb3Zbb3Zbb3ZbcHZeZHZdXV0sY3ZePW92W292W2N2XV0pOnV2PWN2PTF9dmFyIHl2PVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSxndj1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuIG4odGhpcyxyKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYShyLFt7a2V5OiJfZG9SZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdDtpZighdGhpcy5fblJvdW5kc3x8dGhpcy5fa2V5UHJpb3JSZXNldCE9PXRoaXMuX2tleSl7dGhpcy5fa2V5UHJpb3JSZXNldD10aGlzLl9rZXk7dmFyIGU9dGhpcy5fa2V5UHJpb3JSZXNldCxyPWUud29yZHMsbj1lLnNpZ0J5dGVzLzQ7dGhpcy5fblJvdW5kcz1uKzY7dmFyIGk9NCoodGhpcy5fblJvdW5kcysxKTt0aGlzLl9rZXlTY2hlZHVsZT1bXTtmb3IodmFyIGE9dGhpcy5fa2V5U2NoZWR1bGUsbz0wO288aTtvKz0xKW88bj9hW29dPXJbb106KHQ9YVtvLTFdLG8lbj9uPjYmJm8lbj09NCYmKHQ9JHBbdD4+PjI0XTw8MjR8JHBbdD4+PjE2JjI1NV08PDE2fCRwW3Q+Pj44JjI1NV08PDh8JHBbMjU1JnRdKToodD0kcFsodD10PDw4fHQ+Pj4yNCk+Pj4yNF08PDI0fCRwW3Q+Pj4xNiYyNTVdPDwxNnwkcFt0Pj4+OCYyNTVdPDw4fCRwWzI1NSZ0XSx0Xj15dltvL258MF08PDI0KSxhW29dPWFbby1uXV50KTt0aGlzLl9pbnZLZXlTY2hlZHVsZT1bXTtmb3IodmFyIHM9dGhpcy5faW52S2V5U2NoZWR1bGUsdT0wO3U8aTt1Kz0xKXt2YXIgYz1pLXU7dD11JTQ/YVtjXTphW2MtNF0sc1t1XT11PDR8fGM8PTQ/dDpydlskcFt0Pj4+MjRdXV5udlskcFt0Pj4+MTYmMjU1XV1eaXZbJHBbdD4+PjgmMjU1XV1eYXZbJHBbMjU1JnRdXX19fX0se2tleToiZW5jcnlwdEJsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3RoaXMuX2RvQ3J5cHRCbG9jayh0LGUsdGhpcy5fa2V5U2NoZWR1bGUsWnAsSnAsdHYsZXYsJHApfX0se2tleToiZGVjcnlwdEJsb2NrIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciByPXQsbj1yW2UrMV07cltlKzFdPXJbZSszXSxyW2UrM109bix0aGlzLl9kb0NyeXB0QmxvY2socixlLHRoaXMuX2ludktleVNjaGVkdWxlLHJ2LG52LGl2LGF2LFFwKSxuPXJbZSsxXSxyW2UrMV09cltlKzNdLHJbZSszXT1ufX0se2tleToiX2RvQ3J5cHRCbG9jayIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbixpLGEsbyxzKXtmb3IodmFyIHU9dCxjPXRoaXMuX25Sb3VuZHMsZj11W2VdXnJbMF0sbD11W2UrMV1eclsxXSxkPXVbZSsyXV5yWzJdLGg9dVtlKzNdXnJbM10scD00LHY9MTt2PGM7dis9MSl7dmFyIHk9bltmPj4+MjRdXmlbbD4+PjE2JjI1NV1eYVtkPj4+OCYyNTVdXm9bMjU1JmhdXnJbcF07cCs9MTt2YXIgZz1uW2w+Pj4yNF1eaVtkPj4+MTYmMjU1XV5hW2g+Pj44JjI1NV1eb1syNTUmZl1ecltwXTtwKz0xO3ZhciBtPW5bZD4+PjI0XV5pW2g+Pj4xNiYyNTVdXmFbZj4+PjgmMjU1XV5vWzI1NSZsXV5yW3BdO3ArPTE7dmFyIGI9bltoPj4+MjRdXmlbZj4+PjE2JjI1NV1eYVtsPj4+OCYyNTVdXm9bMjU1JmRdXnJbcF07cCs9MSxmPXksbD1nLGQ9bSxoPWJ9dmFyIHc9KHNbZj4+PjI0XTw8MjR8c1tsPj4+MTYmMjU1XTw8MTZ8c1tkPj4+OCYyNTVdPDw4fHNbMjU1JmhdKV5yW3BdO3ArPTE7dmFyIGs9KHNbbD4+PjI0XTw8MjR8c1tkPj4+MTYmMjU1XTw8MTZ8c1toPj4+OCYyNTVdPDw4fHNbMjU1JmZdKV5yW3BdO3ArPTE7dmFyIHg9KHNbZD4+PjI0XTw8MjR8c1toPj4+MTYmMjU1XTw8MTZ8c1tmPj4+OCYyNTVdPDw4fHNbMjU1JmxdKV5yW3BdO3ArPTE7dmFyIEE9KHNbaD4+PjI0XTw8MjR8c1tmPj4+MTYmMjU1XTw8MTZ8c1tsPj4+OCYyNTVdPDw4fHNbMjU1JmRdKV5yW3BdO3ArPTEsdVtlXT13LHVbZSsxXT1rLHVbZSsyXT14LHVbZSszXT1BfX1dKSxyfShZcCk7Z3Yua2V5U2l6ZT04O3ZhciBtdj1ZcC5fY3JlYXRlSGVscGVyKGd2KSxidj1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuIG4odGhpcyxyKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYShyKX0oRnApO2J2LkVuY3J5cHRvcj1mdW5jdGlvbih0KXtzKHIsdCk7dmFyIGU9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuIG4odGhpcyxyKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gYShyLFt7a2V5OiJwcm9jZXNzQmxvY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dCxuPXRoaXMuX2NpcGhlcixpPW4uYmxvY2tTaXplLGE9dGhpcy5faXYsbz10aGlzLl9jb3VudGVyO2EmJih0aGlzLl9jb3VudGVyPWEuc2xpY2UoMCksbz10aGlzLl9jb3VudGVyLHRoaXMuX2l2PXZvaWQgMCk7dmFyIHM9by5zbGljZSgwKTtuLmVuY3J5cHRCbG9jayhzLDApLG9baS0xXT1vW2ktMV0rMXwwO2Zvcih2YXIgdT0wO3U8aTt1Kz0xKXJbZSt1XV49c1t1XX19XSkscn0oYnYpLGJ2LkRlY3J5cHRvcj1idi5FbmNyeXB0b3I7dmFyIHd2PXtwYWQ6ZnVuY3Rpb24oKXt9LHVucGFkOmZ1bmN0aW9uKCl7fX0sa3Y9e2RlY3J5cHRXb3JkQXJyYXk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVNwLnBhcnNlKGUpLGk9U3AucGFyc2UoYWgocikpLGE9QXAuY3JlYXRlKG5ldyBVaW50OEFycmF5KHQpKSxvPW12LmRlY3J5cHQoS3AuY3JlYXRlKHtjaXBoZXJ0ZXh0OmF9KSxuLHtpdjppLG1vZGU6YnYscGFkZGluZzp3dn0pO3JldHVybiBrdi53b3JkQXJyYXlUb1VpbnQ4QXJyYXkobyl9LHdvcmRBcnJheVRvVWludDhBcnJheTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5zaWdCeXRlcyxyPXQud29yZHMsbj1uZXcgVWludDhBcnJheShlKSxpPTAsYT0wO2khPT1lOyl7dmFyIG89clthKytdO2lmKG5baSsrXT0oNDI3ODE5MDA4MCZvKT4+PjI0LGk9PT1lKWJyZWFrO2lmKG5baSsrXT0oMTY3MTE2ODAmbyk+Pj4xNixpPT09ZSlicmVhaztpZihuW2krK109KDY1MjgwJm8pPj4+OCxpPT09ZSlicmVhaztuW2krK109MjU1Jm99cmV0dXJuIG59fSx4dj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxyLG4saSl7dmFyIGE9dGhpczt5KHRoaXMsdCksYih0aGlzLCJfdmlkZW9TYW1wbGVzIixbXSksYih0aGlzLCJfYXVkaW9TYW1wbGVzIixbXSksYih0aGlzLCJfbGFzdFJlbWFpbkJ1ZmZlciIsW10pLGIodGhpcywiX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcyIsMCksdGhpcy52aWRlb1RyYWNrPW5ldyBOaSx0aGlzLmF1ZGlvVHJhY2s9bmV3IFZpLHRoaXMubWV0YWRhdGFUcmFjaz1ufHxuZXcgS2ksdGhpcy5sb2c9bmV3IHdwKCJNUDREZW11eGVyIiwhaXx8IWkub3BlbkxvZ3x8IWkub3BlbkxvZyksZSYmZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZTsoZT1hLl92aWRlb1NhbXBsZXMpLnB1c2guYXBwbHkoZSxrKHQuZnJhbWVzKSl9KSksciYmci5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZTsoZT1hLl9hdWRpb1NhbXBsZXMpLnB1c2guYXBwbHkoZSxrKHQuZnJhbWVzKSl9KSl9cmV0dXJuIG0odCxbe2tleToicGFyc2VTYW1wbGVzIix2YWx1ZTpmdW5jdGlvbih0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIm1vb3YgaXMgcmVxdWlyZWQiKTtpZih0aGlzLnZpZGVvVHJhY2suY29kZWN8fHRoaXMuYXVkaW9UcmFjay5jb2RlY3x8KGlwLm1vb3ZUb1RyYWNrKHQsdGhpcy52aWRlb1RyYWNrLHRoaXMuYXVkaW9UcmFjayksdGhpcy52aWRlb1NlbmM9dGhpcy52aWRlb1RyYWNrLnZpZGVvU2VuYyx0aGlzLmF1ZGlvU2VuYz10aGlzLmF1ZGlvVHJhY2suYXVkaW9TZW5jKSwhdGhpcy5fYXVkaW9TYW1wbGVzLmxlbmd0aCYmIXRoaXMuX3ZpZGVvU2FtcGxlcy5sZW5ndGgpe3ZhciBlPWlwLm1vb3ZUb1NhbXBsZXModCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgcGFyc2Ugc2FtcGxlcyBmcm9tIG1vb3YgYm94Iik7dGhpcy5fdmlkZW9TYW1wbGVzPWUudmlkZW9TYW1wbGVzfHxbXSx0aGlzLl9hdWRpb1NhbXBsZXM9ZS5hdWRpb1NhbXBsZXN8fFtdfX19LHtrZXk6ImRlbXV4Iix2YWx1ZTpmdW5jdGlvbih0LGUscixuLGkpe3RoaXMucGFyc2VTYW1wbGVzKGkpO3ZhciBhLG8scyx1PXRoaXMudmlkZW9UcmFjayxjPXRoaXMuYXVkaW9UcmFjaztpZih1LnNhbXBsZXM9W10sYy5zYW1wbGVzPVtdLHIpe2Zvcih2YXIgZixsPTAsZD1yWzBdLGg9clsxXTtkPD1oO2QrKyl7aWYoIShhPXRoaXMuX3ZpZGVvU2FtcGxlc1tkXSkpdGhyb3cgbmV3IEVycm9yKCJjYW5ub3QgZm91bmQgdmlkZW8gZnJhbWUgIyIuY29uY2F0KGQpKTtzPWEub2Zmc2V0LWUsbz10LnN1YmFycmF5KHMscythLnNpemUpLChmPW5ldyBIaShhLnB0c3x8YS5kdHMsYS5kdHMpKS5kdXJhdGlvbj1hLmR1cmF0aW9uLGYuZ29wSWQ9YS5nb3BJZCxhLmtleWZyYW1lJiZmLnNldFRvS2V5ZnJhbWUoKTtmb3IodmFyIHA9MCx2PW8ubGVuZ3RoLTE7cDx2OylsPW5oKG8scCkscCs9NCxmLnVuaXRzLnB1c2goby5zdWJhcnJheShwLHArbCkpLHArPWw7dS5zYW1wbGVzLnB1c2goZil9dS5iYXNlTWVkaWFEZWNvZGVUaW1lPXUuc2FtcGxlc1swXS5kdHN9aWYobil7Zm9yKHZhciB5PW5bMF0sZz1uWzFdO3k8PWc7eSsrKXtpZighKGE9dGhpcy5fYXVkaW9TYW1wbGVzW3ldKSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoeSkpO3M9YS5vZmZzZXQtZSxvPXQuc3ViYXJyYXkocyxzK2Euc2l6ZSksYy5zYW1wbGVzLnB1c2gobmV3IFlpKGEuZHRzLG8sYS5kdXJhdGlvbikpfWMuYmFzZU1lZGlhRGVjb2RlVGltZT1jLnNhbXBsZXNbMF0uZHRzfXJldHVybnt2aWRlb1RyYWNrOnUsYXVkaW9UcmFjazpjLG1ldGFkYXRhVHJhY2s6dGhpcy5tZXRhZGF0YVRyYWNrfX19LHtrZXk6ImRlbXV4UGFydCIsdmFsdWU6ZnVuY3Rpb24odCxlLHIsbixpLGEsbyl7aWYodGhpcy5wYXJzZVNhbXBsZXMoaSksdGhpcy52aWRlb1RyYWNrLnVzZUVNRT1hLHRoaXMuYXVkaW9UcmFjay51c2VFTUU9YSx0aGlzLl9sYXN0UmVtYWluQnVmZmVyJiZ0aGlzLl9sYXN0UmVtYWluQnVmZmVyLmJ5dGVMZW5ndGg+MCYmZT50aGlzLl9sYXN0UmVtYWluQnVmZmVyU3RhcnRQb3MmJmU8PXRoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcyt0aGlzLl9sYXN0UmVtYWluQnVmZmVyLmJ5dGVMZW5ndGgpZm9yKHZhciBzPTA7czwyMDspdHJ5e3ZhciB1PXRoaXMuX2xhc3RSZW1haW5CdWZmZXIuc3ViYXJyYXkoMCxlLXRoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcyksYz1uZXcgVWludDhBcnJheSh0LmJ5dGVMZW5ndGgrdS5ieXRlTGVuZ3RoKTtjLnNldCh1LDApLGMuc2V0KG5ldyBVaW50OEFycmF5KHQpLHUuYnl0ZUxlbmd0aCksdD1jLGUtPXUuYnl0ZUxlbmd0aCx0aGlzLl9sYXN0UmVtYWluQnVmZmVyPW51bGwsdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPTA7YnJlYWt9Y2F0Y2goVCl7aWYoIShzPDIwKSl0aHJvdyBuZXcgRXJyb3IoIm5ldyBVaW50OEFycmF5IGVycm9yOiwiK1QuZXJyb3JNZXNzYWdlKTtzKyt9dmFyIGYsbCxkLGg9dGhpcy52aWRlb1RyYWNrLHA9dGhpcy5hdWRpb1RyYWNrO2guc2FtcGxlcz1bXSxwLnNhbXBsZXM9W10saC52aWRlb1NlbmM9bnVsbCxwLmF1ZGlvU2VuYz1udWxsO3ZhciB2PTAseT0wO2lmKHRoaXMuX3ZpZGVvU2FtcGxlcy5sZW5ndGg+MCYmci5sZW5ndGg+MCl7Zm9yKHZhciBnLG09dC5ieXRlTGVuZ3RoK2UsYj1yWzBdO2I8PXJbMV07YisrKXtpZighKGY9dGhpcy5fdmlkZW9TYW1wbGVzW2JdKSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBmb3VuZCB2aWRlbyBmcmFtZSAjIi5jb25jYXQoYikpO2Yub2Zmc2V0Pj1lJiZmLm9mZnNldCtmLnNpemU8PW0mJih2PShkPWYub2Zmc2V0LWUpK2Yuc2l6ZSxsPXQuc3ViYXJyYXkoZCx2KSwoZz1uZXcgSGkoZi5wdHN8fGYuZHRzLGYuZHRzKSkuZHVyYXRpb249Zi5kdXJhdGlvbixnLmdvcElkPWYuZ29wSWQsZy5zYW1wbGVPZmZzZXQ9Zi5pbmRleCxmLmtleWZyYW1lJiZnLnNldFRvS2V5ZnJhbWUoKSxnLmRhdGE9bCxnLnNpemU9Zi5zaXplLGguc2FtcGxlcy5wdXNoKGcpKX1oLnNhbXBsZXMubGVuZ3RoPjAmJihoLmdvcElkPWguc2FtcGxlc1swXS5nb3BJZCxoLmJhc2VNZWRpYURlY29kZVRpbWU9aC5zYW1wbGVzWzBdLmR0cyxoLnN0YXJ0UHRzPWguc2FtcGxlc1swXS5wdHMvaC50aW1lc2NhbGUsaC5lbmRQdHM9aC5zYW1wbGVzW2guc2FtcGxlcy5sZW5ndGgtMV0ucHRzL2gudGltZXNjYWxlLHRoaXMudmlkZW9TZW5jJiYoaC52aWRlb1NlbmM9dGhpcy52aWRlb1NlbmMuc2xpY2UoaC5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCxoLnNhbXBsZXNbMF0uc2FtcGxlT2Zmc2V0K2guc2FtcGxlcy5sZW5ndGgpLGgua2lkVmFsdWU9bykpfWlmKHRoaXMuX2F1ZGlvU2FtcGxlcy5sZW5ndGg+MCYmbi5sZW5ndGg+MCl7Zm9yKHZhciB3PW5bMF07dzw9blsxXTt3Kyspe2lmKCEoZj10aGlzLl9hdWRpb1NhbXBsZXNbd10pKXRocm93IG5ldyBFcnJvcigiY2Fubm90IGZvdW5kIHZpZGVvIGZyYW1lICMiLmNvbmNhdCh3KSk7Zi5vZmZzZXQ+PWUmJmYub2Zmc2V0K2Yuc2l6ZTw9dC5ieXRlTGVuZ3RoK2UmJih5PShkPWYub2Zmc2V0LWUpK2Yuc2l6ZSxsPXQuc3ViYXJyYXkoZCx5KSxwLnNhbXBsZXMucHVzaChuZXcgWWkoZi5kdHMsbCxmLmR1cmF0aW9uLGYuaW5kZXgpKSl9cC5zYW1wbGVzLmxlbmd0aD4wJiYocC5nb3BJZD1wLnNhbXBsZXNbMF0uZ29wSWR8fGguZ29wSWQscC5iYXNlTWVkaWFEZWNvZGVUaW1lPXAuc2FtcGxlc1swXS5kdHMscC5zdGFydFB0cz1wLnNhbXBsZXNbMF0ucHRzL3AudGltZXNjYWxlLHAuZW5kUHRzPXAuc2FtcGxlc1twLnNhbXBsZXMubGVuZ3RoLTFdLnB0cy9wLnRpbWVzY2FsZSx0aGlzLmF1ZGlvU2VuYyYmKHAuYXVkaW9TZW5jPXRoaXMuYXVkaW9TZW5jLnNsaWNlKHAuc2FtcGxlc1swXS5zYW1wbGVPZmZzZXQscC5zYW1wbGVzWzBdLnNhbXBsZU9mZnNldCtwLnNhbXBsZXMubGVuZ3RoKSxwLmtpZFZhbHVlPW8pKX10aGlzLmRlY29kZXJEYXRhKGgscCk7Zm9yKHZhciBrPTAseD0wO3g8aC5zYW1wbGVzLmxlbmd0aDt4KyspZm9yKHZhciBBPTAsUz1oLnNhbXBsZXNbeF0uZGF0YSxfPVMubGVuZ3RoLTE7QTxfOylrPW5oKFMsQSksQSs9NCxoLnNhbXBsZXNbeF0udW5pdHMucHVzaChTLnN1YmFycmF5KEEsQStrKSksQSs9aztyZXR1cm4gdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlcj10LnN1YmFycmF5KE1hdGgubWF4KHYseSkpLHRoaXMuX2xhc3RSZW1haW5CdWZmZXIuYnl0ZUxlbmd0aD4wP3RoaXMuX2xhc3RSZW1haW5CdWZmZXJTdGFydFBvcz1lK3QuYnl0ZUxlbmd0aC10aGlzLl9sYXN0UmVtYWluQnVmZmVyLmJ5dGVMZW5ndGg6dGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPTAse3ZpZGVvVHJhY2s6aCxhdWRpb1RyYWNrOnAsbWV0YWRhdGFUcmFjazp0aGlzLm1ldGFkYXRhVHJhY2t9fX0se2tleToicmVzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fdmlkZW9TYW1wbGVzPVtdLHRoaXMuX2F1ZGlvU2FtcGxlcz1bXSx0aGlzLl9sYXN0UmVtYWluQnVmZmVyPW51bGwsdGhpcy5fbGFzdFJlbWFpbkJ1ZmZlclN0YXJ0UG9zPTAsdGhpcy52aWRlb1RyYWNrLnJlc2V0KCksdGhpcy5hdWRpb1RyYWNrLnJlc2V0KCksdGhpcy5tZXRhZGF0YVRyYWNrLnJlc2V0KCl9fSx7a2V5OiJkZWNvZGVyRGF0YSIsdmFsdWU6ZnVuY3Rpb24odCxlKXtpZighdC51c2VFTUUmJiFlLnVzZUVNRSl7aWYodC52aWRlb1NlbmMmJjE9PT10LmlkKXt2YXIgcj10LmtpZFZhbHVlLG49dC52aWRlb1NlbmM7dC5zYW1wbGVzLmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7dmFyIGE9bltpXSxvPWUuZGF0YSxzPVtdLHU9W10sYz1hLkluaXRpYWxpemF0aW9uVmVjdG9yO2lmKGEuc3Vic2FtcGxlcyYmYS5zdWJzYW1wbGVzLmxlbmd0aClhLnN1YnNhbXBsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5CeXRlc09mQ2xlYXJEYXRhK3QuQnl0ZXNPZlByb3RlY3RlZERhdGEscj1vLnNsaWNlKDAsZSk7cy5wdXNoKHIuc2xpY2UoMCx0LkJ5dGVzT2ZDbGVhckRhdGEpKSx1LnB1c2goci5zbGljZSh0LkJ5dGVzT2ZDbGVhckRhdGEpKSxvPW8uc2xpY2UoZSl9KSk7ZWxzZXt2YXIgZj1lLnNpemU7cy5wdXNoKG8uc2xpY2UoMCwwKSksdS5wdXNoKG8uc2xpY2UoMCxmKSksbz1vLnNsaWNlKGYpfXZhciBsPW5ldyBncDtsLndyaXRlLmFwcGx5KGwsdSk7dmFyIGQ9a3YuZGVjcnlwdFdvcmRBcnJheShsLmJ1ZmZlcixyLGMpLGg9bmV3IGdwO3MuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgcj11W2VdLmxlbmd0aCxuPWQuc2xpY2UoMCxyKTtoLndyaXRlKHQpLGgud3JpdGUobiksZD1kLnNsaWNlKHIpfSkpLHQuc2FtcGxlc1tpXS5kYXRhPWguYnVmZmVyfSkpfWlmKGUuYXVkaW9TZW5jJiYyPT09ZS5pZCl7dmFyIGk9ZS5raWRWYWx1ZSxhPWUuYXVkaW9TZW5jO2Uuc2FtcGxlcy5mb3JFYWNoKChmdW5jdGlvbih0LHIpe3ZhciBuPWFbcl0sbz1rdi5kZWNyeXB0V29yZEFycmF5KHQuZGF0YSxpLG4uSW5pdGlhbGl6YXRpb25WZWN0b3IpO2Uuc2FtcGxlc1tyXS5kYXRhPW99KSl9fX19XSxbe2tleToicHJvYmUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBpcC5wcm9iZSh0KX19XSksdH0oKSxBdj17ZmluZEJveDpmdW5jdGlvbih0LGUpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpbXTtpZih0LnR5cGUhPT1lKXtpZih0JiZ0LnN1YkJveCl7dmFyIG49dC5zdWJCb3guZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlPT09ZX0pKTtuLmxlbmd0aD9uLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiByLnB1c2godCl9KSk6dC5zdWJCb3guZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIEF2LmZpbmRCb3godCxlLHIpfSkpfX1lbHNlIHIucHVzaCh0KTtyZXR1cm4ocj1bXS5jb25jYXQocikpLmxlbmd0aD4xP3I6clswXX0scGFkU3RhcnQ6ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1TdHJpbmcociksaT1lPj4wLGE9TWF0aC5jZWlsKGkvbi5sZW5ndGgpLG89W10scz1TdHJpbmcodCk7YS0tOylvLnB1c2gobik7cmV0dXJuIG8uam9pbigiIikuc3Vic3RyaW5nKDAsaS1zLmxlbmd0aCkrc30sdG9IZXg6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09YXJndW1lbnRzW25dO3JldHVybiByLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChBdi5wYWRTdGFydChOdW1iZXIoZSkudG9TdHJpbmcoMTYpLDIsMCkpfSkpLHR9LHN1bTpmdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPTA7bjxlO24rKylyW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbihlKXt0Kz1lfSkpLHR9LFN0cmluZ1RvQXJyYXlCdWZmZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheUJ1ZmZlcih0Lmxlbmd0aCkscj1uZXcgVWludDhBcnJheShlKSxuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT10LmNoYXJDb2RlQXQobik7cmV0dXJuIGV9LGZyb21IZXg6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoLzIpLHI9MDtyPHQubGVuZ3RoO3IrPTIpZVtyLzJdPXdpbmRvdy5wYXJzZUludCh0LnN1YnN0cihyLDIpLDE2KTtyZXR1cm4gZX0sZnJvbUNoYXJDb2RlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iIixyPTA7cjx0Lmxlbmd0aDtyKz0xNmUzKXt2YXIgbj10LnN1YmFycmF5KHIscisxNmUzKTtlKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbil9cmV0dXJuIGV9LEFycmF5QnVmZmVyVG9TdHJpbmc6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9bmV3IFVpbnQ4QXJyYXkodCksbj0wO248ci5sZW5ndGg7bisrKWUrPVN0cmluZy5mcm9tQ2hhckNvZGUocltuXSk7cmV0dXJuIGV9LEJhc2U2NFRvSGV4OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT13aW5kb3cuYXRvYih0LnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSxyPSIiLG49MDtuPGUubGVuZ3RoO24rKylyKz0oIjAiK2UuY2hhckNvZGVBdChuKS50b1N0cmluZygxNikpLnN1YnN0cigtMik7cmV0dXJuIHJ9LHRvQmFzZTY0OmZ1bmN0aW9uKHQsZSl7dmFyIHI9QXYuZnJvbUNoYXJDb2RlKHQpO2U9dm9pZCAwPT09ZXx8ZTt2YXIgbj13aW5kb3cuYnRvYShyKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpO3JldHVybiBlP246bi5yZXBsYWNlKC89KiQvLCIiKX0sdG9VVEY4OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1lbmNvZGVVUklDb21wb25lbnQodCkscj11bmVzY2FwZShlKSxuPW5ldyBVaW50OEFycmF5KHIubGVuZ3RoKSxpPTA7aTxyLmxlbmd0aDsrK2kpbltpXT1yLmNoYXJDb2RlQXQoaSk7cmV0dXJuIG4uYnVmZmVyfSxidWZmZXJUb1N0cmluZzpmdW5jdGlvbih0KXtyZXR1cm4oIjAiK051bWJlcih0KS50b1N0cmluZygxNikpLnNsaWNlKC0yKS50b1VwcGVyQ2FzZSgpfSxzdHJUb0J1ZjpmdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0wO3I8dC5sZW5ndGg7cis9MillLnB1c2gocGFyc2VJbnQodFtyXSt0W3IrMV0sMTYpKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSl9LGZvcm1hdElWOmZ1bmN0aW9uKHQpe3ZhciBlPSIiO2lmKHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZSs9QXYuYnVmZmVyVG9TdHJpbmcodCl9KSksZS5sZW5ndGg8PTMyKWZvcih2YXIgcj0zMi1lLmxlbmd0aCxuPTA7bjxyO24rKyllKz0iMCI7cmV0dXJuIGV9LHN0cjJoZXg6ZnVuY3Rpb24odCl7aWYoIiI9PT10KXJldHVybiIiO2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspZS5wdXNoKHQuY2hhckNvZGVBdChyKSk7cmV0dXJuIGV9LHBhcnNlOmZ1bmN0aW9uKHQpe2lmKCFBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIGU9W10scj0iIixuPTA7bjx0Lmxlbmd0aDtuKyspbiUyJiYocj10W24tMV0rdFtuXSxlLnB1c2gocGFyc2VJbnQociwxNikpLHI9IiIpO3JldHVybiBlfXJldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQsMTYpfSkpfSxnZW5lcmF0ZVVuaXF1ZUtleTpmdW5jdGlvbih0KXt2YXIgZT10LnZpZDt0LnN0YXJ0LHQuZW5kO3ZhciByPXQubWVkaWFUeXBlLG49dC5kZWZpbml0aW9uO3JldHVybiB0LnByZWxvYWRUaW1lLHI9cnx8InZpZGVvIixuPW58fCIwIixlPyIiLmNvbmNhdChlLCIjIikuY29uY2F0KHIsIiMiKS5jb25jYXQobiwiI21wNCIpOm51bGx9LHZhbGlkYXRlRnJhZ21lbnQ6ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOltdO2lmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil7dHJ5e2lmKDI9PT1lLmxlbmd0aCl7dmFyIHI9ZVsxXS1lWzBdKzE7aWYoISh0LmJ5dGVMZW5ndGg9PT1yKSlyZXR1cm59fWNhdGNoKG4pe3JldHVybiBjb25zb2xlLmVycm9yKG4pLCExfXJldHVybiEwfXJldHVybiExfSx0eXBlT2Y6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5tYXRjaCgvKFteXHMuKl0rKSg/PV0kKS9nKVswXX0sZ2V0QnVmZmVyU3BsaXRzOmZ1bmN0aW9uKHQsZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjVlNSxuPWUtdDtpZihuLXI8ci8yfHwhZSlyZXR1cm5bW3QsZV1dO2Zvcih2YXIgaT1bXTt0PGU7KXt2YXIgYT10K3I7KGE+ZXx8ZS1hPHIvMikmJihhPWUpLGkucHVzaChbdCxhXSksdD1hKzF9cmV0dXJuIGl9LG5vd1RpbWU6ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHBhcnNlSW50KHBlcmZvcm1hbmNlLm5vdygpLDEwKX1jYXRjaCh0KXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX19LGV4dFVybDpmdW5jdGlvbih0LGUpe3RyeXt2YXIgcj10LmluZGV4T2YoIj8iKTtyZXR1cm4gcjwwP09iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24ocixuKXt0Kz0wPT09bj8iPyIuY29uY2F0KHIsIj0iKS5jb25jYXQoZVtyXSk6IiYiLmNvbmNhdChyLCI9IikuY29uY2F0KGVbcl0pfSkpOk9iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24obixpKXtyPT09dC5sZW5ndGgtMT90Kz0iIi5jb25jYXQobiwiPSIpLmNvbmNhdChlW25dKTp0Kz0iJiIuY29uY2F0KG4sIj0iKS5jb25jYXQoZVtuXSl9KSksdH1jYXRjaChuKXtyZXR1cm4gdH19LGdldEZpbGVTaXplOmZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0JiZlP3BhcnNlSW50KGUqdC84LDEwKTowfWNhdGNoKHIpe3JldHVybiAwfX0saGFzaFZhbDpmdW5jdGlvbih0KXt2YXIgZSxyPTA7aWYoMD09PXQubGVuZ3RoKXJldHVybiByO2ZvcihlPTA7ZTx0Lmxlbmd0aDtlKyspcj0ocjw8NSktcit0LmNoYXJDb2RlQXQoZSkscnw9MDtyZXR1cm4gcn19O0F2LmdldEZpbGVTaXplPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0JiZlP3BhcnNlSW50KGUqdC84LDEwKTowfWNhdGNoKHIpe3JldHVybiAwfX0sQXYuY29uY2F0RGF0YT1mdW5jdGlvbih0LGUpe3ZhciByPVtdLG49MDt0JiZyLnB1c2godCksZSYmci5wdXNoKGUpLHIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiYobis9dC5ieXRlTGVuZ3RoKSwhMH0pKTt2YXIgaT1uZXcgVWludDhBcnJheShuKSxhPTA7cmV0dXJuIHIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiYoaS5zZXQodCxhKSxhKz10LmJ5dGVMZW5ndGgpLCEwfSkpLGl9LEF2LmdldEZyYWdSYW5nZT1mdW5jdGlvbih0LGUscil7dmFyIG49dDxlLmxlbmd0aD9lW3RdOm51bGwsaT10PHIubGVuZ3RoP3JbdF06bnVsbCxhPTAsbz0wO3JldHVybiB0PT09ZS5sZW5ndGgtMSYmKGE9LTEpLHQ9PT1yLmxlbmd0aC0xJiYobz0tMSksW01hdGgubWluKChudWxsPT1uP3ZvaWQgMDpuLnJhbmdlWzBdKXx8MS8wLChudWxsPT1pP3ZvaWQgMDppLnJhbmdlWzBdKXx8MS8wKSxNYXRoLm1heCgobnVsbD09bj92b2lkIDA6bi5yYW5nZVsxXSkrYXx8MCwobnVsbD09aT92b2lkIDA6aS5yYW5nZVsxXSkrb3x8MCldfSxvbm1lc3NhZ2U9ZnVuY3Rpb24odCl7dmFyIHI9dC5kYXRhO3N3aXRjaChyLm1ldGhvZCl7Y2FzZSJpbml0Ijp0aGlzLmNvZGVjVHlwZT1yLmFyZ3MuY29kZWNUeXBlLHRoaXMub3BlbmxvZz1yLmFyZ3Mub3BlbkxvZyx0aGlzLk1QNERlbXV4ZXI9bnVsbCx0aGlzLkZNUDRSZW11eGVyPW51bGwsdGhpcy5fbmVlZEluaXRTZWdtZW50PSEwLHRoaXMuc3VwcG9ydEhldmM9ci5hcmdzLnN1cHBvcnRIZXZjO2JyZWFrO2Nhc2UidHJhbnNtdXgiOnZhciBuPXQuZGF0YS5hcmdzLGk9bmV3IFVpbnQ4QXJyYXkodC5kYXRhLmJ1ZmZlcik7dGhpcy5NUDREZW11eGVyfHwodGhpcy5NUDREZW11eGVyPW5ldyB4dihudWxsLG51bGwsbnVsbCx7b3BlbmxvZzp0aGlzLm9wZW5sb2d9KSk7dmFyIGEsbz10aGlzLk1QNERlbXV4ZXIuZGVtdXhQYXJ0KGksbi5zdGFydCxuLnZpZGVvSWR4LG4uYXVkaW9JZHgsbi5tb292LG4udXNlRU1FLG4ua2lkVmFsdWUpO2lmKHRoaXMuRk1QNFJlbXV4ZXJ8fCJoMjY1Ij09PXRoaXMuY29kZWNUeXBlJiYhdGhpcy5zdXBwb3J0SGV2Y3x8KHRoaXMuRk1QNFJlbXV4ZXI9bmV3IGtwKHRoaXMuTVA0RGVtdXhlci52aWRlb1RyYWNrLHRoaXMuTVA0RGVtdXhlci5hdWRpb1RyYWNrLHtvcGVuTG9nOnRoaXMub3BlbmxvZ30pKSx0aGlzLkZNUDRSZW11eGVyKXt2YXIgcz10aGlzLkZNUDRSZW11eGVyLnJlbXV4KHRoaXMuX25lZWRJbml0U2VnbWVudCx7aW5pdE1lcmdlOiEwfSk7cy5pbml0U2VnbWVudCYmKHRoaXMuX25lZWRJbml0U2VnbWVudD0hMSksYT17YnVmZmVyOkF2LmNvbmNhdERhdGEocy5hdWRpb1NlZ21lbnQscy52aWRlb1NlZ21lbnQpLHJhbmdlOm4uY29udGV4dC5yYW5nZSxzdGF0ZTpuLmNvbnRleHQuc3RhdGUsY29udGV4dDp7cmFuZ2U6bi5jb250ZXh0LnJhbmdlLGZyYWdJbmRleDpuLmNvbnRleHQuZnJhZ0luZGV4LHN0YXJ0UHRzOk1hdGgubWluKG8udmlkZW9UcmFjay5zdGFydFB0cyxvLmF1ZGlvVHJhY2suc3RhcnRQdHMpLGVuZFB0czpNYXRoLm1heChvLnZpZGVvVHJhY2suZW5kUHRzLG8uYXVkaW9UcmFjay5lbmRQdHMpfSxpbml0U2VnOnMuaW5pdFNlZ21lbnR9fXRoaXMucG9zdE1lc3NhZ2Uoe21ldGhvZDoidHJhbnNtdXgiLGlkOnQuZGF0YS5pZCxhcmdzOmUoe30sYSl9KTticmVhaztjYXNlInJlc2V0Ijp0aGlzLkZNUDRSZW11eGVyJiZ0aGlzLkZNUDRSZW11eGVyLnJlc2V0KCksdGhpcy5NUDREZW11eGVyJiZ0aGlzLk1QNERlbXV4ZXIucmVzZXQoKSx0aGlzLkZNUDRSZW11eGVyPW51bGwsdGhpcy5NUDREZW11eGVyPW51bGwsdGhpcy5fbmVlZEluaXRTZWdtZW50PSEwfX19KCk7Cg==",blob="undefined"!=typeof window&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){var e=blob&&(_URL||window.webkitURL).createObjectURL(blob);try{return e?new Worker(e,{}):new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{e&&(_URL||window.webkitURL).revokeObjectURL(e)}}var TransmuxerWorkerControl=function(e){_inherits$5(r,EventEmitter$1);var t=_createSuper$5(r);function r(e){var n;return _classCallCheck$8(this,r),(n=t.call(this)).openlog=e.openLog,n.codecType=e.codecType,n.supportHevc=e.supportHevc,n.worker=new WorkerWrapper,n.worker.onmessage=function(e){n.emit(e.data.method,e.data)},n.worker.postMessage({method:"init",id:e.id||0,args:{openlog:n.openlog,supportHevc:n.supportHevc,codecType:n.codecType}}),n}return _createClass$8(r,[{key:"transmux",value:function(e,t,r,n,i,o,a,s,l){var c=t.buffer;this.worker&&this.worker.postMessage({method:"transmux",id:e,buffer:c,args:{start:r,videoIdx:n,audioIdx:i,moov:o,useEME:a,kidValue:s,context:l}},[c])}},{key:"reset",value:function(){this.worker&&this.worker.postMessage({method:"reset"})}},{key:"destroy",value:function(){this.worker&&this.worker.terminate()}}]),r}(),MP4_EVENTS={ERROR:"error",META_READY:"metaReady",MOOV_READY:"moovReady",MOOV_REQ_PROGRESS:"moov_request_Progress",TASK_PROGRESS:"progress_event",REMOVE_URL:"remove_url",FRAGMENT:"fragment",UPDATEEME:"updateEME",CHANGE_URL:"chaneg_url"},MP4=function(e){_inherits$5(d,EventEmitter$1);var t,r,n,i,o,a,s,l,c,u=_createSuper$5(d);function d(e,t,r,n){var i,o,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[],s=arguments.length>7?arguments[7]:void 0,l=arguments.length>8?arguments[8]:void 0;if(_classCallCheck$8(this,d),_defineProperty$5(_assertThisInitialized$5(o=u.call(this)),"onprogressDataArrive",function(){var e=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r,n){var i;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t&&t.byteLength>0&&((i=o.timeRange[n.index].range)&&n.range[1]>=i[1]&&!r&&(r=!0),o.log("[mp4.loadFragment onprogressDataArrive ] receive data, >>> index,",n.index,",range,",_JSON$stringify(n.range),", dataLen,",t.byteLength),o._mux(t,n.range[0],n.index,r)),r&&(o.timeRange[n.index].downloaded=!0,o.bufferLoadedPos=-1,o.log("[FragLoadDowned],fragmentIdx,",n.index,",rangeEnd,",n.range[1]));case 2:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}()),o.timeRecord={startMuxTime:-1,startLoadTime:-1,newMP4Time:util.nowTime(),startLoadMetaTime:-1},o.url=e,o.backUrl=a||[],o._bitRate=t,o.options=d.getDefaultConfig(),_mapInstanceProperty(i=_Object$keys(r)).call(i,(function(e){void 0!==r[e]&&null!==r[e]&&(o.options[e]=r[e])})),o.timeRange=[],o.firstFrameTime=s||{},o._logTag=l||"",o.CHUNK_SIZE=getMetaSize(r.duration,o.options.chunkSize,r.fileSize),o.player=n,o.bufferLoaded=new Uint8Array(0),o.bufferLoadedPos=0,o.meta=null,o.preloadCache=null,o.videoTrak=null,o.audioTrak=null,o.canDownload=!0,o._loadSuccessCallBack=null,o._isPending=!1,o._metaLoading=!1,o.MP4Loader=new MP4Loader(_objectSpread2$3(_objectSpread2$3({segmentDuration:r.segmentDuration,url:e,vid:r.vid+"-"+t,retry:r.retryCount||2,retryDelay:r.retryDelay||1e3,timeout:3e3},r.reqOptions),{},{openLog:checkOpenLog()})),o.MP4Demuxer=null,o.FMP4Remuxer=null,o._needInitSegment=!0,o._bitRateInfoMap=new _Map,o._switchBitRate=!1,o._segmentToBitRateMap=new _Map,o.useEME=!1,o.kidValue=null,o.enableWorker=r.enableWorker&&("h265"!==r.codecType||r.supportHevc),o.enableWorker&&"undefined"!=typeof Worker)try{o.workerSequence=0,o.transmuxerWorkerControl=new TransmuxerWorkerControl({id:o.workerSequence,codecType:r.codecType,supportHevc:o.options.supportHevc,openLog:checkOpenLog()}),o.transmuxerWorkerControl.on("transmux",(function(e){var t=e.args;o.log("[transmuxerworker end] ,range, ",_JSON$stringify(t.range),",dataLen,",t.buffer.byteLength,t.context),o.firstFrameTime.firstmux<0&&o.timeRecord.startMuxTime>0&&(o.firstFrameTime.firstmux=util.nowTime()-o.timeRecord.startMuxTime),o._loadSuccessCallBack&&o._loadSuccessCallBack(t)}))}catch(e){o.log("Error in worker:",e),o.enableWorker=!1,o.transmuxerWorkerControl=null}return o.enableWorker||(o.MP4Demuxer=null,o.FMP4Remuxer=null),o.seekTime=-1,o}return _createClass$8(d,[{key:"changeBitRate",value:(c=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t){return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.bitrate===this._bitRate){e.next=9;break}return this.url=t.url,this._bitRate=t.bitrate,this.backUrl=t.backupURL,e.next=6,this.MP4Loader.changeUrl(this.url,this.options.vid+"-"+this._bitRate,this.CHUNK_SIZE);case 6:this.emit(MP4_EVENTS.CHANGE_URL,this.url),this._switchBitRate=!0,this.log("[switchBitrate] changeUrl, bitRate,",this._bitRate,this.url);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"_getByPreload",value:function(e,t,r,n){try{if(e&&e.byteLength>=t){var i={endTime:(new Date).getTime(),startTime:(new Date).getTime(),index:n,range:[],vid:this.options.vid,from:"local"};if(r<=e.byteLength){var o=_sliceInstanceProperty(e).call(e,t,r);return i.range=[t,r],i.state=!0,{buffer:o,context:i,state:!0}}var a=e.byteLength-1,s=_sliceInstanceProperty(e).call(e,t,a);return i.range=[t,a],{context:i,buffer:s,state:!1}}return null}catch(e){return console.error("[MP4] _getByPreload",t,r,e),null}}},{key:"log",value:function(e){for(var t,r,n,i,o=this.options,a=o&&o.vid?_concatInstanceProperty(t=_concatInstanceProperty(r="[MP4]".concat(this._logTag," ")).call(r,o.vid," ")).call(t,e):_concatInstanceProperty(n="[MP4]".concat(this._logTag," ")).call(n,e),s=arguments.length,l=new Array(s>1?s-1:0),c=1;c<s;c++)l[c-1]=arguments[c];log$3.apply(void 0,_concatInstanceProperty(i=[a]).call(i,l))}},{key:"errorHandler",value:(l=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r){var n,i,o,a,s,l,c,u,d,p=arguments;return _regeneratorRuntime$2().wrap((function(e){for(var y,h;;)switch(e.prev=e.next){case 0:if(n=p.length>2&&void 0!==p[2]?p[2]:{},i=t.response,o=t.message,a=this.options?this.options.vid:"",s=null,this._isPending=!0,!i){e.next=33;break}if(l=transformHeaders(i.headers),s=new NetWorkError("network",i.status,{httpText:i.httpText,message:o,url:i.url,headers:l}),console.log(_concatInstanceProperty(y=_concatInstanceProperty(h="[MP4] [".concat(a,"] errorHandler error state:[")).call(h,r,"], _isPending:[")).call(y,this._isPending,"] "),s),!(this.backUrl&&this.backUrl.length>0)){e.next=29;break}if(console.log("[MP4] [".concat(a,"] errorHandler start backUpUrl retry"),this.backUrl.length,this.backUrl),c=this.backUrl.shift(),this.update(c),this._isPending=!1,!this.MP4Loader){e.next=18;break}return e.next=17,this.MP4Loader.changeUrl(this.url,this.url+"-"+this._bitRate,this.CHUNK_SIZE);case 17:this.emit(MP4_EVENTS.CHANGE_URL,this.url);case 18:if(this.emit(MP4_EVENTS.TASK_PROGRESS,{type:"error",error:t}),"getMetaInfo"!==r){e.next=24;break}return this.getMetaInfo(),e.abrupt("return");case 24:if("loadFragment"!==r){e.next=29;break}if(u=n.index,d=n.range,!u||!d){e.next=29;break}return this.loadFragment(u,d),e.abrupt("return");case 29:console.log("[MP4] [".concat(a,"] errorHandler backUpUrl is null emit error")),this.emit(MP4_EVENTS.ERROR,s),e.next=36;break;case 33:console.log("[MP4] [".concat(a,"] errorHandler,"),t),s=t,this.emit(MP4_EVENTS.ERROR,s);case 36:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"init",value:(s=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t){var r,n,i,o,a,s,l,c;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.url){e.next=3;break}return e.next=3,this.MP4Loader.changeUrl(this.url,this.options.vid+"-"+this._bitRate,this.CHUNK_SIZE);case 3:if(this.emit(MP4_EVENTS.CHANGE_URL,this.url),this.meta=null,r=t.meta,n=t.mediaSegList,i=t.buffer,o=t.fileSize,a=t.initSeg,s=t.bitrate,!r||!r.ext){e.next=21;break}this.meta=r,this._bitRate=s,this.videoTrak=r.ext.videoTrak,this.audioTrak=r.ext.audioTrak,this.timeRange=this.getTimeRange(),n?this.preloadCache={segList:n||[],initSeg:a}:i&&(this.size=o,this.bufferLoaded=i),l={meta:r,videoSegments:r.ext.videoTrak,audioSegments:r.ext.audioTrak,bufferLoaded:i||null},this._bitRateInfoMap.set(this._bitRate,l),c=(new Date).getTime(),_setTimeout((function(){console.log(">>>>metaReady setTimeout",(new Date).getTime()-c)})),console.log(">>>>metaReady",util.nowTime()),this.emit(MP4_EVENTS.META_READY,this.meta),e.next=23;break;case 21:return e.next=23,this.getMetaInfo();case 23:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getTimeRange",value:function(){for(var e=[],t=null,r=0;this.videoTrak&&r<this.videoTrak.length;r++)t={startTime:this.videoTrak[r].startTime,endTime:this.videoTrak[r].endTime,downloaded:!1,isLoading:!1},e.push(t);if(this.audioTrak&&this.audioTrak.length>e.length)for(var n=e.length;n<this.audioTrak.length;n++)t={startTime:Math.max(this.audioTrak[n].startTime,t?t.endTime:0),endTime:Math.max(this.audioTrak[n].endTime,t?t.endTime:0),downloaded:!1,isLoading:!1},e.push(t);return e}},{key:"getMetaInfo",value:(a=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(){var t,r,n,i,o=this,a=arguments;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=!(a.length>0&&void 0!==a[0])||a[0],e.prev=1,r=util.nowTime(),this._metaLoading=!0,this.log("getMetaInfo start, bitRate,",this._bitRate),this.bufferLoaded=new Uint8Array(0),n=0,i=function(){var e=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(i,a,s,l){var c,u;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o.log("getMetaInfo onProgressHandle, dataLen,",i?i.byteLength:-1,", state,",a,",range,",_JSON$stringify(s.range)),!l){e.next=7;break}return e.next=4,o.cancelLoading();case 4:return c=new ParserError(ERROR_TYPES.demux,ERROR_CODES.metaError,{msg:_JSON$stringify(l)}),o.errorHandler(c,"getMetaInfo"),e.abrupt("return");case 7:i&&s.range[0]===n&&(o.bufferLoaded=Concat(Uint8Array,o.bufferLoaded,new Uint8Array(i)),n+=i.byteLength),s.meta&&!o.meta&&(o.firstFrameTime.metaload=util.nowTime()-r,u=s.meta,o.videoTrak=u.videoSegments,o.audioTrak=u.audioSegments,o.timeRange=o.getTimeRange(),o.meta=_objectSpread2$3(_objectSpread2$3({},u.meta),{},{ext:{videoTrak:o.videoTrak,audioTrak:o.audioTrak}}),u.bufferLoaded=o.bufferLoaded,o._bitRateInfoMap.set(o._bitRate,u),o.log("meta reach, bitRate,",o._bitRate),t&&o.emit(MP4_EVENTS.META_READY,o.meta)),o.meta&&a&&(o.log("[getMetaInfo req end]"),o._metaLoading=!1),o.meta&&(i||a)&&(o.log("emit moov_req_progress"),o.emit(MP4_EVENTS.MOOV_REQ_PROGRESS));case 11:case"end":return e.stop()}}),e)})));return function(t,r,n,i){return e.apply(this,arguments)}}(),e.next=10,this.MP4Loader.loadMetaProcess(this.MP4Loader.cache,[0,this.CHUNK_SIZE],i);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),console.error("[MP4] trigger errorHandler getMetaInfo",e.t0),this.errorHandler(e.t0,"getMetaInfo");case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(){return a.apply(this,arguments)})},{key:"getFragmentIdx",value:function(e){var t,r,n;if(this.videoTrak.length){var i,o;if(t=_findInstanceProperty(i=this.videoTrak).call(i,(function(t){return t.startTime<=e&&t.endTime>e})),r=_findInstanceProperty(o=this.audioTrak).call(o,(function(t){return t.startTime<=e&&t.endTime>e})),t&&r)return Math.min(t.index,r.index);if(t||r)return t?t.index:r.index;var a=Number.MAX_VALUE;return this.videoTrak&&this.videoTrak.length>0&&(a=this.videoTrak.length-1),this.audioTrak&&this.audioTrak.length>0&&(a=Math.min(this.audioTrak.length-1,a)),a}return r=_findInstanceProperty(n=this.audioTrak).call(n,(function(t){return t.startTime<=e&&t.endTime>e})),r?r.index:0}},{key:"_checkHasMeta",value:(o=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(){var t,r;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this._bitRateInfoMap.get(this._bitRate)){e.next=19;break}return this.log("[ABR], need load InitSegment, bitRate, ",this._bitRate),this._metaLoading=!0,e.next=6,this.MP4Loader.loadMeta(this.MP4Loader.cache,Math.round(this.CHUNK_SIZE/2));case 6:return r=e.sent,this._metaLoading=!1,this.videoTrak=r.videoSegments,this.audioTrak=r.audioSegments,this.meta=_objectSpread2$3(_objectSpread2$3({},r.meta),{},{ext:{videoTrak:this.videoTrak,audioTrak:this.audioTrak}}),this.emit(MP4_EVENTS.UPDATEEME,this.meta),this.timeRange=this.getTimeRange(),this.bufferLoaded=new Uint8Array(0),r.bufferLoaded=this.bufferLoaded,this._bitRateInfoMap.set(this._bitRate,r),e.abrupt("return",!0);case 19:return this.log("[ABR], not need load InitSegment, bitRate, ",this._bitRate),this.videoTrak=t.videoSegments,this.audioTrak=t.audioSegments,this.meta=t.meta,this.emit(MP4_EVENTS.UPDATEEME,this.meta),this.timeRange=this.getTimeRange(),this.bufferLoaded=new Uint8Array(0),e.abrupt("return",!0);case 27:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"resetFragmentLoadState",value:function(e){for(var t=0;t<this.timeRange.length;t++)t<e?(this.timeRange[t].downloaded=!0,this.timeRange[t].isLoading=!0):(this.timeRange[t].downloaded=!1,this.timeRange[t].isLoading=!1)}},{key:"getFragRange",value:function(e){var t,r,n,i,o=null;this.videoTrak&&(o=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1]);var a=null;this.audioTrak&&(a=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1]);var s=0,l=0;this.videoTrak&&e>=this.videoTrak.length-1&&(s=-1),this.audioTrak&&e>=this.audioTrak.length-1&&(l=-1);var c=[Math.min((null===(t=o)||void 0===t?void 0:t.range[0])||1/0,(null===(r=a)||void 0===r?void 0:r.range[0])||1/0),Math.max((null===(n=o)||void 0===n?void 0:n.range[1])+s||0,(null===(i=a)||void 0===i?void 0:i.range[1])+l||0)];return e<this.timeRange.length&&(this.timeRange[e].range=c),c}},{key:"load",value:(i=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r){var n,i,o,a;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._loadSuccessCallBack=r,!this._switchBitRate||this._metaLoading){e.next=11;break}return this.log("[switchBitrate], switch bitRate start load, bitRate,",this._bitRate,", time,",t>=this.videoTrak.length?this.audioTrak[t].startTime:this.videoTrak[t].startTime,", fragIndex,",t),e.next=5,this._checkHasMeta();case 5:n=e.sent,this.resetFragmentLoadState(t),this.log("[switchBitrate], reset timerange state,",t),this._needInitSegment=!0,this.resetTansmuxer(),n&&(this._switchBitRate=!1);case 11:if(!this._switchBitRate||!this._metaLoading){e.next=13;break}return e.abrupt("return");case 13:i=this.getFragRange(t),(o=this.getFragmentFromCache(t,i))?(this.log("[mp4.load], segment ,",t,"Data In Cache",_JSON$stringify(i),", needInit,",this._needInitSegment),this.timeRange[t].downloaded=!0,this.timeRange[t].isLoading=!1,this._needInitSegment=!1,this._loadSuccessCallBack&&this._loadSuccessCallBack(o)):(this.log("loadFragment,",t,",bitRate,",this._bitRate,",range,",_JSON$stringify(i)),this.seekTime>0?(a=this.getSubRange(t,this.seekTime,i),this.loadFragment(t,a),this.seekTime=-1):this.loadFragment(t,i));case 16:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getSubRange",value:function(e,t,r){var n=r[0],i=r[0],o=1,a=!1;if(this.log(">>>>>getSubRange time,",t,_JSON$stringify(r)),this.videoTrak){var s,l=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1],c=_filterInstanceProperty(s=l.frames).call(s,getKeyFrameList),u=this.meta.videoTimescale,d=c[0].startTime/u;this.log(">>>>>getSubRange video, startTime,",l.startTime,",endTime,",l.endTime);for(var p=0;p<c.length;p++)this.log(">>>>>getSubRange video keyFrameList, startTime,",c[p].startTime/u,",range,",c[p].offset);for(;o<c.length;o++){var y=c[o].startTime/u;if(d<=t&&t<y&&r[0]<c[o-1].offset){n=c[o-1].offset,a=!0,this.log(">>>>>getSubRange video end, startTime,",d,",endTime,",y,",startRange,",n,", keyFrameIndex,",o-1);break}d=y}!a&&d<=t&&t<l.endTime+.8&&(n=c[o-1].offset,this.log(">>>>>getSubRange video last, startTime,",d,",endTime,",l.endTime,",startRange,",n))}if(o=1,this.audioTrak){var h=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1],f=h.frames,$=this.meta.audioTimescale;o=Math.floor((t*$-f[0].startTime)/h.frames[0].duration);for(var m=(o=Math.min(f.length-1,o))>0?f[o-1].startTime/$:f[0].startTime/$;o>=0&&o<f.length;)if(o>0&&m>t)m=f[o-=1].startTime/$;else{var b=(f[o].startTime+f[o].duration)/$;if(m<=t&&t<b&&r[0]<f[o].offset){i=f[o].offset,a=!0,this.log(">>>>>getSubRange audio end, startTime,",m,",endTime,",b,",startRange,",i,", index,",o);break}m=b,o++}}var g=[Math.min(i,n),r[1]];return this.log(">>>>>getSubRange finalRange ",_JSON$stringify(g),",oldRange,",_JSON$stringify(r)),g}},{key:"getFragmentFromCache",value:function(e,t){var r=this.preloadCache;if(!r||!r.segList)return null;for(var n=-1,i=r.segList,o=r.initSeg,a=0;a<i.length;a++)if(i[a].index===e){n=a;break}if(n<0)return null;var s=i[n];if(console.log(">>>>preloadCache",n,s,s.range,t[1],s.range[1]>=t[1]),s.range[1]>=t[1]){var l=[this.timeRange[e].startTime,this.timeRange[e].endTime];return{buffer:s.buffer,range:t,context:{range:t,fragIndex:e,state:!0,timeRange:[l[0],l[1]]},state:!0,initSeg:this._needInitSegment?o:void 0}}return null}},{key:"_mux",value:function(e,t,r,n){this.firstFrameTime.firstmux<0&&this.timeRecord.startMuxTime<0&&(this.timeRecord.startMuxTime=util.nowTime(),this.firstFrameTime.startMuxTime=util.nowTime()-this.timeRecord.startLoadTime);var i=this.getSamplesRange(r,"video"),o=this.getSamplesRange(r,"audio"),a=[t,t+e.byteLength];if(this.transmuxerWorkerControl){var s={range:a,state:n,fragIndex:r};this.log("[transmuxerworker start] ,range, ",_JSON$stringify(a),",dataLen,",e.byteLength,s),this.transmuxerWorkerControl.transmux(this.workerSequence,e,t,i,o,this.meta.moov,this.useEME,this.kidValue,s)}else try{this.MP4Demuxer||(this.MP4Demuxer=new MP4Demuxer(this.videoTrak,this.audioTrak,null,{openLog:checkOpenLog()}));var l,c=this.MP4Demuxer.demuxPart(e,t,i,o,this.meta.moov,this.useEME,this.kidValue);this.FMP4Remuxer||this.checkCodecH265()&&!this.options.supportHevc||(this.FMP4Remuxer=new FMP4Remuxer(this.MP4Demuxer.videoTrack,this.MP4Demuxer.audioTrack,{openLog:checkOpenLog()})),this.log("[mux], videoTimeRange,",c.videoTrack?[c.videoTrack.startPts,c.videoTrack.endPts]:null,",audioTimeRange,",c.audioTrack?[c.audioTrack.startPts,c.audioTrack.endPts]:null);var u=[Math.min(c.videoTrack.startPts,c.audioTrack.startPts),Math.max(c.videoTrack.endPts,c.audioTrack.endPts)];if(this.FMP4Remuxer){var d=this.FMP4Remuxer.remux(this._needInitSegment,{initMerge:!0,range:a});d.initSegment&&(this._needInitSegment=!1),l={buffer:util.concatData(d.audioSegment,d.videoSegment),range:a,state:n,context:{range:a,fragIndex:r,timeRange:u},initSeg:d.initSegment}}else l={videoTrack:c.videoTrack,audioTrack:c.audioTrack,buffer:null,range:a,state:n,context:{range:a,fragIndex:r,timeRange:u}};this.firstFrameTime.firstmux<0&&this.timeRecord.startMuxTime>0&&(this.firstFrameTime.firstmux=util.nowTime()-this.timeRecord.startMuxTime),this._loadSuccessCallBack&&this._loadSuccessCallBack(l)}catch(n){console.error("mux err:",n);var p=new ParserError(ERROR_TYPES.remux,ERROR_CODES.muxError,{msg:_JSON$stringify(n)});this.errorHandler(p,"mux",{fragIndex:r,range:[t,t+e.byteLength]})}}},{key:"getSamplesRange",value:function(e,t){var r=[];switch(t){case"video":if(this.videoTrak&&e<this.videoTrak.length){var n=this.videoTrak[e].frames;r.push(n[0].index),r.push(n[n.length-1].index)}break;case"audio":if(this.audioTrak&&e<this.audioTrak.length){var i=this.audioTrak[e].frames;r.push(i[0].index),r.push(i[i.length-1].index)}break;default:console.warn("[getSamplesRange] type ",t," is invalid")}return r}},{key:"loadFragment",value:(n=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r){var n,i,o,a;return _regeneratorRuntime$2().wrap((function(e){for(var s,l;;)switch(e.prev=e.next){case 0:if(!this._isPending&&r!==[0,0]&&!this.timeRange[t].isLoading){e.next=2;break}return e.abrupt("return");case 2:if(this.log("[MP4.loadFragment] ,fragIndex,",t,",range ",r,",len ,",r[1]-r[0],", bufferLoaded_Len,",this.bufferLoaded.byteLength),this._segmentToBitRateMap.set(t,this._bitRate),this.timeRecord.startLoadTime<0&&(this.timeRecord.startLoadTime=util.nowTime()),!(r.length>=2&&r[1]&&r[1]>0&&r[1]<=this.bufferLoaded.byteLength)){e.next=15;break}this.timeRange[t].isLoading=!0,n=Math.max(r[0],this.bufferLoadedPos),i=new Uint8Array(_sliceInstanceProperty(s=this.bufferLoaded).call(s,n,r[1])),this.log("[mp4.loadFragment] has all data: ",n,r[1]),this.timeRange[t].downloaded=!0,this.bufferLoadedPos=-1,this._mux(i,n,t,!0),e.next=38;break;case 15:if(!(r.length>=2&&r[0]&&r[0]<=this.bufferLoaded.byteLength)){e.next=27;break}if(this.timeRange[t].isLoading){e.next=25;break}if(o=Math.max(r[0],this.bufferLoadedPos),!((a=new Uint8Array(_sliceInstanceProperty(l=this.bufferLoaded).call(l,o,r[1]))).byteLength>0)){e.next=24;break}return this.bufferLoadedPos=o+a.byteLength,this.log("[mp4.loadFragment] has part data: ",o,o+a.byteLength),this._mux(a,o,t,r[1]<=this.bufferLoadedPos),e.abrupt("return");case 24:if(!this._metaLoading&&!this.timeRange[t].isLoading)try{this.log("[mp4.loadFragment] ready to load part data >>> ",this.bufferLoaded.byteLength,r[1]),this.timeRange[t].isLoading=!0,this.MP4Loader.loadData([this.bufferLoaded.byteLength,r[1]],this.MP4Loader.cache,{index:t,onProgress:this.onprogressDataArrive,onProcessMinLen:this.options.onProcessMinLen})}catch(e){this.errorHandler(e,"MP4Loader.loadData",{range:[this.bufferLoaded.byteLength,r[1]],fragIndex:t})}case 25:e.next=38;break;case 27:if(this._metaLoading&&!(r[0]>=this.CHUNK_SIZE)||this.timeRange[t].isLoading){e.next=38;break}return this.timeRange[t].isLoading=!0,this.log("[mp4.loadFragment],ready to load all data ,segmentIdx, ",t,",range >>> ",_JSON$stringify(r)),e.prev=30,e.next=33,this.MP4Loader.loadData(r,this.MP4Loader.cache,{index:t,onProgress:this.onprogressDataArrive,onProcessMinLen:this.options.onProcessMinLen});case 33:e.next=38;break;case 35:e.prev=35,e.t0=e.catch(30),this.errorHandler(e.t0,"MP4Loader.loadData",{range:r,fragIndex:t});case 38:case"end":return e.stop()}}),e,this,[[30,35]])}))),function(e,t){return n.apply(this,arguments)})},{key:"loadAllFragmentData",value:(r=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r,n){var i,o,a;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.hasDestroyed){e.next=2;break}return e.abrupt("return");case 2:return i=this.getFragRange(t),e.prev=3,e.next=6,this.MP4Loader.loadData(i,this.MP4Loader.cache,{index:t});case 6:if(o=e.sent,this.log("loadAllFragmentData after",_JSON$stringify(i),o),o&&o.data){e.next=11;break}return n(new Error("response null")),e.abrupt("return");case 11:a=o.data,this._loadSuccessCallBack=r,this._mux(a,i[0],t,!0),e.next=20;break;case 16:e.prev=16,e.t0=e.catch(3),console.error("[MP4] loadAllFragmentData error",e.t0),n(e.t0);case 20:case"end":return e.stop()}}),e,this,[[3,16]])}))),function(e,t,n){return r.apply(this,arguments)})},{key:"cancelLoading",value:(t=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(){return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.MP4Loader;case 2:if(e.t0=e.sent,!e.t0){e.next=5;break}this.MP4Loader.cancel();case 5:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"update",value:function(e){this.url=e}},{key:"getDataBitRate",value:function(e){return this._segmentToBitRateMap.get(e)}},{key:"checkCodecH265",value:function(){var e,t;return this.meta&&(_indexOfInstanceProperty(e=this.meta.videoCodec).call(e,"hvc1")>-1||_indexOfInstanceProperty(t=this.meta.videoCodec).call(t,"hev1")>-1)}},{key:"destroy",value:function(){this.hasDestroyed||(this.resetTansmuxer(),this.transmuxerWorkerControl&&this.transmuxerWorkerControl.destroy(),this.size=0,this._isPending=!1,this._metaLoading=!1,this.bufferLoadedPos=0,this.bufferLoaded=new Uint8Array(0),this._bitRateInfoMap.clear(),this._segmentToBitRateMap.clear(),this.MP4Loader&&(this.MP4Loader.cancel(),this.MP4Loader.destroy()),this.hasDestroyed=!0)}},{key:"resetTansmuxer",value:function(){this.MP4Demuxer&&this.MP4Demuxer.reset(),this.MP4Demuxer=null,this.FMP4Remuxer&&this.FMP4Remuxer.reset(),this.FMP4Remuxer=null,this.transmuxerWorkerControl&&this.transmuxerWorkerControl.reset()}}],[{key:"getDefaultConfig",value:function(){return{onProcessMinLen:5120,xhrSetup:null,chunkSize:8e5,loadSize:800,isCache:!1,playerId:"",vid:"",ext:{}}}}]),d}();function getKeyFrameList(e){if(e.keyframe)return e}var ProxyPromise=function(){function e(){var t,r;_classCallCheck$8(this,e);var n=new _Promise((function(e,n){t=e,r=n}));return n.resolve=function(e){t(e),n.state="fulfilled"},n.reject=function(e){r(e),n.state="rejected",n.isBreak="DESTROYED"===e},n.state="pending",n}return _createClass$8(e,[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]),e}(),XHR=_createClass$8((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.url,n=t.method,i=void 0===n?"GET":n,o=t.type,a=void 0===o?"arraybuffer":o,s=t.data,l=void 0===s?{}:s;return _classCallCheck$8(this,e),new _Promise((function(e,t){var n,o=new window.XMLHttpRequest,s=i.toUpperCase(),c=[];if(a&&(o.responseType=a),_mapInstanceProperty(n=_Object$keys(l)).call(n,(function(e){c.push("k=".concat(l[e]))})),"GET"===s){var u;o.open(s,_concatInstanceProperty(u="".concat(r,"?")).call(u,c.join("&"))),o.send()}else{if("POST"!==s)throw new Error("xhr ".concat(s," is not supported"));o.open(s,r,!0),o.setRequestHeader("Content-Type","application/json"),o.send(_JSON$stringify(l))}o.onload=function(){200===o.status||206===o.status?e(o):t(o)},o.onerror=function(){t(o)}}))}));function getPlayLicenses(e,t,r){var n,i=new ProxyPromise;return new XHR({type:"json",method:"POST",url:r,data:{drm_type:"22",license_request:[{vid:e,kids:_concatInstanceProperty(n=[]).call(n,t)}]}}).then((function(r){var n=r.response;if(n){var o=n.play_licenses[e][t];i.resolve(o)}else i.reject()})).catch((function(){i.reject()})),i}function getKeyValue(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=new ProxyPromise;if(r){log$3("[getKeyValue]>before openBox");var o=n.awManager.openBox(r);if(log$3("[getKeyValue]>after openBox: ",o),t){var a={clearKeys:{}};a.clearKeys[t]=o,i.resolve(a)}else i.resolve(o)}else{var s=getPlayLicenses(e,t,n.config.getLicenseUrl);s.id="requestPromise",n._addPendingPromise(s),s.then((function(e){if(n._removePendingPromise(s),n.awManager){log$3("[getKeyValue]>before openBox");var r=n.awManager.openBox(e);log$3("[getKeyValue]>after openBox: ",r);var o={clearKeys:{}};o.clearKeys[t]=r,i.resolve(o)}else i.reject({errDes:"awManager not exist, player destroyed"}),log$3("[getKeyValue]>awManager not exist, player destroyed")})).catch((function(e){i.reject(e),log$3("[getKeyValue]>requestPromise reject")}))}return i}var userGestureEventMiddleware={playBtnClick:function(e,t,r,n){e.paused||e.waitingMoreBuffer&&(e.waitingMoreBuffer=!1),n.call(e,t,r)}},videoEventMiddleware={waiting:function(e,t){var r=e.player,n=e.eventName;r.waitingMoreBuffer=!0,t(n,e)},play:function(e,t){var r=e.player,n=e.eventName;r.waitingMoreBuffer||t(n,e)},pause:function(e,t){var r=e.player,n=e.eventName;r.waitingMoreBuffer||t(n,e)},seeking:function(e,t){var r=e.player,n=e.eventName;r.isSeekingStart=!0,t(n,e)},progress:function(e,t){log$3(">>>>progress");var r=e.player,n=e.eventName;if(r.waitingMoreBuffer){var i=r.getBufferedRange(r.buffered2);0===i[0]&&0===i[1]||(void 0===r.inWaitingStart||r.isSeekingStart?(log$3("progress 起播或seek结束"),i[1]-r.currentTime>=(r.config.canplayWaterLevel||1)||i[1]>r.duration-1?(log$3("progress 出起播水位"),r.play()):(log$3("progress 未出起播水位"),r.emit("waiting"))):(log$3("progress video卡顿结束"),i[1]-r.currentTime>=(r.config.bufferWaterLevel||5)||i[1]>r.duration-1?(log$3("progress 出卡顿水位"),r.play()):(log$3("progress 未出卡顿水位"),r.emit("waiting"))))}t(n,e)},playing:function(e,t){var r=e.player,n=e.eventName;log$3("playing");var i=r.getBufferedRange(r.buffered2);if(0===i[0]&&0===i[1])return log$3("playing 当前播放时刻没有缓存 未出水位"),r.waitingMoreBuffer=!0,r.pause(),void t.call("waiting",e);void 0===r.inWaitingStart||r.isSeekingStart?(log$3("playing 起播或seek结束"),i[1]-r.currentTime>=(r.config.canplayWaterLevel||1)||i[1]>r.duration-1?(log$3("playing 出起播水位"),r.waitingMoreBuffer=!1,r.isSeekingStart=!1,t(n,e)):(log$3("playing 未出起播水位"),r.waitingMoreBuffer=!0,r.pause(),t.call("waiting",e))):(log$3("playing video卡顿结束"),i[1]-r.currentTime>=(r.config.bufferWaterLevel||5)||i[1]>r.duration-1?(log$3("playing 出卡顿水位"),r.waitingMoreBuffer=!1,t(n,e)):(log$3("playing 未出卡顿水位"),r.waitingMoreBuffer=!0,r.pause(),t.call("waiting",e)))}};function offInDestroy(e,t,r,n){e.once(n,(function i(){e.off(t,r),e.off(n,i)}))}function on(e,t,r,n){if(n)e.on(t,r),offInDestroy(e,t,r,n);else{e.on(t,(function(e){r(e)}))}}var EME=function(e){_inherits$5(r,EventEmitter$1);var t=_createSuper$5(r);function r(e){var n;return _classCallCheck$8(this,r),(n=t.call(this)).drm=e,n.KEYSYSTEM_TYPE="",n.keys={},n.drm.clearKeys&&(n.KEYSYSTEM_TYPE="org.w3.clearkey",n.keys=n.drm.clearKeys),n.options=[],n.ensurePromise=void 0,n}return _createClass$8(r,[{key:"updateDrm",value:function(e){this.drm=e,this.keys=this.drm.clearKeys}},{key:"setOptions",value:function(){var e=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}],t={videoCapabilities:e},r={videoCapabilities:e,persistentState:"required",sessionTypes:["persistent-license"]};this.options=[r,t]}},{key:"bail",value:function(e){}},{key:"UpdateSessionFunc",value:function(e){var t=this;return function(r){var n,i=[],o=[];_forEachInstanceProperty(n=_Object$keys(e)).call(n,(function(t){var r=e[t],n=util.fromHex(t),a=util.fromHex(r),s={kty:"oct",kid:util.toBase64(n,!1),k:util.toBase64(a,!1)};i.push(s),o.push(s.kid)}));var a=_JSON$stringify({keys:i});r.target.update(util.StringToArrayBuffer(a)).then((function(){}),t.bail(" MediaKeySession update failed"))}}},{key:"KeysChange",value:function(e){}},{key:"EnsureMediaKeysCreated",value:function(e,t,r){return this.ensurePromise||(this.ensurePromise=navigator.requestMediaKeySystemAccess(t,r).then((function(e){return e.createMediaKeys()}),this.bail(" Failed to request key system access.")).then((function(t){return e.setMediaKeys(t)}),this.bail(" failed to create MediaKeys object"))),this.ensurePromise}},{key:"SetupEME",value:function(e,t){var r=this;e.sessions=[],on(this,"encrypted",(function(){var t=_JSON$stringify({kids:["0123456789abcdef0123456789abcdef"]}),n=new Uint8Array(util.toUTF8(t));r.EnsureMediaKeysCreated(e,r.KEYSYSTEM_TYPE,r.options).then((function(){var t=e.mediaKeys.createSession();return e.sessions.push(t),t.addEventListener("message",r.UpdateSessionFunc(_keysInstanceProperty(r))),t.addEventListener("keystatuseschange",r.KeysChange),t.generateRequest("keyids",n.buffer)}),r.bail(" failed to ensure MediaKeys on HTMLMediaElement")).then((function(){}),r.bail(" Failed to generate request."))}))}}]),r}(),WasmManager=function(){function e(){_classCallCheck$8(this,e),this.queue=[]}return _createClass$8(e,[{key:"push",value:function(e){this.queue.push(e)}},{key:"startup",value:function(){return _Promise.all(this.queue)}},{key:"destroy",value:function(){this.queue=[]}}]),e}(),apply$1=functionApply$1,toIndexedObject$4=toIndexedObject$q,toIntegerOrInfinity$1=toIntegerOrInfinity$j,lengthOfArrayLike$1=lengthOfArrayLike$v,arrayMethodIsStrict$3=arrayMethodIsStrict$g,min$1=Math.min,$lastIndexOf=[].lastIndexOf,NEGATIVE_ZERO=!!$lastIndexOf&&1/[1].lastIndexOf(1,-0)<0,STRICT_METHOD$3=arrayMethodIsStrict$3("lastIndexOf"),FORCED$8=NEGATIVE_ZERO||!STRICT_METHOD$3,arrayLastIndexOf=FORCED$8?function(e){if(NEGATIVE_ZERO)return apply$1($lastIndexOf,this,arguments)||0;var t=toIndexedObject$4(this),r=lengthOfArrayLike$1(t),n=r-1;for(arguments.length>1&&(n=min$1(n,toIntegerOrInfinity$1(arguments[1]))),n<0&&(n=r+n);n>=0;n--)if(n in t&&t[n]===e)return n||0;return-1}:$lastIndexOf,$$p=_export$1,lastIndexOf$8=arrayLastIndexOf;$$p({target:"Array",proto:!0,forced:arrayLastIndexOf!==[].lastIndexOf},{lastIndexOf:arrayLastIndexOf});var entryVirtual$1=entryVirtual$o,lastIndexOf$7=entryVirtual$1("Array").lastIndexOf,isPrototypeOf$3=objectIsPrototypeOf$1,method$1=lastIndexOf$7,ArrayPrototype$1=Array.prototype,lastIndexOf$6=function(e){var t=e.lastIndexOf;return e===ArrayPrototype$1||isPrototypeOf$3(ArrayPrototype$1,e)&&t===ArrayPrototype$1.lastIndexOf?method$1:t},parent$k=lastIndexOf$6,lastIndexOf$5=parent$k,parent$j=lastIndexOf$5,lastIndexOf$4=parent$j,parent$i=lastIndexOf$4,lastIndexOf$3=parent$i,lastIndexOf$2=lastIndexOf$3,lastIndexOf$1=lastIndexOf$2,_lastIndexOfInstanceProperty=getDefaultExportFromCjs(lastIndexOf$1),$$o=_export$1,fails$8=fails$1t,$imul$1=Math.imul,FORCED$7=fails$8((function(){return-5!=$imul$1(4294967295,5)||2!=$imul$1.length}));$$o({target:"Math",stat:!0,forced:FORCED$7},{imul:function(e,t){var r=65535,n=+e,i=+t,o=r&n,a=r&i;return 0|o*a+((r&n>>>16)*a+o*(r&i>>>16)<<16>>>0)}});var path$6=path$A,imul$5=path$6.Math.imul,parent$h=imul$5,imul$4=parent$h,parent$g=imul$4,imul$3=parent$g,parent$f=imul$3,imul$2=parent$f,imul$1=imul$2,imul2=imul$1,_Math$imul=getDefaultExportFromCjs(imul2),mathSign$1=Math.sign||function(e){var t=+e;return 0==t||t!=t?t:t<0?-1:1},sign$1=mathSign$1,abs$1=Math.abs,pow$2=Math.pow,EPSILON$1=pow$2(2,-52),EPSILON32$1=pow$2(2,-23),MAX32$1=pow$2(2,127)*(2-EPSILON32$1),MIN32$1=pow$2(2,-126),roundTiesToEven$1=function(e){return e+1/EPSILON$1-1/EPSILON$1},mathFround$1=Math.fround||function(e){var t,r,n=+e,i=abs$1(n),o=sign$1(n);return i<MIN32$1?o*roundTiesToEven$1(i/MIN32$1/EPSILON32$1)*MIN32$1*EPSILON32$1:(r=(t=(1+EPSILON32$1/EPSILON$1)*i)-(t-i))>MAX32$1||r!=r?o*(1/0):o*r},$$n=_export$1,fround$7=mathFround$1;$$n({target:"Math",stat:!0},{fround:fround$7});var path$5=path$A,fround$6=path$5.Math.fround,parent$e=fround$6,fround$5=parent$e,parent$d=fround$5,fround$4=parent$d,parent$c=fround$4,fround$3=parent$c,fround$2=fround$3,fround$1=fround$2,_Math$fround=getDefaultExportFromCjs(fround$1),$$m=_export$1,floor$2=Math.floor,log$2=Math.log,LOG2E$1=Math.LOG2E;$$m({target:"Math",stat:!0},{clz32:function(e){var t=e>>>0;return t?31-floor$2(log$2(t+.5)*LOG2E$1):32}});var path$4=path$A,clz32$5=path$4.Math.clz32,parent$b=clz32$5,clz32$4=parent$b,parent$a=clz32$4,clz32$3=parent$a,parent$9=clz32$3,clz32$2=parent$9,clz32$1=clz32$2,clz322=clz32$1,_Math$clz=getDefaultExportFromCjs(clz322),$$l=_export$1,trunc$7=mathTrunc$1;$$l({target:"Math",stat:!0},{trunc:trunc$7});var path$3=path$A,trunc$6=path$3.Math.trunc,parent$8=trunc$6,trunc$5=parent$8,parent$7=trunc$5,trunc$4=parent$7,parent$6=trunc$4,trunc$3=parent$6,trunc$2=trunc$3,trunc$1=trunc$2,_Math$trunc=getDefaultExportFromCjs(trunc$1),$$k=_export,lastIndexOf4=arrayLastIndexOf$1;$$k({target:"Array",proto:!0,forced:arrayLastIndexOf$1!==[].lastIndexOf},{lastIndexOf:arrayLastIndexOf$1});var $$j=_export,fails$7=fails$13,toIndexedObject$3=toIndexedObject$f,nativeGetOwnPropertyDescriptor$1=objectGetOwnPropertyDescriptor.f,DESCRIPTORS$5=descriptors,FAILS_ON_PRIMITIVES=fails$7((function(){nativeGetOwnPropertyDescriptor$1(1)})),FORCED$6=!DESCRIPTORS$5||FAILS_ON_PRIMITIVES;$$j({target:"Object",stat:!0,forced:FORCED$6,sham:!DESCRIPTORS$5},{getOwnPropertyDescriptor:function(e,t){return nativeGetOwnPropertyDescriptor$1(toIndexedObject$3(e),t)}});var $$i=_export,DESCRIPTORS$4=descriptors,defineProperty$2=objectDefineProperty.f;$$i({target:"Object",stat:!0,forced:Object.defineProperty!==defineProperty$2,sham:!DESCRIPTORS$4},{defineProperty:defineProperty$2});var createTypedArrayConstructor$6=typedArrayConstructorExports;createTypedArrayConstructor$6("Int8",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var createTypedArrayConstructor$5=typedArrayConstructorExports;createTypedArrayConstructor$5("Int16",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var createTypedArrayConstructor$4=typedArrayConstructorExports;createTypedArrayConstructor$4("Int32",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var createTypedArrayConstructor$3=typedArrayConstructorExports;createTypedArrayConstructor$3("Uint16",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var createTypedArrayConstructor$2=typedArrayConstructorExports;createTypedArrayConstructor$2("Uint32",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var createTypedArrayConstructor$1=typedArrayConstructorExports;createTypedArrayConstructor$1("Float32",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var createTypedArrayConstructor=typedArrayConstructorExports;createTypedArrayConstructor("Float64",(function(e){return function(t,r,n){return e(this,t,r,n)}}));var $$h=_export,fails$6=fails$13,$imul=Math.imul,FORCED$5=fails$6((function(){return-5!=$imul(4294967295,5)||2!=$imul.length}));$$h({target:"Math",stat:!0,forced:FORCED$5},{imul:function(e,t){var r=65535,n=+e,i=+t,o=r&n,a=r&i;return 0|o*a+((r&n>>>16)*a+o*(r&i>>>16)<<16>>>0)}});var mathSign=Math.sign||function(e){var t=+e;return 0==t||t!=t?t:t<0?-1:1},sign3=mathSign,abs=Math.abs,pow$1=Math.pow,EPSILON=pow$1(2,-52),EPSILON32=pow$1(2,-23),MAX32=pow$1(2,127)*(2-EPSILON32),MIN32=pow$1(2,-126),roundTiesToEven=function(e){return e+1/EPSILON-1/EPSILON},mathFround=Math.fround||function(e){var t,r,n=+e,i=abs(n),o=sign3(n);return i<MIN32?o*roundTiesToEven(i/MIN32/EPSILON32)*MIN32*EPSILON32:(r=(t=(1+EPSILON32/EPSILON)*i)-(t-i))>MAX32||r!=r?o*(1/0):o*r},$$g=_export,fround3=mathFround;$$g({target:"Math",stat:!0},{fround:fround3});var $$f=_export,floor$1=Math.floor,log$1=Math.log,LOG2E=Math.LOG2E;$$f({target:"Math",stat:!0},{clz32:function(e){var t=e>>>0;return t?31-floor$1(log$1(t+.5)*LOG2E):32}});var $$e=_export,trunc3=mathTrunc;$$e({target:"Math",stat:!0},{trunc:trunc3});var $$d=_export,uncurryThis$7=functionUncurryThisClause,getOwnPropertyDescriptor8=objectGetOwnPropertyDescriptor.f,toLength=toLength$d,toString$4=toString$p,notARegExp=notARegexp,requireObjectCoercible=requireObjectCoercible$f,correctIsRegExpLogic=correctIsRegexpLogic,nativeStartsWith=uncurryThis$7("".startsWith),stringSlice$2=uncurryThis$7("".slice),min=Math.min,CORRECT_IS_REGEXP_LOGIC=correctIsRegExpLogic("startsWith"),MDN_POLYFILL_BUG=!CORRECT_IS_REGEXP_LOGIC&&!!function(){var e=getOwnPropertyDescriptor8(String.prototype,"startsWith");return e&&!e.writable}();$$d({target:"String",proto:!0,forced:!MDN_POLYFILL_BUG&&!CORRECT_IS_REGEXP_LOGIC},{startsWith:function(e){var t=toString$4(requireObjectCoercible(this));notARegExp(e);var r=toLength(min(arguments.length>1?arguments[1]:void 0,t.length)),n=toString$4(e);return nativeStartsWith?nativeStartsWith(t,n,r):stringSlice$2(t,r,r+n.length)===n}});var aw=function(){var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(t){var r,n,i,o=void 0!==(t=t||{})?t:{},a={};for(i in o)o.hasOwnProperty(i)&&(a[i]=o[i]);var s=!0;if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var l,c="";if(document.currentScript&&(c=document.currentScript.src),e&&(c=e),c=0!==_indexOfInstanceProperty(c).call(c,"blob:")?c.substr(0,_lastIndexOfInstanceProperty(c).call(c,"/")+1):"","object"!==("undefined"==typeof window?"undefined":_typeof$4(window))&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var u,d=o.print||_bindInstanceProperty(r=console.log).call(r,console),p=o.printErr||_bindInstanceProperty(n=console.warn).call(n,console);for(i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);function y(e){y.shown||(y.shown={}),y.shown[e]||(y.shown[e]=1,p(e))}a=null,o.arguments&&o.arguments,_Object$getOwnPropertyDescriptor(o,"arguments")||_Object$defineProperty(o,"arguments",{configurable:!0,get:function(){K("Module.arguments has been replaced with plain arguments_")}}),o.thisProgram&&o.thisProgram,_Object$getOwnPropertyDescriptor(o,"thisProgram")||_Object$defineProperty(o,"thisProgram",{configurable:!0,get:function(){K("Module.thisProgram has been replaced with plain thisProgram")}}),o.quit&&o.quit,_Object$getOwnPropertyDescriptor(o,"quit")||_Object$defineProperty(o,"quit",{configurable:!0,get:function(){K("Module.quit has been replaced with plain quit_")}}),b(void 0===o.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),b(void 0===o.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),b(void 0===o.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),b(void 0===o.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),b(void 0===o.read,"Module.read option was removed (modify read_ in JS)"),b(void 0===o.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),b(void 0===o.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),b(void 0===o.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),_Object$getOwnPropertyDescriptor(o,"read")||_Object$defineProperty(o,"read",{configurable:!0,get:function(){K("Module.read has been replaced with plain read_")}}),_Object$getOwnPropertyDescriptor(o,"readAsync")||_Object$defineProperty(o,"readAsync",{configurable:!0,get:function(){K("Module.readAsync has been replaced with plain readAsync")}}),_Object$getOwnPropertyDescriptor(o,"readBinary")||_Object$defineProperty(o,"readBinary",{configurable:!0,get:function(){K("Module.readBinary has been replaced with plain readBinary")}}),ye=function(){K("cannot use the stack before compiled code is ready to run, and has provided stack access")},o.wasmBinary&&(u=o.wasmBinary),_Object$getOwnPropertyDescriptor(o,"wasmBinary")||_Object$defineProperty(o,"wasmBinary",{configurable:!0,get:function(){K("Module.wasmBinary has been replaced with plain wasmBinary")}}),o.noExitRuntime&&o.noExitRuntime,_Object$getOwnPropertyDescriptor(o,"noExitRuntime")||_Object$defineProperty(o,"noExitRuntime",{configurable:!0,get:function(){K("Module.noExitRuntime has been replaced with plain noExitRuntime")}});var h,f={Memory:function(e){return{buffer:new ArrayBuffer(65536*e.initial),grow:function(e){var t=this.buffer,r=fe(e);return b(this.buffer!==t),r}}},Table:function(e){var t=new Array(e.initial);return t.grow=function(e){t.length>=1&&K("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),t.push(null)},t.set=function(e,r){t[e]=r},t.get=function(e){return t[e]},t},Module:function(e){return{}},Instance:function(e,t){var r,n=(r=$,function(e,t,n){var i=t.memory,o=r,a=new e.Int8Array(n);new e.Int16Array(n);var s=new e.Int32Array(n),l=new e.Uint8Array(n);new e.Uint16Array(n);var c=new e.Uint32Array(n);new e.Float32Array(n),new e.Float64Array(n);var u=e.Math.imul;e.Math.fround,e.Math.abs,e.Math.clz32,e.Math.min,e.Math.max,e.Math.floor,e.Math.ceil,e.Math.sqrt,t.abort,e.NaN,e.Infinity;var d=t.emscripten_memcpy_big,p=t.emscripten_resize_heap,y=t.__unlock,h=t.__lock,f=9744;function $(e){var t,r=0;return t=T(),(e=(r=s[388])+e|0)>>>0<=t<<16>>>0||p(0|e)?(s[388]=e,r):(s[256]=48,-1)}function m(e){var t,r=0,n=0,i=0,o=0,a=0,u=0,d=0,p=0,y=0,h=0,m=0,b=0;f=t=f-16|0;e:{t:{r:{n:{i:{o:{a:{s:{l:{c:{u:{if((e|=0)>>>0<=244){if(3&(r=(a=s[261])>>>(e=(u=e>>>0<11?16:e+11&-8)>>>3))){e=(r=s[1092+(o=(n=e+(1&(-1^r))|0)<<3)>>2])+8|0,(0|(i=s[r+8>>2]))!=(0|(o=o+1084|0))?(s[i+12>>2]=o,s[o+8>>2]=i):(m=1044,b=I(n)&a,s[m>>2]=b),n<<=3,s[r+4>>2]=3|n,s[4+(r=r+n|0)>>2]=1|s[r+4>>2];break e}if(u>>>0<=(p=s[263])>>>0)break u;if(r){n=r=(e=(0-(e=(0-(n=2<<e)|n)&r<<e)&e)-1|0)>>>12&16,n|=r=(e>>>=r)>>>5&8,n|=r=(e>>>=r)>>>2&4,r=s[1092+(i=(n=((n|=r=(e>>>=r)>>>1&2)|(r=(e>>>=r)>>>1&1))+(e>>>r)|0)<<3)>>2],(0|(e=s[r+8>>2]))!=(0|(i=i+1084|0))?(s[e+12>>2]=i,s[i+8>>2]=e):(a=I(n)&a,s[261]=a),e=r+8|0,s[r+4>>2]=3|u,o=(n<<=3)-u|0,s[4+(d=r+u|0)>>2]=1|o,s[r+n>>2]=o,p&&(r=1084+((n=p>>>3)<<3)|0,i=s[266],(n=1<<n)&a?n=s[r+8>>2]:(s[261]=n|a,n=r),s[r+8>>2]=i,s[n+12>>2]=i,s[i+12>>2]=r,s[i+8>>2]=n),s[266]=d,s[263]=o;break e}if(!(h=s[262]))break u;for(n=r=(e=(h&0-h)-1|0)>>>12&16,n|=r=(e>>>=r)>>>5&8,n|=r=(e>>>=r)>>>2&4,r=s[1348+(((n|=r=(e>>>=r)>>>1&2)|(r=(e>>>=r)>>>1&1))+(e>>>r)<<2)>>2],i=(-8&s[r+4>>2])-u|0,n=r;(e=s[n+16>>2])||(e=s[n+20>>2]);)i=(n=(o=(-8&s[e+4>>2])-u|0)>>>0<i>>>0)?o:i,r=n?e:r,n=e;if(y=s[r+24>>2],(0|(o=s[r+12>>2]))!=(0|r)){e=s[r+8>>2],s[e+12>>2]=o,s[o+8>>2]=e;break t}if(!(e=s[(n=r+20|0)>>2])){if(!(e=s[r+16>>2]))break c;n=r+16|0}for(;d=n,o=e,(e=s[(n=e+20|0)>>2])||(n=o+16|0,e=s[o+16>>2]););s[d>>2]=0;break t}if(u=-1,!(e>>>0>4294967231)&&(u=-8&(r=e+11|0),p=s[262])){n=0-u|0,a=0,(r>>>=8)&&(a=31,u>>>0>16777215||(a=28+((e=((a=(r<<=i=r+1048320>>>16&8)<<(e=r+520192>>>16&4))<<(r=a+245760>>>16&2)>>>15)-(r|e|i)|0)<<1|u>>>e+21&1)|0));d:{p:{if(i=s[1348+(a<<2)>>2])for(r=u<<(31==(0|a)?0:25-(a>>>1)|0),e=0;;){if(!((d=(-8&s[i+4>>2])-u|0)>>>0>=n>>>0||(o=i,n=d))){n=0,e=i;break p}if(d=s[i+20>>2],i=s[16+((r>>>29&4)+i|0)>>2],e=d?(0|d)==(0|i)?e:d:e,r<<=0!=(0|i),!i)break}else e=0;if(!(e|o)){if(!(e=(0-(e=2<<a)|e)&p))break u;i=r=(e=(e&0-e)-1|0)>>>12&16,i|=r=(e>>>=r)>>>5&8,i|=r=(e>>>=r)>>>2&4,e=s[1348+(((i|=r=(e>>>=r)>>>1&2)|(r=(e>>>=r)>>>1&1))+(e>>>r)<<2)>>2]}if(!e)break d}for(;n=(r=(i=(-8&s[e+4>>2])-u|0)>>>0<n>>>0)?i:n,o=r?e:o,e=(r=s[e+16>>2])||s[e+20>>2];);}if(!(!o|n>>>0>=s[263]-u>>>0)){if(d=s[o+24>>2],(0|o)!=(0|(r=s[o+12>>2]))){e=s[o+8>>2],s[e+12>>2]=r,s[r+8>>2]=e;break r}if(!(e=s[(i=o+20|0)>>2])){if(!(e=s[o+16>>2]))break l;i=o+16|0}for(;a=i,r=e,(e=s[(i=e+20|0)>>2])||(i=r+16|0,e=s[r+16>>2]););s[a>>2]=0;break r}}}if((r=s[263])>>>0>=u>>>0){e=s[266],(n=r-u|0)>>>0>=16?(s[263]=n,i=e+u|0,s[266]=i,s[i+4>>2]=1|n,s[e+r>>2]=n,s[e+4>>2]=3|u):(s[266]=0,s[263]=0,s[e+4>>2]=3|r,s[4+(r=e+r|0)>>2]=1|s[r+4>>2]),e=e+8|0;break e}if((i=s[264])>>>0>u>>>0){r=i-u|0,s[264]=r,n=(e=s[267])+u|0,s[267]=n,s[n+4>>2]=1|r,s[e+4>>2]=3|u,e=e+8|0;break e}if(e=0,n=o=u+47|0,s[379]?r=s[381]:(s[382]=-1,s[383]=-1,s[380]=4096,s[381]=4096,s[379]=t+12&-16^1431655768,s[384]=0,s[372]=0,r=4096),(n=(a=n+r|0)&(d=0-r|0))>>>0<=u>>>0)break e;if((r=s[371])&&(y=(p=s[369])+n|0)>>>0<=p>>>0|y>>>0>r>>>0)break e;if(4&l[1488])break o;u:{d:{if(r=s[267])for(e=1492;;){if((p=s[e>>2])+s[e+4>>2]>>>0>r>>>0&&p>>>0<=r>>>0)break d;if(!(e=s[e+8>>2]))break}if(-1==(0|(r=$(0))))break a;if(a=n,(i=(e=s[380])+-1|0)&r&&(a=(n-r|0)+(r+i&0-e)|0),a>>>0<=u>>>0|a>>>0>2147483646)break a;if((e=s[371])&&(d=(i=s[369])+a|0)>>>0<=i>>>0|d>>>0>e>>>0)break a;if((0|r)!=(0|(e=$(a))))break u;break i}if((a=d&a-i)>>>0>2147483646)break a;if((0|(r=$(a)))==(s[e>>2]+s[e+4>>2]|0))break s;e=r}if(r=e,!(u+48>>>0<=a>>>0|a>>>0>2147483646|-1==(0|e))){if((e=(e=s[381])+(o-a|0)&0-e)>>>0>2147483646)break i;if(-1!=(0|$(e))){a=e+a|0;break i}$(0-a|0);break a}if(-1!=(0|r))break i;break a}o=0;break t}r=0;break r}if(-1!=(0|r))break i}s[372]=4|s[372]}if(n>>>0>2147483646)break n;if((r=$(n))>>>0>=(e=$(0))>>>0|-1==(0|r)|-1==(0|e))break n;if((a=e-r|0)>>>0<=u+40>>>0)break n}e=s[369]+a|0,s[369]=e,e>>>0>c[370]&&(s[370]=e);i:{o:{a:{if(n=s[267]){for(e=1492;;){if(((i=s[e>>2])+(o=s[e+4>>2])|0)==(0|r))break a;if(!(e=s[e+8>>2]))break}break o}for(r>>>0>=(e=s[265])>>>0&&e||(s[265]=r),e=0,s[374]=a,s[373]=r,s[269]=-1,s[270]=s[379],s[376]=0;i=1084+(n=e<<3)|0,s[n+1092>>2]=i,s[n+1096>>2]=i,32!=(0|(e=e+1|0)););i=(e=a+-40|0)-(n=r+8&7?-8-r&7:0)|0,s[264]=i,n=r+n|0,s[267]=n,s[n+4>>2]=1|i,s[4+(e+r|0)>>2]=40,s[268]=s[383];break i}if(!(8&l[e+12|0]|r>>>0<=n>>>0|i>>>0>n>>>0)){s[e+4>>2]=o+a,r=(e=n+8&7?-8-n&7:0)+n|0,s[267]=r,e=(i=s[264]+a|0)-e|0,s[264]=e,s[r+4>>2]=1|e,s[4+(n+i|0)>>2]=40,s[268]=s[383];break i}}r>>>0<(o=s[265])>>>0&&(s[265]=r,o=0),i=r+a|0,e=1492;o:{a:{s:{l:{c:{u:{for(;;){if((0|i)!=s[e>>2]){if(e=s[e+8>>2])continue;break u}break}if(!(8&l[e+12|0]))break c}for(e=1492;;){if((i=s[e>>2])>>>0<=n>>>0&&(o=i+s[e+4>>2]|0)>>>0>n>>>0)break l;e=s[e+8>>2]}}if(s[e>>2]=r,s[e+4>>2]=s[e+4>>2]+a,s[4+(y=(r+8&7?-8-r&7:0)+r|0)>>2]=3|u,e=((r=i+(i+8&7?-8-i&7:0)|0)-y|0)-u|0,d=u+y|0,(0|r)==(0|n)){s[267]=d,e=s[264]+e|0,s[264]=e,s[d+4>>2]=1|e;break a}if(s[266]==(0|r)){s[266]=d,e=s[263]+e|0,s[263]=e,s[d+4>>2]=1|e,s[e+d>>2]=e;break a}if(1==(3&(n=s[r+4>>2]))){h=-8&n;c:if(n>>>0<=255){if(o=n>>>3,n=s[r+8>>2],(0|(i=s[r+12>>2]))==(0|n)){m=1044,b=s[261]&I(o),s[m>>2]=b;break c}s[n+12>>2]=i,s[i+8>>2]=n}else{if(p=s[r+24>>2],(0|(a=s[r+12>>2]))==(0|r))if((u=s[(i=r+20|0)>>2])||(u=s[(i=r+16|0)>>2])){for(;n=i,a=u,(u=s[(i=u+20|0)>>2])||(i=a+16|0,u=s[a+16>>2]););s[n>>2]=0}else a=0;else n=s[r+8>>2],s[n+12>>2]=a,s[a+8>>2]=n;if(p){n=s[r+28>>2];u:{if(s[(i=1348+(n<<2)|0)>>2]==(0|r)){if(s[i>>2]=a,a)break u;m=1048,b=s[262]&I(n),s[m>>2]=b;break c}if(s[p+(s[p+16>>2]==(0|r)?16:20)>>2]=a,!a)break c}s[a+24>>2]=p,(n=s[r+16>>2])&&(s[a+16>>2]=n,s[n+24>>2]=a),(n=s[r+20>>2])&&(s[a+20>>2]=n,s[n+24>>2]=a)}}r=r+h|0,e=e+h|0}if(s[r+4>>2]=-2&s[r+4>>2],s[d+4>>2]=1|e,s[e+d>>2]=e,e>>>0<=255){e=1084+((r=e>>>3)<<3)|0,(n=s[261])&(r=1<<r)?r=s[e+8>>2]:(s[261]=r|n,r=e),s[e+8>>2]=d,s[r+12>>2]=d,s[d+12>>2]=e,s[d+8>>2]=r;break a}if(r=0,(i=e>>>8)&&(r=31,e>>>0>16777215||(r=28+((r=((u=(i<<=o=i+1048320>>>16&8)<<(r=i+520192>>>16&4))<<(i=u+245760>>>16&2)>>>15)-(i|r|o)|0)<<1|e>>>r+21&1)|0)),s[(n=d)+28>>2]=r,s[d+16>>2]=0,s[d+20>>2]=0,n=1348+(r<<2)|0,(i=s[262])&(o=1<<r)){for(i=e<<(31==(0|r)?0:25-(r>>>1)|0),r=s[n>>2];;){if(n=r,(-8&s[r+4>>2])==(0|e))break s;if(r=i>>>29,i<<=1,!(r=s[16+(o=(4&r)+n|0)>>2]))break}s[o+16>>2]=d}else s[262]=i|o,s[n>>2]=d;s[d+24>>2]=n,s[d+12>>2]=d,s[d+8>>2]=d;break a}for(d=(e=a+-40|0)-(i=r+8&7?-8-r&7:0)|0,s[264]=d,i=r+i|0,s[267]=i,s[i+4>>2]=1|d,s[4+(e+r|0)>>2]=40,s[268]=s[383],s[(i=(e=(o+(o+-39&7?39-o&7:0)|0)-47|0)>>>0<n+16>>>0?n:e)+4>>2]=27,e=s[376],s[i+16>>2]=s[375],s[i+20>>2]=e,e=s[374],s[i+8>>2]=s[373],s[i+12>>2]=e,s[375]=i+8,s[374]=a,s[373]=r,s[376]=0,e=i+24|0;s[e+4>>2]=7,r=e+8|0,e=e+4|0,r>>>0<o>>>0;);if((0|n)==(0|i))break i;if(s[i+4>>2]=-2&s[i+4>>2],o=i-n|0,s[n+4>>2]=1|o,s[i>>2]=o,o>>>0<=255){e=1084+((r=o>>>3)<<3)|0,(i=s[261])&(r=1<<r)?r=s[e+8>>2]:(s[261]=r|i,r=e),s[e+8>>2]=n,s[r+12>>2]=n,s[n+12>>2]=e,s[n+8>>2]=r;break i}if(s[n+16>>2]=0,s[n+20>>2]=0,e=0,(i=o>>>8)&&(e=31,o>>>0>16777215||(e=28+((e=((d=(i<<=a=i+1048320>>>16&8)<<(e=i+520192>>>16&4))<<(i=d+245760>>>16&2)>>>15)-(i|e|a)|0)<<1|o>>>e+21&1)|0)),s[(r=n)+28>>2]=e,r=1348+(e<<2)|0,(i=s[262])&(a=1<<e)){for(e=o<<(31==(0|e)?0:25-(e>>>1)|0),r=s[r>>2];;){if(i=r,(0|o)==(-8&s[r+4>>2]))break o;if(r=e>>>29,e<<=1,!(r=s[16+(a=i+(4&r)|0)>>2]))break}s[a+16>>2]=n,s[n+24>>2]=i}else s[262]=i|a,s[r>>2]=n,s[n+24>>2]=r;s[n+12>>2]=n,s[n+8>>2]=n;break i}e=s[n+8>>2],s[e+12>>2]=d,s[n+8>>2]=d,s[d+24>>2]=0,s[d+12>>2]=n,s[d+8>>2]=e}e=y+8|0;break e}e=s[i+8>>2],s[e+12>>2]=n,s[i+8>>2]=n,s[n+24>>2]=0,s[n+12>>2]=i,s[n+8>>2]=e}if(!((e=s[264])>>>0<=u>>>0)){r=e-u|0,s[264]=r,n=(e=s[267])+u|0,s[267]=n,s[n+4>>2]=1|r,s[e+4>>2]=3|u,e=e+8|0;break e}}s[256]=48,e=0;break e}r:if(d){e=s[o+28>>2];n:{if(s[(i=1348+(e<<2)|0)>>2]==(0|o)){if(s[i>>2]=r,r)break n;p=I(e)&p,s[262]=p;break r}if(s[d+(s[d+16>>2]==(0|o)?16:20)>>2]=r,!r)break r}s[r+24>>2]=d,(e=s[o+16>>2])&&(s[r+16>>2]=e,s[e+24>>2]=r),(e=s[o+20>>2])&&(s[r+20>>2]=e,s[e+24>>2]=r)}r:if(n>>>0<=15)e=n+u|0,s[o+4>>2]=3|e,s[4+(e=e+o|0)>>2]=1|s[e+4>>2];else if(s[o+4>>2]=3|u,s[4+(i=o+u|0)>>2]=1|n,s[n+i>>2]=n,n>>>0<=255)e=1084+((r=n>>>3)<<3)|0,(n=s[261])&(r=1<<r)?r=s[e+8>>2]:(s[261]=r|n,r=e),s[e+8>>2]=i,s[r+12>>2]=i,s[i+12>>2]=e,s[i+8>>2]=r;else{e=0,(u=n>>>8)&&(e=31,n>>>0>16777215||(e=28+((e=((d=(u<<=a=u+1048320>>>16&8)<<(e=u+520192>>>16&4))<<(u=d+245760>>>16&2)>>>15)-(u|e|a)|0)<<1|n>>>e+21&1)|0)),s[(r=i)+28>>2]=e,s[i+16>>2]=0,s[i+20>>2]=0,r=1348+(e<<2)|0;n:{if((u=1<<e)&p){for(e=n<<(31==(0|e)?0:25-(e>>>1)|0),u=s[r>>2];;){if((-8&s[(r=u)+4>>2])==(0|n))break n;if(u=e>>>29,e<<=1,!(u=s[16+(a=(4&u)+r|0)>>2]))break}s[a+16>>2]=i}else s[262]=u|p,s[r>>2]=i;s[i+24>>2]=r,s[i+12>>2]=i,s[i+8>>2]=i;break r}e=s[r+8>>2],s[e+12>>2]=i,s[r+8>>2]=i,s[i+24>>2]=0,s[i+12>>2]=r,s[i+8>>2]=e}e=o+8|0;break e}t:if(y){e=s[r+28>>2];r:{if(s[(n=1348+(e<<2)|0)>>2]==(0|r)){if(s[n>>2]=o,o)break r;m=1048,b=I(e)&h,s[m>>2]=b;break t}if(s[y+(s[y+16>>2]==(0|r)?16:20)>>2]=o,!o)break t}s[o+24>>2]=y,(e=s[r+16>>2])&&(s[o+16>>2]=e,s[e+24>>2]=o),(e=s[r+20>>2])&&(s[o+20>>2]=e,s[e+24>>2]=o)}i>>>0<=15?(e=i+u|0,s[r+4>>2]=3|e,s[4+(e=e+r|0)>>2]=1|s[e+4>>2]):(s[r+4>>2]=3|u,s[4+(u=r+u|0)>>2]=1|i,s[i+u>>2]=i,p&&(e=1084+((n=p>>>3)<<3)|0,o=s[266],(n=1<<n)&a?n=s[e+8>>2]:(s[261]=n|a,n=e),s[e+8>>2]=o,s[n+12>>2]=o,s[o+12>>2]=e,s[o+8>>2]=n),s[266]=u,s[263]=i),e=r+8|0}return f=t+16|0,0|e}function b(e){var t=0,r=0,n=0,i=0,o=0,a=0,l=0,u=0,d=0;e:if(e|=0){o=(n=e+-8|0)+(e=-8&(r=s[e+-4>>2]))|0;t:if(!(1&r)){if(!(3&r))break e;if((n=n-(r=s[n>>2])|0)>>>0<c[265])break e;if(e=e+r|0,s[266]==(0|n)){if(3==(3&(r=s[o+4>>2])))return s[263]=e,s[o+4>>2]=-2&r,s[n+4>>2]=1|e,void(s[e+n>>2]=e)}else{if(r>>>0<=255){if(i=s[n+8>>2],r>>>=3,(0|(t=s[n+12>>2]))==(0|i)){u=1044,d=s[261]&I(r),s[u>>2]=d;break t}s[i+12>>2]=t,s[t+8>>2]=i;break t}if(l=s[n+24>>2],(0|n)==(0|(r=s[n+12>>2])))if((t=s[(i=n+20|0)>>2])||(t=s[(i=n+16|0)>>2])){for(;a=i,(t=s[(i=(r=t)+20|0)>>2])||(i=r+16|0,t=s[r+16>>2]););s[a>>2]=0}else r=0;else t=s[n+8>>2],s[t+12>>2]=r,s[r+8>>2]=t;if(!l)break t;i=s[n+28>>2];r:{if(s[(t=1348+(i<<2)|0)>>2]==(0|n)){if(s[t>>2]=r,r)break r;u=1048,d=s[262]&I(i),s[u>>2]=d;break t}if(s[l+(s[l+16>>2]==(0|n)?16:20)>>2]=r,!r)break t}if(s[r+24>>2]=l,(t=s[n+16>>2])&&(s[r+16>>2]=t,s[t+24>>2]=r),!(t=s[n+20>>2]))break t;s[r+20>>2]=t,s[t+24>>2]=r}}if(!(o>>>0<=n>>>0)&&1&(r=s[o+4>>2])){t:{if(!(2&r)){if(s[267]==(0|o)){if(s[267]=n,e=s[264]+e|0,s[264]=e,s[n+4>>2]=1|e,s[266]!=(0|n))break e;return s[263]=0,void(s[266]=0)}if(s[266]==(0|o))return s[266]=n,e=s[263]+e|0,s[263]=e,s[n+4>>2]=1|e,void(s[e+n>>2]=e);e=(-8&r)+e|0;r:if(r>>>0<=255){if(r>>>=3,(0|(t=s[o+8>>2]))==(0|(i=s[o+12>>2]))){u=1044,d=s[261]&I(r),s[u>>2]=d;break r}s[t+12>>2]=i,s[i+8>>2]=t}else{if(l=s[o+24>>2],(0|o)==(0|(r=s[o+12>>2])))if((t=s[(i=o+20|0)>>2])||(t=s[(i=o+16|0)>>2])){for(;a=i,(t=s[(i=(r=t)+20|0)>>2])||(i=r+16|0,t=s[r+16>>2]););s[a>>2]=0}else r=0;else t=s[o+8>>2],s[t+12>>2]=r,s[r+8>>2]=t;if(l){i=s[o+28>>2];n:{if(s[(t=1348+(i<<2)|0)>>2]==(0|o)){if(s[t>>2]=r,r)break n;u=1048,d=s[262]&I(i),s[u>>2]=d;break r}if(s[l+(s[l+16>>2]==(0|o)?16:20)>>2]=r,!r)break r}s[r+24>>2]=l,(t=s[o+16>>2])&&(s[r+16>>2]=t,s[t+24>>2]=r),(t=s[o+20>>2])&&(s[r+20>>2]=t,s[t+24>>2]=r)}}if(s[n+4>>2]=1|e,s[e+n>>2]=e,s[266]!=(0|n))break t;return void(s[263]=e)}s[o+4>>2]=-2&r,s[n+4>>2]=1|e,s[e+n>>2]=e}if(e>>>0<=255)return r=1084+((e>>>=3)<<3)|0,(t=s[261])&(e=1<<e)?e=s[r+8>>2]:(s[261]=e|t,e=r),s[r+8>>2]=n,s[e+12>>2]=n,s[n+12>>2]=r,void(s[n+8>>2]=e);s[n+16>>2]=0,s[n+20>>2]=0,t=0,(i=e>>>8)&&(t=31,e>>>0>16777215||(t=i,t<<=i=i+1048320>>>16&8,t=28+((t=((t<<=l=t+520192>>>16&4)<<(a=t+245760>>>16&2)>>>15)-(a|i|l)|0)<<1|e>>>t+21&1)|0)),s[(r=n)+28>>2]=t,a=1348+(t<<2)|0;t:if((i=s[262])&(r=1<<t)){i=e<<(31==(0|t)?0:25-(t>>>1)|0),r=s[a>>2];r:{for(;;){if(t=r,(-8&s[r+4>>2])==(0|e))break r;if(r=i>>>29,i<<=1,!(r=s[16+(a=t+(4&r)|0)>>2]))break}s[a+16>>2]=n,s[n+12>>2]=n,s[n+24>>2]=t,s[n+8>>2]=n;break t}e=s[t+8>>2],s[e+12>>2]=n,s[t+8>>2]=n,s[n+24>>2]=0,s[n+12>>2]=t,s[n+8>>2]=e}else s[262]=r|i,s[a>>2]=n,s[n+12>>2]=n,s[n+24>>2]=a,s[n+8>>2]=n;if(e=s[269]+-1|0,s[269]=e,!e){for(n=1500;n=(e=s[n>>2])+8|0,e;);s[269]=-1}}}}function g(e){var t,r=0;return c[e+20>>2]<=c[e+28>>2]||(o[s[e+36>>2]](e,0,0),s[e+20>>2])?((r=s[e+4>>2])>>>0<(t=s[e+8>>2])>>>0&&(r=r-t|0,o[s[e+40>>2]](e,r,r>>31,1)),s[e+28>>2]=0,s[e+16>>2]=0,s[e+20>>2]=0,s[e+4>>2]=0,s[e+8>>2]=0,0):-1}function S(e){for(var t=0,r=0;r=t,e;)e&=e-1,t=t+1|0;return r}function I(e){var t;return(-1>>>(t=31&e)&-2)<<t|(-1<<(e=0-e&31)&-2)>>>e}function T(){return n.byteLength/65536|0}return{__wasm_call_ctors:function(){},malloc:m,openBox:function(e,t){e|=0,t|=0;var r,n,i,o=0;return f=r=f-16|0,s[r+12>>2]=0,s[r+8>>2]=0,s[r+4>>2]=0,s[r>>2]=0,function(e,t,r,n,i,o){var c=0,u=0,d=0,p=0,y=0,h=0;if(c=(l[e+2|0]^l[e+1|0]^l[0|e])<<24>>24,s[o>>2]=c+-48,c=47+(t-c|0)|0,s[n>>2]=c,y=r,h=m(c),s[y>>2]=h,u=s[o>>2],d=m(u),s[i>>2]=d,(0|u)>0)for(c=u;;){if(d=(u-c|0)+d|0,u=(t-u|0)+e|0,a[0|d]=l[(t-c|0)+e|0]^l[u+-1|0]^l[u+-2|0],(0|(c=c+-1|0))<1){c=s[n>>2];break}d=s[i>>2],u=s[o>>2]}if((0|c)>0)for(;t=s[r>>2]+p|0,p=p+1|0,a[0|t]=l[p+e|0],(0|p)<s[n>>2];);}(e,t,r+12|0,r+4|0,r+8|0,r),function(e,t){var r=0,n=0,i=0,o=0,s=0,c=0,u=0;if((0|t)>=1)for(i=85,o=250;n=S(r),s=l[0|(c=e+r|0)],u=n,n=1&r,a[0|c]=u+(21+((s^(n?i:o))<<24>>24)|0),o=n?o:s,i=n?s:i,(0|(r=r+1|0))!=(0|t););}(e=s[r+12>>2],t=s[r+4>>2]),n=function(e){var t=0;return(255&(t=e+-48|0))>>>0<=9?t<<24>>24:((e+-97&255)>>>0<26?e+-87|0:-1)<<24>>24}(a[0|e]),s[r>>2]=n,i=m(o=t-n|0),a[i+(o=o+-1|0)|0]=0,(0|o)>=1&&function(e,t,r){var n,i=0;if(r>>>0>=8192)d(0|e,0|t,0|r);else{n=e+r|0;e:if(3&(e^t))if(n>>>0<4)r=e;else if((i=n+-4|0)>>>0<e>>>0)r=e;else for(r=e;a[0|r]=l[0|t],a[r+1|0]=l[t+1|0],a[r+2|0]=l[t+2|0],a[r+3|0]=l[t+3|0],t=t+4|0,(r=r+4|0)>>>0<=i>>>0;);else{t:if((0|r)<1)r=e;else if(3&e)for(r=e;;){if(a[0|r]=l[0|t],t=t+1|0,(r=r+1|0)>>>0>=n>>>0)break t;if(!(3&r))break}else r=e;if(!((e=-4&n)>>>0<64||r>>>0>(i=e+-64|0)>>>0))for(;s[r>>2]=s[t>>2],s[r+4>>2]=s[t+4>>2],s[r+8>>2]=s[t+8>>2],s[r+12>>2]=s[t+12>>2],s[r+16>>2]=s[t+16>>2],s[r+20>>2]=s[t+20>>2],s[r+24>>2]=s[t+24>>2],s[r+28>>2]=s[t+28>>2],s[r+32>>2]=s[t+32>>2],s[r+36>>2]=s[t+36>>2],s[r+40>>2]=s[t+40>>2],s[r+44>>2]=s[t+44>>2],s[r+48>>2]=s[t+48>>2],s[r+52>>2]=s[t+52>>2],s[r+56>>2]=s[t+56>>2],s[r+60>>2]=s[t+60>>2],t=t- -64|0,(r=r- -64|0)>>>0<=i>>>0;);if(r>>>0>=e>>>0)break e;for(;s[r>>2]=s[t>>2],t=t+4|0,(r=r+4|0)>>>0<e>>>0;);}if(r>>>0<n>>>0)for(;a[0|r]=l[0|t],t=t+1|0,(0|n)!=(0|(r=r+1|0)););}}(i,e+1|0,t+(-1^n)|0),b(e),b(s[r+8>>2]),f=r+16|0,0|i},free:b,__errno_location:function(){return 1024},fflush:function e(t){var r=0;if(t|=0)return s[t+76>>2],0|g(t);if(s[260]&&(r=e(s[260])),h(1028),t=s[259])for(;c[t+20>>2]>c[t+28>>2]&&(r=g(t)|r),t=s[t+56>>2];);return y(1028),0|r},setThrew:function(e,t){e|=0,t|=0,s[385]||(s[386]=t,s[385]=e)},stackSave:function(){return 0|f},stackAlloc:function(e){return f=e=f-(e|=0)&-16,0|e},stackRestore:function(e){f=e|=0},__growWasmMemory:function(t){return 0|function(t){t|=0;var r=0|T(),o=r+t|0;if(r<o&&o<65536){var d=new ArrayBuffer(u(o,65536)),p=new e.Int8Array(d);p.set(a),a=p,a=new e.Int8Array(d),new e.Int16Array(d),s=new e.Int32Array(d),l=new e.Uint8Array(d),new e.Uint16Array(d),c=new e.Uint32Array(d),new e.Float32Array(d),new e.Float64Array(d),n=d,i.buffer=d}return r}(0|(t|=0))}}}({Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,Math:Math},Q,h.buffer));return{exports:n}},instantiate:function(e,t){return{then:function(r,n){r({instance:new f.Instance(new f.Module(e,t))})}}},RuntimeError:Error};u=[],"object"!==_typeof$4(f)&&K("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.");var $=new f.Table({initial:1,maximum:1,element:"anyfunc"}),m=!1;function b(e,t){e||K("Assertion failed: "+t)}var g="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function S(e,t,r,n){if(!(n>0))return 0;for(var i=r,o=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(r>=o)break;t[r++]=s}else if(s<=2047){if(r+1>=o)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=o)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=o)break;s>=2097152&&y("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-i}function I(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var T,v,_,P,E;function R(e,t){return e%t>0&&(e+=t-e%t),e}function O(e){T=e,o.HEAP8=v=new Int8Array(e),o.HEAP16=new Int16Array(e),o.HEAP32=P=new Int32Array(e),o.HEAPU8=_=new Uint8Array(e),o.HEAPU16=new Uint16Array(e),o.HEAPU32=E=new Uint32Array(e),o.HEAPF32=new Float32Array(e),o.HEAPF64=new Float64Array(e)}var C=1712;b(!0,"stack must start aligned"),b(!0,"heap must start aligned");var w=8192;o.TOTAL_STACK&&b(w===o.TOTAL_STACK,"the stack size can no longer be determined at runtime");var L=o.TOTAL_MEMORY||65536;function x(){b(0==(3&C)),E[1+(C>>2)]=34821223,E[2+(C>>2)]=2310721022,P[0]=1668509029}function Z(){var e=E[1+(C>>2)],t=E[2+(C>>2)];34821223==e&&2310721022==t||K("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+t.toString(16)+" "+e.toString(16)),1668509029!==P[0]&&K("Runtime error: The application has corrupted its heap memory area (address zero)!")}function A(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?o.dynCall_v(r):o.dynCall_vi(r,t.arg):r(void 0===t.arg?null:t.arg)}else t()}}_Object$getOwnPropertyDescriptor(o,"TOTAL_MEMORY")||_Object$defineProperty(o,"TOTAL_MEMORY",{configurable:!0,get:function(){K("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY")}}),b(L>=w,"TOTAL_MEMORY should be larger than TOTAL_STACK, was "+L+"! (TOTAL_STACK="+w+")"),b("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),(h=o.wasmMemory?o.wasmMemory:new f.Memory({initial:L/65536}))&&(T=h.buffer),b((L=T.byteLength)%65536==0),O(T),P[388]=9904,function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian!"}();var M=[],G=[],k=[],X=[],N=!1;b(_Math$imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),b(_Math$fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),b(_Math$clz,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),b(_Math$trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var V=0,W=null,D=null,j={};function K(e){o.onAbort&&o.onAbort(e),d(e+=""),p(e),m=!0;var t="abort("+e+") at "+function(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();o.extraStackTrace&&(e+="\n"+o.extraStackTrace());return t=e,r=/\b_Z[\w\d_]+/g,t.replace(r,(function(e){var t,r=(t=e,y("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===r?e:r+" ["+e+"]"}));var t,r}();throw e=t,new f.RuntimeError(e)}o.preloadedImages={},o.preloadedAudios={};var H={error:function(){K("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){H.error()},createDataFile:function(){H.error()},createPreloadedFile:function(){H.error()},createLazyFile:function(){H.error()},open:function(){H.error()},mkdev:function(){H.error()},registerDevice:function(){H.error()},analyzePath:function(){H.error()},loadFilesFromDB:function(){H.error()},ErrnoError:function(){H.error()}};o.FS_createDataFile=H.createDataFile,o.FS_createPreloadedFile=H.createPreloadedFile;var Y="data:application/octet-stream;base64,";function F(e){return _startsWithInstanceProperty(String.prototype)?_startsWithInstanceProperty(e).call(e,Y):0===_indexOfInstanceProperty(e).call(e,Y)}var U,B="aw.wasm";function J(){try{if(u)return new Uint8Array(u);var e=function(e){if(!F(e))return;return function(e){try{for(var t=z(e),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(_sliceInstanceProperty(e).call(e,Y.length))}(B);if(e)return e;if(!l)throw"both async and sync fetching of the wasm failed"}catch(e){K(e)}}F(B)||(U=B,B=o.locateFile?o.locateFile(U,c):c+U),G.push({func:function(){de()}});var z="function"==typeof atob?atob:function(e){var t,r,n,i,o,a,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=_indexOfInstanceProperty(s).call(s,e.charAt(c++))<<2|(i=_indexOfInstanceProperty(s).call(s,e.charAt(c++)))>>4,r=(15&i)<<4|(o=_indexOfInstanceProperty(s).call(s,e.charAt(c++)))>>2,n=(3&o)<<6|(a=_indexOfInstanceProperty(s).call(s,e.charAt(c++))),l+=String.fromCharCode(t),64!==o&&(l+=String.fromCharCode(r)),64!==a&&(l+=String.fromCharCode(n))}while(c<e.length);return l};var Q={__lock:function(){},__unlock:function(){},emscripten_memcpy_big:function(e,t,r){_.set(_.subarray(t,t+r),e)},emscripten_resize_heap:function(e){var t=v.length;b(e>t);var r=65536,n=2147418112;if(e>n)return p("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+n+" bytes!"),!1;for(var i=Math.max(t,16777216);i<e;)(i=i<=536870912?R(2*i,r):Math.min(R((3*i+2147483648)/4,r),n))===t&&y("Cannot ask for more memory since we reached the practical limit in browsers (which is just below 2GB), so the request would have failed. Requesting only "+v.length);return function(e){try{return h.grow(e-T.byteLength+65535>>16),O(h.buffer),1}catch(t){console.error("emscripten_realloc_buffer: Attempted to grow heap from "+T.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}(i)?(p("Warning: Enlarging memory arrays, this is not fast! "+[t,i]),!0):(p("Failed to grow the heap from "+t+" bytes to "+i+" bytes, not enough memory!"),!1)},memory:h,table:$},q=function(){var e,t={env:Q,wasi_unstable:Q};function r(e,t){var r=e.exports;o.asm=r,function(e){if(V--,o.monitorRunDependencies&&o.monitorRunDependencies(V),e?(b(j[e]),delete j[e]):p("warning: run dependency removed without ID"),0==V&&(null!==W&&(clearInterval(W),W=null),D)){var t=D;D=null,t()}}("wasm-instantiate")}e="wasm-instantiate",V++,o.monitorRunDependencies&&o.monitorRunDependencies(V),e?(b(!j[e]),j[e]=1,null===W&&void 0!==_setInterval&&(W=_setInterval((function(){if(m)return clearInterval(W),void(W=null);var e=!1;for(var t in j)e||(e=!0,p("still waiting on run dependencies:")),p("dependency: "+t);e&&p("(end of list)")}),1e4))):p("warning: run dependency added without ID");var n=o;function i(e){b(o===n,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),n=null,r(e.instance)}function a(e){return(!u&&s&&"function"==typeof fetch?fetch(B,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+B+"'";return e.arrayBuffer()})).catch((function(){return J()})):new _Promise((function(e,t){e(J())}))).then((function(e){return f.instantiate(e,t)})).then(e,(function(e){p("failed to asynchronously prepare wasm: "+e),K(e)}))}if(o.instantiateWasm)try{return o.instantiateWasm(t,r)}catch(e){return p("Module.instantiateWasm callback failed with error: "+e),!1}return function(){if(u||"function"!=typeof f.instantiateStreaming||F(B)||"function"!=typeof fetch)return a(i);fetch(B,{credentials:"same-origin"}).then((function(e){return f.instantiateStreaming(e,t).then(i,(function(e){p("wasm streaming compile failed: "+e),p("falling back to ArrayBuffer instantiation"),a(i)}))}))}(),{}}(),ee=q.__wasm_call_ctors;q.__wasm_call_ctors=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ee.apply(null,arguments)};var te=q.malloc;q.malloc=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),te.apply(null,arguments)};var re=q.openBox;q.openBox=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),re.apply(null,arguments)};var ne=q.free;q.free=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ne.apply(null,arguments)};var ie=q.__errno_location;q.__errno_location=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ie.apply(null,arguments)};var oe=q.fflush;q.fflush=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),oe.apply(null,arguments)};var ae=q.setThrew;q.setThrew=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ae.apply(null,arguments)};var se=q.stackSave;q.stackSave=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),se.apply(null,arguments)};var le=q.stackAlloc;q.stackAlloc=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),le.apply(null,arguments)};var ce=q.stackRestore;q.stackRestore=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ce.apply(null,arguments)};var ue=q.__growWasmMemory;q.__growWasmMemory=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),ue.apply(null,arguments)},o.asm=q;var de=o.___wasm_call_ctors=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.__wasm_call_ctors.apply(null,arguments)},pe=o._malloc=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.malloc.apply(null,arguments)};o._openBox=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.openBox.apply(null,arguments)},o._free=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.free.apply(null,arguments)},o.___errno_location=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.__errno_location.apply(null,arguments)},o._fflush=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.fflush.apply(null,arguments)},o._setThrew=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.setThrew.apply(null,arguments)};var ye=o.stackSave=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.stackSave.apply(null,arguments)};o.stackAlloc=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.stackAlloc.apply(null,arguments)},o.stackRestore=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.stackRestore.apply(null,arguments)};var he,fe=o.__growWasmMemory=function(){return b(N,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),b(!0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o.asm.__growWasmMemory.apply(null,arguments)};function $e(e){function t(){he||(he=!0,m||(Z(),b(!N),N=!0,A(G),Z(),A(k),o.onRuntimeInitialized&&o.onRuntimeInitialized(),b(!o._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(Z(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)e=o.postRun.shift(),X.unshift(e);var e;A(X)}()))}V>0||(x(),function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)e=o.preRun.shift(),M.unshift(e);var e;A(M)}(),V>0||(o.setStatus?(o.setStatus("Running..."),_setTimeout((function(){_setTimeout((function(){o.setStatus("")}),1),t()}),1)):t(),Z()))}if(o.asm=q,o.intArrayFromString=function(e,t,r){var n=r>0?r:I(e)+1,i=new Array(n),o=S(e,i,0,i.length);return t&&(i.length=o),i},_Object$getOwnPropertyDescriptor(o,"intArrayToString")||(o.intArrayToString=function(){K("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"ccall")||(o.ccall=function(){K("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"cwrap")||(o.cwrap=function(){K("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"setValue")||(o.setValue=function(){K("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getValue")||(o.getValue=function(){K("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"allocate")||(o.allocate=function(){K("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getMemory")||(o.getMemory=function(){K("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"AsciiToString")||(o.AsciiToString=function(){K("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stringToAscii")||(o.stringToAscii=function(){K("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"UTF8ArrayToString")||(o.UTF8ArrayToString=function(){K("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.UTF8ToString=function(e,t){return e?function(e,t,r){for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.subarray&&g)return g.decode(e.subarray(t,i));for(var o="";t<i;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var l=63&e[t++];if(224==(240&a)?a=(15&a)<<12|s<<6|l:(240!=(248&a)&&y("Invalid UTF-8 leading byte 0x"+a.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"),a=(7&a)<<18|s<<12|l<<6|63&e[t++]),a<65536)o+=String.fromCharCode(a);else{var c=a-65536;o+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else o+=String.fromCharCode((31&a)<<6|s)}else o+=String.fromCharCode(a)}return o}(_,e,t):""},_Object$getOwnPropertyDescriptor(o,"stringToUTF8Array")||(o.stringToUTF8Array=function(){K("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stringToUTF8")||(o.stringToUTF8=function(){K("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"lengthBytesUTF8")||(o.lengthBytesUTF8=function(){K("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"UTF16ToString")||(o.UTF16ToString=function(){K("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stringToUTF16")||(o.stringToUTF16=function(){K("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"lengthBytesUTF16")||(o.lengthBytesUTF16=function(){K("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"UTF32ToString")||(o.UTF32ToString=function(){K("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stringToUTF32")||(o.stringToUTF32=function(){K("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"lengthBytesUTF32")||(o.lengthBytesUTF32=function(){K("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.allocateUTF8=function(e){var t=I(e)+1,r=pe(t);return r&&S(e,v,r,t),r},_Object$getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=function(){K("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addOnPreRun")||(o.addOnPreRun=function(){K("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addOnInit")||(o.addOnInit=function(){K("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addOnPreMain")||(o.addOnPreMain=function(){K("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addOnExit")||(o.addOnExit=function(){K("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addOnPostRun")||(o.addOnPostRun=function(){K("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"writeStringToMemory")||(o.writeStringToMemory=function(){K("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"writeArrayToMemory")||(o.writeArrayToMemory=function(){K("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"writeAsciiToMemory")||(o.writeAsciiToMemory=function(){K("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addRunDependency")||(o.addRunDependency=function(){K("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"removeRunDependency")||(o.removeRunDependency=function(){K("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"ENV")||(o.ENV=function(){K("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"FS")||(o.FS=function(){K("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"FS_createFolder")||(o.FS_createFolder=function(){K("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_createPath")||(o.FS_createPath=function(){K("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_createDataFile")||(o.FS_createDataFile=function(){K("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_createPreloadedFile")||(o.FS_createPreloadedFile=function(){K("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_createLazyFile")||(o.FS_createLazyFile=function(){K("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_createLink")||(o.FS_createLink=function(){K("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_createDevice")||(o.FS_createDevice=function(){K("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"FS_unlink")||(o.FS_unlink=function(){K("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),_Object$getOwnPropertyDescriptor(o,"GL")||(o.GL=function(){K("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"dynamicAlloc")||(o.dynamicAlloc=function(){K("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"loadDynamicLibrary")||(o.loadDynamicLibrary=function(){K("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"loadWebAssemblyModule")||(o.loadWebAssemblyModule=function(){K("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getLEB")||(o.getLEB=function(){K("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getFunctionTables")||(o.getFunctionTables=function(){K("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"alignFunctionTables")||(o.alignFunctionTables=function(){K("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"registerFunctions")||(o.registerFunctions=function(){K("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"addFunction")||(o.addFunction=function(){K("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"removeFunction")||(o.removeFunction=function(){K("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=function(){K("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"prettyPrint")||(o.prettyPrint=function(){K("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"makeBigInt")||(o.makeBigInt=function(){K("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=function(){K("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getCompilerSetting")||(o.getCompilerSetting=function(){K("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stackSave")||(o.stackSave=function(){K("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stackRestore")||(o.stackRestore=function(){K("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"stackAlloc")||(o.stackAlloc=function(){K("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"establishStackSpace")||(o.establishStackSpace=function(){K("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"print")||(o.print=function(){K("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"printErr")||(o.printErr=function(){K("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"getTempRet0")||(o.getTempRet0=function(){K("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"setTempRet0")||(o.setTempRet0=function(){K("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"callMain")||(o.callMain=function(){K("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"abort")||(o.abort=function(){K("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.Pointer_stringify=function(e,t){K("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!")},_Object$getOwnPropertyDescriptor(o,"warnOnce")||(o.warnOnce=function(){K("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.writeStackCookie=x,o.checkStackCookie=Z,o.abortStackOverflow=function(e){K("Stack overflow! Attempted to allocate "+e+" bytes on the stack, but stack has only "+(C-ye()+e)+" bytes available!")},_Object$getOwnPropertyDescriptor(o,"intArrayFromBase64")||(o.intArrayFromBase64=function(){K("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"tryParseAsDataURI")||(o.tryParseAsDataURI=function(){K("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),_Object$getOwnPropertyDescriptor(o,"ALLOC_NORMAL")||_Object$defineProperty(o,"ALLOC_NORMAL",{configurable:!0,get:function(){K("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),_Object$getOwnPropertyDescriptor(o,"ALLOC_STACK")||_Object$defineProperty(o,"ALLOC_STACK",{configurable:!0,get:function(){K("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),_Object$getOwnPropertyDescriptor(o,"ALLOC_DYNAMIC")||_Object$defineProperty(o,"ALLOC_DYNAMIC",{configurable:!0,get:function(){K("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),_Object$getOwnPropertyDescriptor(o,"ALLOC_NONE")||_Object$defineProperty(o,"ALLOC_NONE",{configurable:!0,get:function(){K("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),_Object$getOwnPropertyDescriptor(o,"calledRun")||_Object$defineProperty(o,"calledRun",{configurable:!0,get:function(){K("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}}),o.then=function(e){if(he)e(o);else{var t=o.onRuntimeInitialized;o.onRuntimeInitialized=function(){t&&t(),e(o)}}return o},D=function e(){he||$e(),he||(D=e)},o.run=$e,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return $e(),t}}(),AwManager=function(){function e(t,r){_classCallCheck$8(this,e),this.cdnHost=t,this.cdnBucket=r}return _createClass$8(e,[{key:"init",value:function(){var e=new ProxyPromise;this.module={onRuntimeInitialized:function(){e.resolve()},onAbort:function(t){e.reject(t)}},this.cdnHost&&(this.module.cdnHost=this.cdnHost);var t=this.cdnBucket?"-".concat(this.cdnBucket):"";return this.module.cdnBucket="media-fe".concat(t),aw(this.module),e}},{key:"openBox",value:function(e){try{var t=window.atob(e),r=util.str2hex(t),n=this.module._malloc(Number(r.length));this.module.HEAP8.set(r,n);var i=this.module._openBox(Number(n),r.length),o=this.module.UTF8ToString(i);return this.module._free(n),o}catch(e){}}},{key:"destroy",value:function(){this.module=null}}]),e}(),$$c=_export,$some=arrayIteration.some,arrayMethodIsStrict$2=arrayMethodIsStrict$c,STRICT_METHOD$2=arrayMethodIsStrict$2("some");$$c({target:"Array",proto:!0,forced:!STRICT_METHOD$2},{some:function(e){return $some(this,e,arguments.length>1?arguments[1]:void 0)}});var wellKnownSymbolWrapped={},wellKnownSymbol$2=wellKnownSymbol$x;wellKnownSymbolWrapped.f=wellKnownSymbol$2;var global$4=global$O,path$2=global$4,path$1=path$2,hasOwn$5=hasOwnProperty_1,wrappedWellKnownSymbolModule$1=wellKnownSymbolWrapped,defineProperty$1=objectDefineProperty.f,wellKnownSymbolDefine=function(e){var t=path$1.Symbol||(path$1.Symbol={});hasOwn$5(t,e)||defineProperty$1(t,e,{value:wrappedWellKnownSymbolModule$1.f(e)})},call$1=functionCall,getBuiltIn$2=getBuiltIn$f,wellKnownSymbol$1=wellKnownSymbol$x,defineBuiltIn$1=defineBuiltIn$l,symbolDefineToPrimitive=function(){var e=getBuiltIn$2("Symbol"),t=e&&e.prototype,r=t&&t.valueOf,n=wellKnownSymbol$1("toPrimitive");t&&!t[n]&&defineBuiltIn$1(t,n,(function(e){return call$1(r,this)}),{arity:1})},$$b=_export,global$3=global$O,call=functionCall,uncurryThis$6=functionUncurryThis,DESCRIPTORS$3=descriptors,NATIVE_SYMBOL$3=symbolConstructorDetection,fails$5=fails$13,hasOwn$4=hasOwnProperty_1,isPrototypeOf$2=objectIsPrototypeOf,anObject$1=anObject$q,toIndexedObject$2=toIndexedObject$f,toPropertyKey=toPropertyKey$5,$toString=toString$p,createPropertyDescriptor=createPropertyDescriptor$8,nativeObjectCreate=objectCreate,objectKeys$2=objectKeys$5,getOwnPropertyNamesModule=objectGetOwnPropertyNames,getOwnPropertyNamesExternal=objectGetOwnPropertyNamesExternal,getOwnPropertySymbolsModule$1=objectGetOwnPropertySymbols,getOwnPropertyDescriptorModule=objectGetOwnPropertyDescriptor,definePropertyModule=objectDefineProperty,definePropertiesModule=objectDefineProperties,propertyIsEnumerableModule=objectPropertyIsEnumerable,defineBuiltIn=defineBuiltIn$l,shared$2=sharedExports,sharedKey=sharedKey$4,hiddenKeys=hiddenKeys$7,uid=uid$6,wellKnownSymbol=wellKnownSymbol$x,wrappedWellKnownSymbolModule=wellKnownSymbolWrapped,defineWellKnownSymbol=wellKnownSymbolDefine,defineSymbolToPrimitive=symbolDefineToPrimitive,setToStringTag=setToStringTag$b,InternalStateModule=internalState,$forEach=arrayIteration.forEach,HIDDEN=sharedKey("hidden"),SYMBOL="Symbol",PROTOTYPE="prototype",setInternalState=InternalStateModule.set,getInternalState=InternalStateModule.getterFor(SYMBOL),ObjectPrototype$1=Object[PROTOTYPE],$Symbol=global$3.Symbol,SymbolPrototype$1=$Symbol&&$Symbol[PROTOTYPE],TypeError$1=global$3.TypeError,QObject=global$3.QObject,nativeGetOwnPropertyDescriptor=getOwnPropertyDescriptorModule.f,nativeDefineProperty=definePropertyModule.f,nativeGetOwnPropertyNames=getOwnPropertyNamesExternal.f,nativePropertyIsEnumerable=propertyIsEnumerableModule.f,push$4=uncurryThis$6([].push),AllSymbols=shared$2("symbols"),ObjectPrototypeSymbols=shared$2("op-symbols"),WellKnownSymbolsStore=shared$2("wks"),USE_SETTER=!QObject||!QObject[PROTOTYPE]||!QObject[PROTOTYPE].findChild,setSymbolDescriptor=DESCRIPTORS$3&&fails$5((function(){return 7!=nativeObjectCreate(nativeDefineProperty({},"a",{get:function(){return nativeDefineProperty(this,"a",{value:7}).a}})).a}))?function(e,t,r){var n=nativeGetOwnPropertyDescriptor(ObjectPrototype$1,t);n&&delete ObjectPrototype$1[t],nativeDefineProperty(e,t,r),n&&e!==ObjectPrototype$1&&nativeDefineProperty(ObjectPrototype$1,t,n)}:nativeDefineProperty,wrap=function(e,t){var r=AllSymbols[e]=nativeObjectCreate(SymbolPrototype$1);return setInternalState(r,{type:SYMBOL,tag:e,description:t}),DESCRIPTORS$3||(r.description=t),r},$defineProperty=function(e,t,r){e===ObjectPrototype$1&&$defineProperty(ObjectPrototypeSymbols,t,r),anObject$1(e);var n=toPropertyKey(t);return anObject$1(r),hasOwn$4(AllSymbols,n)?(r.enumerable?(hasOwn$4(e,HIDDEN)&&e[HIDDEN][n]&&(e[HIDDEN][n]=!1),r=nativeObjectCreate(r,{enumerable:createPropertyDescriptor(0,!1)})):(hasOwn$4(e,HIDDEN)||nativeDefineProperty(e,HIDDEN,createPropertyDescriptor(1,{})),e[HIDDEN][n]=!0),setSymbolDescriptor(e,n,r)):nativeDefineProperty(e,n,r)},$defineProperties=function(e,t){anObject$1(e);var r=toIndexedObject$2(t),n=objectKeys$2(r).concat($getOwnPropertySymbols(r));return $forEach(n,(function(t){DESCRIPTORS$3&&!call($propertyIsEnumerable$2,r,t)||$defineProperty(e,t,r[t])})),e},$create=function(e,t){return void 0===t?nativeObjectCreate(e):$defineProperties(nativeObjectCreate(e),t)},$propertyIsEnumerable$2=function(e){var t=toPropertyKey(e),r=call(nativePropertyIsEnumerable,this,t);return!(this===ObjectPrototype$1&&hasOwn$4(AllSymbols,t)&&!hasOwn$4(ObjectPrototypeSymbols,t))&&(!(r||!hasOwn$4(this,t)||!hasOwn$4(AllSymbols,t)||hasOwn$4(this,HIDDEN)&&this[HIDDEN][t])||r)},$getOwnPropertyDescriptor=function(e,t){var r=toIndexedObject$2(e),n=toPropertyKey(t);if(r!==ObjectPrototype$1||!hasOwn$4(AllSymbols,n)||hasOwn$4(ObjectPrototypeSymbols,n)){var i=nativeGetOwnPropertyDescriptor(r,n);return!i||!hasOwn$4(AllSymbols,n)||hasOwn$4(r,HIDDEN)&&r[HIDDEN][n]||(i.enumerable=!0),i}},$getOwnPropertyNames=function(e){var t=nativeGetOwnPropertyNames(toIndexedObject$2(e)),r=[];return $forEach(t,(function(e){hasOwn$4(AllSymbols,e)||hasOwn$4(hiddenKeys,e)||push$4(r,e)})),r},$getOwnPropertySymbols=function(e){var t=e===ObjectPrototype$1,r=nativeGetOwnPropertyNames(t?ObjectPrototypeSymbols:toIndexedObject$2(e)),n=[];return $forEach(r,(function(e){!hasOwn$4(AllSymbols,e)||t&&!hasOwn$4(ObjectPrototype$1,e)||push$4(n,AllSymbols[e])})),n};NATIVE_SYMBOL$3||(defineBuiltIn(SymbolPrototype$1=($Symbol=function(){if(isPrototypeOf$2(SymbolPrototype$1,this))throw TypeError$1("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?$toString(arguments[0]):void 0,t=uid(e),r=function(e){this===ObjectPrototype$1&&call(r,ObjectPrototypeSymbols,e),hasOwn$4(this,HIDDEN)&&hasOwn$4(this[HIDDEN],t)&&(this[HIDDEN][t]=!1),setSymbolDescriptor(this,t,createPropertyDescriptor(1,e))};return DESCRIPTORS$3&&USE_SETTER&&setSymbolDescriptor(ObjectPrototype$1,t,{configurable:!0,set:r}),wrap(t,e)})[PROTOTYPE],"toString",(function(){return getInternalState(this).tag})),defineBuiltIn($Symbol,"withoutSetter",(function(e){return wrap(uid(e),e)})),propertyIsEnumerableModule.f=$propertyIsEnumerable$2,definePropertyModule.f=$defineProperty,definePropertiesModule.f=$defineProperties,getOwnPropertyDescriptorModule.f=$getOwnPropertyDescriptor,getOwnPropertyNamesModule.f=getOwnPropertyNamesExternal.f=$getOwnPropertyNames,getOwnPropertySymbolsModule$1.f=$getOwnPropertySymbols,wrappedWellKnownSymbolModule.f=function(e){return wrap(wellKnownSymbol(e),e)},DESCRIPTORS$3&&(nativeDefineProperty(SymbolPrototype$1,"description",{configurable:!0,get:function(){return getInternalState(this).description}}),defineBuiltIn(ObjectPrototype$1,"propertyIsEnumerable",$propertyIsEnumerable$2,{unsafe:!0}))),$$b({global:!0,constructor:!0,wrap:!0,forced:!NATIVE_SYMBOL$3,sham:!NATIVE_SYMBOL$3},{Symbol:$Symbol}),$forEach(objectKeys$2(WellKnownSymbolsStore),(function(e){defineWellKnownSymbol(e)})),$$b({target:SYMBOL,stat:!0,forced:!NATIVE_SYMBOL$3},{useSetter:function(){USE_SETTER=!0},useSimple:function(){USE_SETTER=!1}}),$$b({target:"Object",stat:!0,forced:!NATIVE_SYMBOL$3,sham:!DESCRIPTORS$3},{create:$create,defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor}),$$b({target:"Object",stat:!0,forced:!NATIVE_SYMBOL$3},{getOwnPropertyNames:$getOwnPropertyNames}),defineSymbolToPrimitive(),setToStringTag($Symbol,SYMBOL),hiddenKeys[HIDDEN]=!0;var NATIVE_SYMBOL$2=symbolConstructorDetection,symbolRegistryDetection=NATIVE_SYMBOL$2&&!!Symbol.for&&!!Symbol.keyFor,$$a=_export,getBuiltIn$1=getBuiltIn$f,hasOwn$3=hasOwnProperty_1,toString$3=toString$p,shared$1=sharedExports,NATIVE_SYMBOL_REGISTRY$1=symbolRegistryDetection,StringToSymbolRegistry=shared$1("string-to-symbol-registry"),SymbolToStringRegistry$1=shared$1("symbol-to-string-registry");$$a({target:"Symbol",stat:!0,forced:!NATIVE_SYMBOL_REGISTRY$1},{for:function(e){var t=toString$3(e);if(hasOwn$3(StringToSymbolRegistry,t))return StringToSymbolRegistry[t];var r=getBuiltIn$1("Symbol")(t);return StringToSymbolRegistry[t]=r,SymbolToStringRegistry$1[r]=t,r}});var $$9=_export,hasOwn$2=hasOwnProperty_1,isSymbol=isSymbol$6,tryToString=tryToString$8,shared=sharedExports,NATIVE_SYMBOL_REGISTRY=symbolRegistryDetection,SymbolToStringRegistry=shared("symbol-to-string-registry");$$9({target:"Symbol",stat:!0,forced:!NATIVE_SYMBOL_REGISTRY},{keyFor:function(e){if(!isSymbol(e))throw TypeError(tryToString(e)+" is not a symbol");if(hasOwn$2(SymbolToStringRegistry,e))return SymbolToStringRegistry[e]}});var $$8=_export,NATIVE_SYMBOL$1=symbolConstructorDetection,fails$4=fails$13,getOwnPropertySymbolsModule=objectGetOwnPropertySymbols,toObject$1=toObject$k,FORCED$4=!NATIVE_SYMBOL$1||fails$4((function(){getOwnPropertySymbolsModule.f(1)}));$$8({target:"Object",stat:!0,forced:FORCED$4},{getOwnPropertySymbols:function(e){var t=getOwnPropertySymbolsModule.f;return t?t(toObject$1(e)):[]}});var $$7=_export,DESCRIPTORS$2=descriptors,global$2=global$O,uncurryThis$5=functionUncurryThis,hasOwn$1=hasOwnProperty_1,isCallable=isCallable$A,isPrototypeOf$1=objectIsPrototypeOf,toString$2=toString$p,defineProperty9=objectDefineProperty.f,copyConstructorProperties=copyConstructorProperties$2,NativeSymbol=global$2.Symbol,SymbolPrototype=NativeSymbol&&NativeSymbol.prototype;if(DESCRIPTORS$2&&isCallable(NativeSymbol)&&(!("description"in SymbolPrototype)||void 0!==NativeSymbol().description)){var EmptyStringDescriptionStore={},SymbolWrapper=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:toString$2(arguments[0]),t=isPrototypeOf$1(SymbolPrototype,this)?new NativeSymbol(e):void 0===e?NativeSymbol():NativeSymbol(e);return""===e&&(EmptyStringDescriptionStore[t]=!0),t};copyConstructorProperties(SymbolWrapper,NativeSymbol),SymbolWrapper.prototype=SymbolPrototype,SymbolPrototype.constructor=SymbolWrapper;var NATIVE_SYMBOL="Symbol(test)"==String(NativeSymbol("test")),thisSymbolValue=uncurryThis$5(SymbolPrototype.valueOf),symbolDescriptiveString=uncurryThis$5(SymbolPrototype.toString),regexp=/^Symbol\((.*)\)[^)]+$/,replace=uncurryThis$5("".replace),stringSlice$1=uncurryThis$5("".slice);defineProperty9(SymbolPrototype,"description",{configurable:!0,get:function(){var e=thisSymbolValue(this);if(hasOwn$1(EmptyStringDescriptionStore,e))return"";var t=symbolDescriptiveString(e),r=NATIVE_SYMBOL?stringSlice$1(t,7,-1):replace(t,regexp,"$1");return""===r?void 0:r}}),$$7({global:!0,constructor:!0,forced:!0},{Symbol:SymbolWrapper})}var ArrayBufferViewCore=arrayBufferViewCore,TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS=typedArrayConstructorsRequireWrappers,aTypedArrayConstructor=ArrayBufferViewCore.aTypedArrayConstructor,exportTypedArrayStaticMethod=ArrayBufferViewCore.exportTypedArrayStaticMethod;function isMSBrowser(){var e=window.navigator.userAgent,t=_indexOfInstanceProperty(e).call(e,"MSIE "),r=_indexOfInstanceProperty(e).call(e,"Trident/");return t>0||r>0}function checkIsQihuBrowser(){var e,t=navigator.mimeTypes,r=navigator.userAgent,n=!1;t&&_indexOfInstanceProperty(r).call(r,"Chrome")>1&&(n=_someInstanceProperty(e=_Object$keys(t)).call(e,(function(e){var r,n,i;return!!(t[e].type&&_indexOfInstanceProperty(r=t[e].type).call(r,"360")>-1)||(!!(t[e].type&&_indexOfInstanceProperty(n=t[e].type).call(n,"application/vnd.chromium.remoting-viewer")>-1)||!!(t[e].description&&_indexOfInstanceProperty(i=t[e].description).call(i,"360")>-1))})));return n}function isEMESupported(){var e,t,r,n,i,o,a;return!(!navigator.requestMediaKeySystemAccess||(r=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),n=isMSBrowser(),i=checkIsQihuBrowser(),o=_indexOfInstanceProperty(e=navigator.userAgent).call(e,"Firefox")>0,a=_indexOfInstanceProperty(t=navigator.userAgent).call(t,"Edge")>0,r||n||i||o||a))}function isWebAssemblySupported(){try{if("object"===("undefined"==typeof WebAssembly?"undefined":_typeof$4(WebAssembly))&&"function"==typeof WebAssembly.instantiate){var e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){console.log(e)}return!1}function isMediaSourceSupported(){var e=window.MediaSource=window.MediaSource||window.WebKitMediaSource;return e&&"function"==typeof e.isTypeSupported}function isSupported(){return isMediaSourceSupported()&&isWebAssemblySupported()&&!isMSBrowser()}function isSupportedWithXgmse(){return isWebAssemblySupported()&&!isMSBrowser()}exportTypedArrayStaticMethod("of",(function(){for(var e=0,t=arguments.length,r=new(aTypedArrayConstructor(this))(t);t>e;)r[e]=arguments[e++];return r}),TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);var Timer=function(){function e(t){_classCallCheck$8(this,e),this.onTick_=t,this.cancelPending_=null}return _createClass$8(e,[{key:"tickAfter",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.stop();var n=!0,i=null;this.cancelPending_=function(){window.clearTimeout(i),n=!1};return i=_setTimeout((function(){n&&(t.onTick_(),r&&r())}),1e3*e),this}},{key:"tickEvery",value:function(e){var t=this;this.tickAfter(e,(function(){t.tickEvery(e)}))}},{key:"stop",value:function(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)}}]),e}(),global$1=global$O,fails$3=fails$13,uncurryThis$4=functionUncurryThis,toString$1=toString$p,trim3=stringTrim.trim,whitespaces=whitespaces$6,charAt=uncurryThis$4("".charAt),$parseFloat$1=global$1.parseFloat,Symbol$1=global$1.Symbol,ITERATOR=Symbol$1&&Symbol$1.iterator,FORCED$3=1/$parseFloat$1(whitespaces+"-0")!=-1/0||ITERATOR&&!fails$3((function(){$parseFloat$1(Object(ITERATOR))})),numberParseFloat=FORCED$3?function(e){var t=trim3(toString$1(e)),r=$parseFloat$1(t);return 0===r&&"-"==charAt(t,0)?-0:r}:$parseFloat$1,$$6=_export,$parseFloat=numberParseFloat;$$6({global:!0,forced:parseFloat!=numberParseFloat},{parseFloat:numberParseFloat});var PRELOAD_NEXT="PRELOAD_NEXT",PRELOAD_SEG_DONE="PRELOAD_SEG_DONE",STATES={PREPARE:"PREPARE",IDLE:"IDLE",PRELOADING:"PRELOADING",FINISH:"FINISH"},ONE_STEP_DONE="ONE_STEP_DONE",PRELOAD_TYPES$1={DURATION:0,SIZE:1},CACHE_TYPES={INDEXDB:0,MEMORY:1},DOWN_STATES={FAIL:-1,SUCCESS:0,DOWNLOADING:1},VTYPES$1={MP4:"MP4",DASH:"DASH",HLS:"HLS"};function _typeof$1(e){return(_typeof$1="function"==typeof _Symbol&&"symbol"==typeof _Symbol$iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof _Symbol&&e.constructor===_Symbol&&e!==_Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),_Object$defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),_Object$defineProperty(e,"prototype",{writable:!1}),e}var isImplemented$1,hasRequiredIsImplemented,eventEmitter={exports:{}},d$1={exports:{}},_undefined$1=void 0,is$4=function(e){return e!==_undefined$1&&null!==e},isValue$4=is$4,possibleTypes={object:!0,function:!0,undefined:!0},is$3=function(e){return!!isValue$4(e)&&hasOwnProperty.call(possibleTypes,_typeof$5(e))},isObject$3=is$3,is$2=function(e){if(!isObject$3(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}},isPrototype=is$2,is$1=function(e){if("function"!=typeof e)return!1;if(!hasOwnProperty.call(e,"length"))return!1;try{if("number"!=typeof e.length)return!1;if("function"!=typeof e.call)return!1;if("function"!=typeof e.apply)return!1}catch(e){return!1}return!isPrototype(e)},isFunction=is$1,classRe=/^\s*class[\s{/}]/,functionToString=Function.prototype.toString,is5=function(e){return!!isFunction(e)&&!classRe.test(functionToString.call(e))},isImplemented$2=function(){var e;return"function"==typeof _Object$assign&&(_Object$assign(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")};function requireIsImplemented(){return hasRequiredIsImplemented?isImplemented$1:(hasRequiredIsImplemented=1,isImplemented$1=function(){try{return _Object$keys("primitive"),!0}catch(e){return!1}})}var shim$2,hasRequiredShim$2,keys8,hasRequiredKeys,validValue,hasRequiredValidValue,shim$1,hasRequiredShim$1,noop=function(){},_undefined=noop(),isValue$3=function(e){return e!==_undefined&&null!==e};function requireShim$2(){if(hasRequiredShim$2)return shim$2;hasRequiredShim$2=1;var e=isValue$3,t=_Object$keys;return shim$2=function(r){return t(e(r)?Object(r):r)}}function requireKeys(){return hasRequiredKeys?keys8:(hasRequiredKeys=1,keys8=requireIsImplemented()()?_Object$keys:requireShim$2())}function requireValidValue(){if(hasRequiredValidValue)return validValue;hasRequiredValidValue=1;var e=isValue$3;return validValue=function(t){if(!e(t))throw new TypeError("Cannot use null or undefined");return t}}function requireShim$1(){if(hasRequiredShim$1)return shim$1;hasRequiredShim$1=1;var e=requireKeys(),t=requireValidValue(),r=Math.max;return shim$1=function(n,i){var o,a,s,l=r(arguments.length,2);for(n=Object(t(n)),s=function(e){try{n[e]=i[e]}catch(e){o||(o=e)}},a=1;a<l;++a){var c;_forEachInstanceProperty(c=e(i=arguments[a])).call(c,s)}if(void 0!==o)throw o;return n},shim$1}var shim,hasRequiredShim,assign$1=isImplemented$2()?_Object$assign:requireShim$1(),isValue$2=isValue$3,forEach6=_forEachInstanceProperty(Array.prototype),create$1=_Object$create,process$1=function(e,t){var r;for(r in e)t[r]=e[r]},normalizeOptions=function(e){var t=create$1(null);return forEach6.call(arguments,(function(e){isValue$2(e)&&process$1(Object(e),t)})),t},str="razdwatrzy",isImplemented2=function(){return"function"==typeof str.contains&&(!0===str.contains("dwa")&&!1===str.contains("foo"))};function requireShim(){if(hasRequiredShim)return shim;hasRequiredShim=1;var e=_indexOfInstanceProperty(String.prototype);return shim=function(t){return e.call(this,t,arguments[1])>-1},shim}var contains$1=isImplemented2()?String.prototype.contains:requireShim(),isValue$1=is$4,isPlainFunction=is5,assign3=assign$1,normalizeOpts=normalizeOptions,contains=contains$1,d=d$1.exports=function(e,t){var r,n,i,o,a;return arguments.length<2||"string"!=typeof e?(o=t,t=e,e=null):o=arguments[2],isValue$1(e)?(r=contains.call(e,"c"),n=contains.call(e,"e"),i=contains.call(e,"w")):(r=i=!0,n=!1),a={value:t,configurable:r,enumerable:n,writable:i},o?assign3(normalizeOpts(o),a):a};d.gs=function(e,t,r){var n,i,o,a;return"string"!=typeof e?(o=r,r=t,t=e,e=null):o=arguments[3],isValue$1(t)?isPlainFunction(t)?isValue$1(r)?isPlainFunction(r)||(o=r,r=void 0):r=void 0:(o=t,t=r=void 0):t=void 0,isValue$1(e)?(n=contains.call(e,"c"),i=contains.call(e,"e")):(n=!0,i=!1),a={get:t,set:r,configurable:n,enumerable:i},o?assign3(normalizeOpts(o),a):a};var dExports=d$1.exports,validCallable=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e};!function(e,t){var r,n,i,o,a,s,l,c=dExports,u=validCallable,d=Function.prototype.apply,p=Function.prototype.call,y=_Object$create,h=_Object$defineProperty,f=_Object$defineProperties,$=Object.prototype.hasOwnProperty,m={configurable:!0,enumerable:!1,writable:!0};n=function(e,t){var n,o;return u(t),o=this,r.call(this,e,n=function(){i.call(o,e,n),d.call(t,this,arguments)}),n.__eeOnceListener__=t,this},i=function(e,t){var r,n,i,o;if(u(t),!$.call(this,"__ee__"))return this;if(!(r=this.__ee__)[e])return this;if("object"===_typeof$5(n=r[e]))for(o=0;i=n[o];++o)i!==t&&i.__eeOnceListener__!==t||(2===n.length?r[e]=n[o?0:1]:_spliceInstanceProperty(n).call(n,o,1));else n!==t&&n.__eeOnceListener__!==t||delete r[e];return this},o=function(e){var t,r,n,i,o;if($.call(this,"__ee__")&&(i=this.__ee__[e]))if("object"===_typeof$5(i)){for(r=arguments.length,o=new Array(r-1),t=1;t<r;++t)o[t-1]=arguments[t];for(i=_sliceInstanceProperty(i).call(i),t=0;n=i[t];++t)d.call(n,this,o)}else switch(arguments.length){case 1:p.call(i,this);break;case 2:p.call(i,this,arguments[1]);break;case 3:p.call(i,this,arguments[1],arguments[2]);break;default:for(r=arguments.length,o=new Array(r-1),t=1;t<r;++t)o[t-1]=arguments[t];d.call(i,this,o)}},a={on:r=function(e,t){var r;return u(t),$.call(this,"__ee__")?r=this.__ee__:(r=m.value=y(null),h(this,"__ee__",m),m.value=null),r[e]?"object"===_typeof$5(r[e])?r[e].push(t):r[e]=[r[e],t]:r[e]=t,this},once:n,off:i,emit:o},s={on:c(r),once:c(n),off:c(i),emit:c(o)},l=f({},s),e.exports=t=function(e){return null==e?y(l):f(Object(e),s)},t.methods=a}(eventEmitter,eventEmitter.exports);var eventEmitterExports=eventEmitter.exports,EventEmitter=getDefaultExportFromCjs(eventEmitterExports),DESCRIPTORS$1=descriptors$1,uncurryThis$3=functionUncurryThis$1,objectKeys$1=objectKeys$9,toIndexedObject$1=toIndexedObject$q,$propertyIsEnumerable$1=objectPropertyIsEnumerable$1.f,propertyIsEnumerable$1=uncurryThis$3($propertyIsEnumerable$1),push$3=uncurryThis$3([].push),createMethod$1=function(e){return function(t){for(var r,n=toIndexedObject$1(t),i=objectKeys$1(n),o=i.length,a=0,s=[];o>a;)r=i[a++],DESCRIPTORS$1&&!propertyIsEnumerable$1(n,r)||push$3(s,e?[r,n[r]]:n[r]);return s}},objectToArray$1={entries:createMethod$1(!0),values:createMethod$1(!1)},$$5=_export$1,$values$1=objectToArray$1.values;$$5({target:"Object",stat:!0},{values:function(e){return $values$1(e)}});var path=path$A,values$c=path.Object.values,parent$5=values$c,values$b=parent$5,parent$4=values$b,values$a=parent$4,parent$3=values$a,values$9=parent$3,values$8=values$9,values$7=values$8,_Object$values=getDefaultExportFromCjs(values$7),$$4=_export,uncurryThis$2=functionUncurryThis,aCallable=aCallable$j,toObject=toObject$k,lengthOfArrayLike=lengthOfArrayLike$m,deletePropertyOrThrow=deletePropertyOrThrow$4,toString8=toString$p,fails$2=fails$13,internalSort=arraySort$1,arrayMethodIsStrict$1=arrayMethodIsStrict$c,FF2=engineFfVersion,IE_OR_EDGE=engineIsIeOrEdge,V8=engineV8Version,WEBKIT=engineWebkitVersion,test=[],nativeSort=uncurryThis$2(test.sort),push$2=uncurryThis$2(test.push),FAILS_ON_UNDEFINED=fails$2((function(){test.sort(void 0)})),FAILS_ON_NULL=fails$2((function(){test.sort(null)})),STRICT_METHOD$1=arrayMethodIsStrict$1("sort"),STABLE_SORT=!fails$2((function(){if(V8)return V8<70;if(!(FF2&&FF2>3)){if(IE_OR_EDGE)return!0;if(WEBKIT)return WEBKIT<603;var e,t,r,n,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)test.push({k:t+n,v:r})}for(test.sort((function(e,t){return t.v-e.v})),n=0;n<test.length;n++)t=test[n].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}})),FORCED$2=FAILS_ON_UNDEFINED||!FAILS_ON_NULL||!STRICT_METHOD$1||!STABLE_SORT,getSortCompare=function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:toString8(t)>toString8(r)?1:-1}};$$4({target:"Array",proto:!0,forced:FORCED$2},{sort:function(e){void 0!==e&&aCallable(e);var t=toObject(this);if(STABLE_SORT)return void 0===e?nativeSort(t):nativeSort(t,e);var r,n,i=[],o=lengthOfArrayLike(t);for(n=0;n<o;n++)n in t&&push$2(i,t[n]);for(internalSort(i,getSortCompare(e)),r=lengthOfArrayLike(i),n=0;n<r;)t[n]=i[n++];for(;n<o;)deletePropertyOrThrow(t,n++);return t}});var DESCRIPTORS=descriptors,uncurryThis$1=functionUncurryThis,objectKeys=objectKeys$5,toIndexedObject=toIndexedObject$f,$propertyIsEnumerable=objectPropertyIsEnumerable.f,propertyIsEnumerable5=uncurryThis$1($propertyIsEnumerable),push$1=uncurryThis$1([].push),createMethod=function(e){return function(t){for(var r,n=toIndexedObject(t),i=objectKeys(n),o=i.length,a=0,s=[];o>a;)r=i[a++],DESCRIPTORS&&!propertyIsEnumerable5(n,r)||push$1(s,e?[r,n[r]]:n[r]);return s}},objectToArray={entries:createMethod(!0),values:createMethod(!1)},$$3=_export,$values=objectToArray.values;$$3({target:"Object",stat:!0},{values:function(e){return $values(e)}});var isValue2=isValue$3,map4={function:!0,object:!0},isObject$2=function(e){return isValue2(e)&&map4[_typeof$5(e)]||!1},isObject$1=isObject$2,validObject=function(e){if(!isObject$1(e))throw new TypeError(e+" is not an Object");return e},value=validObject,hasOwnProperty$1=Object.prototype.hasOwnProperty,allOff=function(e){var t,r=arguments[1];if(value(e),void 0===r)hasOwnProperty$1.call(e,"__ee__")&&delete e.__ee__;else{if(!(t=hasOwnProperty$1.call(e,"__ee__")&&e.__ee__))return;t[r]&&delete t[r]}},allOff$1=getDefaultExportFromCjs(allOff),RETRY_MAX=10,PRELOADER=function(){function e(t,r,n,i,o){_classCallCheck(this,e),EventEmitter(this),this.state=STATES.PREPARE,this.options=t||{},this.logger=t.logger||function(){},this._preloadManager=r,this.player=r.player;var a=n.handlers,s=n.predictInst,l=n.readyPromise;this._predictInst=s,this._handlers=a,this._predictInstReadyPromise=l,this._toLoadList=[],this.retryCount=0,this._cachedHandler=i,this._cachedDataHanlder=o,this.cnt=0}return _createClass(e,[{key:"start",value:function(){var e=this,t=new ProxyPromise$1;return this._handlers.start(this.options).then((function(r){r.onObtain().then((function(n){e._predictInstReadyPromise.then((function(){e._predictInst.updateMediaInfos(n);var i=e._predictInst.preloadPredict(e.options),o=e._predictInst.cachedData;e._cachedDataHanlder(_Object$assign({vid:e.options.vid},{data:o}));var a=_Object$assign(i,e.options);r.onTransform(a).then((function(r){e._toLoadList=r,t.resolve(r)}))}))}))})).catch((function(e){t.reject(new Error("preload unit start error"))})),t}},{key:"preloadSeg",value:function(){var e=this;if(0===this._toLoadList.length)return this.state=STATES.FINISH,void this.emit(PRELOAD_SEG_DONE,!0);this.state="PRELOADING";var t=this._toLoadList.shift();this._handlers.onRequest(t,(function(r){var n=_Object$assign({},t.extData,r);e._cachedHandler(n)})).then((function(){e.state=STATES.IDLE,e.emit(PRELOAD_SEG_DONE)})).catch((function(t){e.requestError(),e.emit(PRELOAD_SEG_DONE,!1)}))}},{key:"requestError",value:function(){this.retryCount++,this.state=STATES.IDLE,this.retryCount>=RETRY_MAX&&(this.state=STATES.FINISH),this.emit(ONE_STEP_DONE),this.logger("preload request error")}},{key:"cancelLoading",value:function(){this._toLoadList=[]}},{key:"destroy",value:function(){allOff$1(this)}}]),e}();function getIDB(){try{if("undefined"!=typeof indexedDB)return indexedDB;if("undefined"!=typeof webkitIndexedDB)return webkitIndexedDB;if("undefined"!=typeof mozIndexedDB)return mozIndexedDB;if("undefined"!=typeof OIndexedDB)return OIndexedDB;if("undefined"!=typeof msIndexedDB)return msIndexedDB}catch(e){}}var idb=getIDB();function isIndexedDBValid(){try{var e;if(!idb||!idb.open)return!1;var t="undefined"!=typeof openDatabase&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),r="function"==typeof fetch&&-1!==_indexOfInstanceProperty(e=fetch.toString()).call(e,"[native code");return(!t||r)&&"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange}catch(e){return!1}}function executeCallback(e,t){t&&e.then((function(e){t(null,e)}),(function(e){t(e)}))}function executeTwoCallbacks(e,t,r){"function"==typeof t&&e.then(t),"function"==typeof r&&e.catch(r)}function normalizeKey(e){return"string"!=typeof e&&(console.warn("".concat(e," used as a key, but it is not a string.")),e=String(e)),e}var dbContexts={},READ_ONLY="readonly",READ_WRITE="readwrite";function _deferReadiness(e){var t=dbContexts[e.name],r={};r.promise=new _Promise((function(e,t){r.resolve=e,r.reject=t})),t.deferredOperations.push(r),t.dbReady?t.dbReady=t.dbReady.then((function(){return r.promise})):t.dbReady=r.promise}function _advanceReadiness(e){var t=dbContexts[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function _rejectReadiness(e,t){var r=dbContexts[e.name].deferredOperations.pop();if(r)return r.reject(t),r.promise}function _getConnection(e,t){return new _Promise((function(r,n){if(dbContexts[e.name]=dbContexts[e.name]||createDbContext(),e.db){if(!t)return r(e.db);_deferReadiness(e),e.db.close()}var i=[e.name];t&&i.push(e.version);var o=idb.open.apply(idb,i);t&&(o.onupgradeneeded=function(t){var r=o.result;try{r.createObjectStore(e.storeName)}catch(r){if("ConstraintError"!==r.name)throw r;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),o.onerror=function(e){e.preventDefault(),n(o.error)},o.onsuccess=function(){r(o.result),_advanceReadiness(e)}}))}function _getOriginalConnection(e){return _getConnection(e,!1)}function _getUpgradedConnection(e){return _getConnection(e,!0)}function _isUpgradeNeeded(e,t){if(!e.db)return!0;var r=!e.db.objectStoreNames.contains(e.storeName),n=e.version<e.db.version,i=e.version>e.db.version;if(n&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),i||r){if(r){var o=e.db.version+1;o>e.version&&(e.version=o)}return!0}return!1}function _tryReconnect(e){_deferReadiness(e);for(var t=dbContexts[e.name],r=t.forages,n=0;n<r.length;n++){var i=r[n];i._dbInfo.db&&(i._dbInfo.db.close(),i._dbInfo.db=null)}return e.db=null,_getOriginalConnection(e).then((function(t){return e.db=t,_isUpgradeNeeded(e)?_getUpgradedConnection(e):t})).then((function(n){e.db=t.db=n;for(var i=0;i<r.length;i++)r[i]._dbInfo.db=n})).catch((function(t){throw _rejectReadiness(e,t),t}))}function createTransaction(e,t,r,n){void 0===n&&(n=1);try{var i=e.db.transaction(e.storeName,t);r(null,i)}catch(i){if(n>0&&(!e.db||"InvalidStateError"===i.name||"NotFoundError"===i.name))return _Promise.resolve().then((function(){if(!e.db||"NotFoundError"===i.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),_getUpgradedConnection(e)})).then((function(){return _tryReconnect(e).then((function(){createTransaction(e,t,r,n-1)}))})).catch(r);r(i)}}function createDbContext(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}var AsyncStorage=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"ready",value:function(){return this._ready}},{key:"_initStorage",value:function(e){var t,r=this;r._defaultConfig=e;var n={db:null};if(e)for(var i in e)n[i]=e[i];var o=dbContexts[n.name];o||(o=createDbContext(),dbContexts[n.name]=o),o.forages.push(r),r._initReady||(r._initReady=r.ready,r.ready=r._fullyReady);var a=[];function s(){return _Promise.resolve()}for(var l=0;l<o.forages.length;l++){var c=o.forages[l];c!==r&&a.push(c._initReady().catch(s))}var u=_sliceInstanceProperty(t=o.forages).call(t,0);return r._ready=_Promise.all(a).then((function(){return n.db=o.db,_getOriginalConnection(n)})).then((function(e){return n.db=e,_isUpgradeNeeded(n,r._defaultConfig.version)?_getUpgradedConnection(n):e})).then((function(e){n.db=o.db=e,r._dbInfo=n;for(var t=0;t<u.length;t++){var i=u[t];i!==r&&(i._dbInfo.db=n.db,i._dbInfo.version=n.version)}})),r._ready}},{key:"probeSupport",get:function(){return isIndexedDBValid()}},{key:"getItem",value:function(e,t){var r=this;e=normalizeKey(e);var n=new _Promise((function(t,n){r.ready().then((function(){createTransaction(r._dbInfo,READ_ONLY,(function(i,o){if(i)return n(i);try{var a=o.objectStore(r._dbInfo.storeName).get(e);a.onsuccess=function(){var e=a.result;void 0===e&&(e=null),t(e)},a.onerror=function(){n(a.error)}}catch(e){n(e)}}))})).catch(n)}));return executeCallback(n,t),n}},{key:"setItem",value:function(e,t,r){var n=this;e=normalizeKey(e);var i=new _Promise((function(r,i){n.ready().then((function(){return n._dbInfo,t})).then((function(t){createTransaction(n._dbInfo,READ_WRITE,(function(o,a){if(o)return i(o);try{var s=a.objectStore(n._dbInfo.storeName);null===t&&(t=void 0);var l=s.put(t,e);a.oncomplete=function(){void 0===t&&(t=null),r(t)},a.onabort=a.onerror=function(){var e=l.error?l.error:l.transaction.error;i(e)}}catch(e){i(e)}}))})).catch(i)}));return executeCallback(i,r),i}},{key:"removeItem",value:function(e,t){var r=this;e=normalizeKey(e);var n=new _Promise((function(t,n){r.ready().then((function(){createTransaction(r._dbInfo,READ_WRITE,(function(i,o){if(i)return n(i);try{var a=o.objectStore(r._dbInfo.storeName).delete(e);o.oncomplete=function(){t()},o.onerror=function(){n(a.error)},o.onabort=function(){var e=a.error?a.error:a.transaction.error;n(e)}}catch(e){n(e)}}))})).catch(n)}));return executeCallback(n,t),n}},{key:"clear",value:function(e){var t=this,r=new _Promise((function(e,r){t.ready().then((function(){createTransaction(t._dbInfo,READ_WRITE,(function(n,i){if(n)return r(n);try{var o=i.objectStore(t._dbInfo.storeName).clear();i.oncomplete=function(){e()},i.onabort=i.onerror=function(){var e=o.error?o.error:o.transaction.error;r(e)}}catch(e){r(e)}}))})).catch(r)}));return executeCallback(r,e),r}},{key:"length",value:function(e){var t=this,r=new _Promise((function(e,r){t.ready().then((function(){createTransaction(t._dbInfo,READ_ONLY,(function(n,i){if(n)return r(n);try{var o=i.objectStore(t._dbInfo.storeName).count();o.onsuccess=function(){e(o.result)},o.onerror=function(){r(o.error)}}catch(e){r(e)}}))})).catch(r)}));return executeCallback(r,e),r}},{key:"all",value:function(e){var t=this,r=new _Promise((function(e,r){t.ready().then((function(){createTransaction(t._dbInfo,READ_ONLY,(function(n,i){if(n)return r(n);try{var o=i.objectStore(t._dbInfo.storeName).openCursor(),a=[];o.onsuccess=function(){var t=o.result;t?(a.push({key:t.key,value:t.value}),t.continue()):e(a)},o.onerror=function(){r(o.error)}}catch(e){r(e)}}))})).catch(r)}));return executeCallback(r,e),r}},{key:"_fullyReady",value:function(e){var t=this,r=t._initReady().then((function(){var e=dbContexts[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady}));return executeTwoCallbacks(r,e,e),r}}]),e}(),MemoryCache=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"_initStorage",value:function(e){var t=e.name+"_"+e.storeName;return this.key=t,window[t]&&"object"===_typeof$1(window[t])||(window[t]={}),this.store=window[t],_Promise.resolve()}},{key:"getItem",value:function(e,t){var r=this.store[e];return void 0===r&&(r=null),this._internalPromise(t,r)}},{key:"setItem",value:function(e,t,r){return this.store[e]=t,this._internalPromise(r)}},{key:"removeItem",value:function(e,t){return delete this.store[e],this._internalPromise(t)}},{key:"clear",value:function(e){return this.store={},window[this.key]={},this._internalPromise(e)}},{key:"length",value:function(e){var t=_Object$keys(this.store).length;return this._internalPromise(e,t)}},{key:"_internalPromise",value:function(e,t){var r=t?_Promise.resolve(t):_Promise.resolve();return executeCallback(r,e),r}},{key:"all",value:function(e){for(var t=[],r=_Object$keys(this.store),n=0;n<r.length;n++){var i=r[n];t.push({key:i,value:this.store[i]})}return this._internalPromise(e,t)}},{key:"probeSupport",value:function(){return!0}}]),e}(),DefaultConfig={description:"",name:"__PRE_CACHE__",storeName:"keyvaluepairs",version:1},SPLIT="|",SESSION_KEY="__PRE_CACHE__KEYS",TIMESPLIT="$",MAX_CACHE=200,PreloadCache=function(){function e(t,r){_classCallCheck(this,e);var n=r===CACHE_TYPES.MEMORY?MemoryCache:AsyncStorage;this._driver=new n,this._driver._initStorage(DefaultConfig).catch((function(){})),this._hasIdbForbidden=!1,this._maxCache=!t||t<=0?MAX_CACHE:t,this.setMaxCache(this._maxCache),this._allCachedKeys={},this._allCachedTimeKeys={},this.getCachedKeysFromLocal(),this._readyPromise=new ProxyPromise$1,this.init()}return _createClass(e,[{key:"getCachedKeysFromLocal",value:function(){var e=proxyLocalStorage$1.getItem(SESSION_KEY);if(e)for(var t=e.split(SPLIT),r=0;r<t.length;r++){var n=t[r],i=this._getCacheKeyInfos(n),o=i.time,a=i.cachedKey;this._allCachedKeys[a]=1,this._allCachedTimeKeys[a]=o}}},{key:"_getCacheKeyInfos",value:function(e){var t,r=e.split(TIMESPLIT);return 2===r.length&&(t=r[0],e=r[1]),{time:t,cachedKey:e}}},{key:"writeCachedKeysToLocal",value:function(e){var t=[];this._allCachedKeys={},this._allCachedTimeKeys={};for(var r=0;r<e.length;r++){var n=e[r].key,i=this._getCacheKeyInfos(n),o=i.time,a=i.cachedKey;this._allCachedKeys[a]=1,this._allCachedTimeKeys[a]=o,t.push(n)}var s=t.join(SPLIT);proxyLocalStorage$1.setItem(SESSION_KEY,s)}},{key:"init",value:function(){var e=this;this._driver.setItem("test","test").then((function(){})).catch((function(){e._hasIdbForbidden=!0})).finally((function(){e._driver.removeItem("test").catch((function(){})),e._hasIdbForbidden&&(e._driver=new MemoryCache,e._driver._initStorage(DefaultConfig)),e._getAll(),e._readyPromise.resolve()}))}},{key:"_getAll",value:function(){var e=this;this._driver.all().then((function(t){e._cachedLength=t.length;var r=t.length-e._maxCache,n=t;if(r>0){var i=_sliceInstanceProperty(t).call(t,0,r);n=_sliceInstanceProperty(t).call(t,r);for(var o=0;o<i.length;o++)e.removeItem(i[o].key).then((function(){}))}e.writeCachedKeysToLocal(n)})).catch((function(){}))}},{key:"getItem",value:function(e,t){if(!this.hasItem(e))return _Promise.resolve(!1);var r=this._getTimeKey(e).timeKey;return this._driver.getItem(r,t)}},{key:"setItem",value:function(e,t,r){var n=this;this._getTimeKey(e).timeKey&&this.removeItem(e);var i=(new Date).getTime();this._allCachedKeys[e]=1,this._allCachedTimeKeys[e]=i;var o=this._genTimeKey(e,i);return r=r?function(){n._getAll(),r()}:function(){n._getAll()},this._driver.setItem(o,t,r)}},{key:"_getTimeKey",value:function(e){var t=this._allCachedTimeKeys[e],r=e;return t&&(r=this._genTimeKey(e,t)),{timeKey:r,time:t}}},{key:"_genTimeKey",value:function(e,t){var r,n;return _concatInstanceProperty(r=_concatInstanceProperty(n="".concat(t)).call(n,TIMESPLIT)).call(r,e)}},{key:"removeItem",value:function(e,t){var r=this._getTimeKey(e).timeKey,n=this._driver.removeItem(r,t);return delete this._allCachedKeys[e],delete this._allCachedTimeKeys[e],n}},{key:"hasItem",value:function(e){return!!this._allCachedKeys[e]}},{key:"clear",value:function(e){return this._driver.clear(e)}},{key:"length",value:function(e){return this._driver.length(e)}},{key:"setMaxCache",value:function(e){"number"==typeof e&&e>0&&(this._maxCache=e)}}]),e}(),PRELOADER_KEY="DEFAULT",PreloaderManager=function(){function e(){var t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;_classCallCheck(this,e),EventEmitter(this),this._preloadDataList=[],this._currentPreloadInst=null,this._dashPreloadList=[],this.autoPreload=r.autoPreload||!1,this._onPreloadNext=_bindInstanceProperty(t=this.onPreloadNextReady).call(t,this),this.on(PRELOAD_NEXT,this._onPreloadNext),this._preloaderConfigs={},this.update(r,n,i),this._cacheInst=new PreloadCache(r.preloadMaxCacheCount,r.preloadCacheType),this._preloadCacheProgress={},this._ptag_=!0,this._cachedDatas={}}return _createClass(e,[{key:"_getProloaderKey",value:function(e){return e.vtype?e.vtype:PRELOADER_KEY}},{key:"update",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!r)throw new Error("PreloaderManager predictInst is null");var n=this._getProloaderKey(e);this._preloaderConfigs[n]={predictInst:r,readyPromise:r.init(e),handlers:t}}},{key:"cachedDatas",get:function(){return this._cachedDatas}},{key:"onCacheSegment",value:function(e){var t=e.vid,r=e.format,n=e.cacheKey,i=e.total,o=e.loaded,a=e.isInitSegment,s=e.mediaType,l=this.getProgressCacheKey(t,r,s),c=this._preloadCacheProgress[l];c||(c=this._preloadCacheProgress[l]={}),c[n]={total:i,loaded:o,isInitSegment:a}}},{key:"onCachePredict",value:function(e){var t=e.vid,r=e.data;t&&r&&(this._cachedDatas[t]=r)}},{key:"getProgressCacheKey",value:function(e,t,r){var n,i;return _concatInstanceProperty(n=_concatInstanceProperty(i="".concat(e,"-")).call(i,t,"-")).call(n,r)}},{key:"onPreloadNextReady",value:function(){this.onPreloadNext()}},{key:"onPreloadSegDone",value:function(){this.autoPreload&&this.emit(PRELOAD_NEXT)}},{key:"onPreloadNext",value:function(){var e=this;if(null==this._currentPreloadInst&&this._preloadDataList.length>0){if(this._preloadDataList.length>0){var t=this._preloadDataList.shift().data;if(t.payload){var r,n=this._getProloaderKey(t),i=this._preloaderConfigs[n];if(!i)return void console.warn("need to set vtype, no preloader",t);this._currentPreloadInst=new PRELOADER(t,this,i,(function(t){e.onCacheSegment(t)}),(function(t){e.onCachePredict(t)})),this._currentPreloadInst.on(PRELOAD_SEG_DONE,_bindInstanceProperty(r=this.onPreloadSegDone).call(r,this)),this._currentPreloadInst.start().then((function(){e._currentPreloadInst.preloadSeg()})).catch((function(){e._currentPreloadInst=null}))}}}else null!=this._currentPreloadInst&&(this._currentPreloadInst.state===STATES.IDLE?this._currentPreloadInst.preloadSeg():this._currentPreloadInst.state===STATES.FINISH?(this._currentPreloadInst.destroy(),this._currentPreloadInst=null):this._currentPreloadInst.state===STATES.PREPARE&&(this._currentPreloadInst.cnt++,this._currentPreloadInst.cnt>2&&(this._currentPreloadInst.destroy(),this._currentPreloadInst=null)))}},{key:"addDashPreloader",value:function(e){e&&e.data&&(this._preloadDataList.push(e),_sortInstanceProperty(this).call(this,this._preloadDataList),this.autoPreload&&this.emit(PRELOAD_NEXT))}},{key:"_addDashPreloader",value:function(e){e&&e.data&&this._preloadDataList.push(e)}},{key:"addDashPreloaderList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];_sortInstanceProperty(this).call(this,e);for(var t=0;t<e.length;t++)this._addDashPreloader(e[t])}},{key:"sort",value:function(e){_sortInstanceProperty(e).call(e,(function(e,t){return void 0===e.order&&void 0===e.order||e.order<t.order?-1:1}))}},{key:"destroy",value:function(){this.off(PRELOAD_NEXT,this._onPreloadNext)}},{key:"cancelLoading",value:function(){this._currentPreloadInst&&(this._currentPreloadInst.cancelLoading(),this._currentPreloadInst=null),this._preloadDataList=[]}},{key:"preloadCacheProgress",value:function(e){var t=e.vid,r=e.format,n=e.mediaType,i=e.prelaodType,o=e.bitrate,a=e.set_duration,s=e.set_size,l=e.media_type,c=e.start_time,u=this.getProgressCacheKey(t,r,n),d=this._preloadCacheProgress[u];if(d){for(var p=_Object$values(d),y=0,h=0,f=0,$=0,m=0,b=0;b<p.length;b++){var g=p[b];g.isInitSegment&&(y=g.total,f=g.loaded,$=g.loaded===g.total?DOWN_STATES.SUCCESS:DOWN_STATES.DOWNLOADING),h+=g.total,m+=g.loaded}return{media_type:l,preload_type:i,stream_bitrate:o,header_size:y,content_total_size:h,start_time:c||-1,state_info:{set_duration:a,set_size:s,current_header_download_size:f,current_content_download_size:m,header_download_state:$,content_download_state:m===h?DOWN_STATES.SUCCESS:DOWN_STATES.DOWNLOADING}}}return null}},{key:"getPreloadTaskInfos",value:function(){}},{key:"getItem",value:function(e,t){return this._cacheInst.getItem(e,t)}},{key:"setItem",value:function(e,t,r){return this._cacheInst.setItem(e,t,r)}},{key:"removeItem",value:function(e,t){return this.removeItem(e,t)}}],[{key:"getInstance",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=e.GLOBAL_KEY+(t.globalKey?t.globalKey:""),o=window[i];if(o&&o._ptag_)return o.update(t,r,n),o;var a=new e(t,r,n);return window[i]=a,a}}]),e}();PreloaderManager.GLOBAL_KEY="__preloadcontext__";var PreloaderBase=function(){function e(t){_classCallCheck(this,e),EventEmitter(this),this.options=t,this.promisePolyfill(),this.before(),this.check(),this._preloadManager=PreloaderManager.getInstance(t,this.handlers,this.predictInst),this.loadingTasks=[]}return _createClass(e,[{key:"promisePolyfill",value:function(){_Promise.prototype.finally||(_Promise.prototype.finally={finally:function(e){var t=function(t){return _Promise.resolve(e()).then(t)};return this.then((function(e){return t((function(){return e}))}),(function(e){return t((function(){return _Promise.reject(e)}))}))}}.finally)}},{key:"before",value:function(){throw new Error("need")}},{key:"check",value:function(){if(!this.handlers)throw new Error("handlers null");if(!this.handlers.start||!this.handlers.onRequest)throw new Error("handlers callback null");if(!this.predictInst)throw new Error("predictInst null");if(!this.predictInst.__p__)throw new Error("predictInst need extends predictbase")}},{key:"preloadNext",value:function(){this._preloadManager.emit(PRELOAD_NEXT)}},{key:"preloadManager",get:function(){return this._preloadManager}},{key:"start",value:function(e){throw new Error("start need implment, return Promise")}},{key:"cancelLoading",value:function(){for(var e=0;e<this.loadingTasks.length;e++)try{var t=this.loadingTasks[e];"function"==typeof t.cancel&&t.cancel()}catch(e){}this.loadingTasks=[],this._preloadManager.cancelLoading()}},{key:"addTasker",value:function(e){this.loadingTasks.push(e)}},{key:"removeTasker",value:function(e){var t=this;_setTimeout((function(){for(var r=t.loadingTasks.length-1;r>-1;r--)if(t.loadingTasks[r]===e){var n;_spliceInstanceProperty(n=t.loadingTasks).call(n,r,1);break}}))}},{key:"addDashPreloader",value:function(e){this._preloadManager.addDashPreloader(e)}},{key:"addDashPreloaderList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this._preloadManager.addDashPreloaderList(e)}}]),e}(),PredictBase=function(){function e(){_classCallCheck(this,e),this.bandwidth2item={},this._mediaInfos=null,this.__p__=!0}return _createClass(e,[{key:"init",value:function(){throw new Error("init func not implement, return promise")}},{key:"preloadPredict",value:function(e){throw new Error("preloadPredict error",e)}},{key:"updateMediaInfos",value:function(e){if(this._mediaInfos=e,this.bandwidth2item={},this.dynamic_video=e&&e.dynamic_video_list,this.dynamic_video&&this.dynamic_video.length>0)for(var t=0;t<this.dynamic_video.length;t++){var r=this.dynamic_video[t];this.bandwidth2item[r.bitrate||r.bandwidth]=r}}},{key:"getIdx",value:function(e,t){var r=0;return _forEachInstanceProperty(e).call(e,(function(e,n){e.definition===t&&(r=n)})),r}},{key:"cachedData",get:function(){return null}}]),e}(),VTYPES=VTYPES$1,CODEC_TYPE$1={H264:"h264",H265:"h265"},MAX_LOADING_COUNT=1,PRELOAD_TYPES=PRELOAD_TYPES$1,DEFAULT_TRUNK=8e5,_BITRATE_SELECTOR=null,Predict=function(e){_inherits$5(r,PredictBase);var t=_createSuper$5(r);function r(){return _classCallCheck$8(this,r),t.apply(this,arguments)}return _createClass$8(r,[{key:"init",value:function(){return _Promise.resolve()}},{key:"preloadPredict",value:function(e){return e}}]),r}(),Mp4Preloader=function(e){_inherits$5(a,PreloaderBase);var t,r,n,i,o=_createSuper$5(a);function a(e,t){var r;return _classCallCheck$8(this,a),e.vtype=VTYPES.MP4,(r=o.call(this,e)).player=t,r.loadingCount=0,r._mp4=null,r._loader=null,r._pendingPromise=null,r.playerId=t.playerId,r}return _createClass$8(a,[{key:"log",value:function(e){for(var t,r="[Preloader] ".concat(e),n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];log$3.apply(void 0,_concatInstanceProperty(t=[r]).call(t,i))}},{key:"before",value:function(){var e=this;this.handlers={start:function(t){var r,n,i,o,s,l=t.payload||[];if(0===l.length)return _Promise.reject();var c=t.vid,u=t.vtype||VTYPES.MP4,d=t.codecType||CODEC_TYPE$1.H264,p=e.getUserSelectDefinition(),y=e.checkCacheKey(c,l,p,u,d);if(console.log(_concatInstanceProperty(r=_concatInstanceProperty(n=_concatInstanceProperty(i="[Preloader] ".concat(c," codecType:")).call(i,d," vtype:")).call(n,u," hasCache:")).call(r,y)),y||"MP3"===u)return _Promise.reject();var h=e.getInitDefinition(l,e.options.definition,p);if(console.log("[Preloader] ".concat(c," getInitDefinition"),h),!h)return _Promise.reject();var f=h.definition,$=t.preloadTime||e.options.preloadTime,m=t.preloadSize||e.options.preloadSize||Math.pow(25,4)-1,b=a.generateUniqueKey({vid:c,definition:f,vtype:u,codecType:d});log$3(_concatInstanceProperty(o=_concatInstanceProperty(s="[Preloader] ".concat(c," start duration:")).call(s,h.duration," cacheKey:")).call(o,b));var g=_objectSpread2$3({vid:c,definition:f,preloadTime:$,preloadSize:m,cacheKey:b,codecType:d,vtype:u},h);return e.loadingCount++,e.start(g)},onRequest:function(t,r){var n=t.url,i=t.range,o=t.extData;return e.getData(n,i,o,r)}},this.loggerConfig={logger:function(){},openLog:!1},this.predictInst=new Predict(this.loggerConfig)}},{key:"start",value:function(e){var t=this,r={mediaInfos:{dynamic_video_list:[],dynamic_audio_list:[]},onObtain:function(){var e=new ProxyPromise;return e.resolve(r.mediaInfos),e},onTransform:function(r){var n=new ProxyPromise;t._pendingPromise=n;var i=e.preloadTime,o=e.codecType;return i&&(o!==CODEC_TYPE$1.H265||t.options.supportHevc)?t.loadByPreloadTime(e,n):t.loadByChunkSize(e,n),n}};return _Promise.resolve(r)}},{key:"getInitDefinition",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=null;if(a.BitRateAdapter)n=a.BitRateAdapter.getSuitableBitrate(e,r),this.log("Mp4Preloader.BitRateAdapter",n);else{for(var i=0,o=0;o<e.length;o++){if(e[o].definition===t){i=o;break}}n=e[i]}return n||(n=e[0]),n}},{key:"getPreLoadData",value:function(e){var t=this,r=new ProxyPromise;return this.getItemSameVid(e).then((function(e){if(t.log("getPreLoadData",e.value),e.value){var n=e.value,i=n.mediaSegList,o=n.meta,a=n.type,s=n.buffer,l=n.preloadTime,c=n.vid,u=n.cacheKey,d=n.definition,p=n.byteLength,y=n.duration,h=n.fileSize,f=n.from,$=n.vtype,m=n.codecType,b=n.initSeg,g={vid:c,type:a,vtype:$,codecType:m,definition:d,bitrate:n.bitrate,cacheKey:u,duration:y||0,byteLength:p,from:f,meta:o};a===PRELOAD_TYPES.SIZE?(g.buffer=s,g.fileSize=h||0):(g.mediaSegList=i,g.preloadTime=l,g.initSeg=b),r.resolve(g)}else r.resolve(null)})).catch((function(e){r.reject(e)})),r}},{key:"setPreLoadData",value:(i=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r){var n,i,o,a,s,l,c,u,d,p,y,h,f,$,m,b,g,S,I=this;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ProxyPromise,i=r.mediaSegList,o=r.meta,a=r.vid,s=r.definition,l=r.type,c=r.buffer,u=r.duration,d=r.byteLength,p=r.preloadTime,y=r.preloadSize,h=r.fileSize,f=r.from,$=r.vtype,m=r.codecType,b=r.initSeg,g=r.bitrate,S={codecType:m,vtype:$,vid:a,definition:s,cacheKey:t,type:l,from:f,meta:o,fileSize:h,bitrate:g},l===PRELOAD_TYPES.SIZE?(S.buffer=c,S.byteLength=d||0,S.preloadSize=y||0,S.fileSize=h,S.buffer&&S.buffer.byteLength>0&&(this.setItem(t,S),n.resolve(!0))):(S.mediaSegList=i||[],S.duration=u,S.byteLength=d||0,S.preloadTime=p||0,S.initSeg=b,o&&0===i.length?(this.setItem(t,S),n.resolve(!0)):(_everyInstanceProperty(i).call(i,(function(e){return!!e.buffer&&e.state}))||n.resolve(!1),this.setItem(t,S).then((function(){I.log("setPreLoadData1 success",t,(new Date).getTime())})),n.resolve(!0))),e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getInitCacheData",value:function(e,t){var r,n={type:e,meta:null,byteLength:0,fileSize:0,bitrate:0};return e===PRELOAD_TYPES.DURATION?(n.mediaSegList=[],n.initSeg=null,n.duration=0):n.buffer=null,_mapInstanceProperty(r=_Object$keys(t)).call(r,(function(e){n[e]=t[e]})),n}},{key:"updatePreCacheData",value:function(e,t,r,n,i,o,a){var s=e.mediaSegList;if(e.type===PRELOAD_TYPES.SIZE||-1===i)return e.buffer=Concat(Uint8Array,e.buffer.buffer||[],new Uint8Array(t)),e;for(var l=-1,c=0;c<s.length;c++)if(s[c].index===i){l=c;break}var u=o||[0,0];return l>-1?(t&&(s[l].buffer=Concat(Uint8Array,s[l].buffer||[],new Uint8Array(t))),r.length>1&&(s[l].range.length>1?s[l].range[1]=r[1]:s[l].range=r),-1!==a[1]&&(n=s[l].range[1]>=a[1]),s[l].state=n):(e.duration=u[1],s.push({buffer:t,range:r||[],index:i,totalRange:a||[],timeRange:[u[0],u[1]],state:n})),n&&(e.byteLength=r[1]),n}},{key:"checkCacheKey",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:VTYPES.MP4,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:CODEC_TYPE$1.H264;if(r){var o=a.generateUniqueKey({vid:e,definition:r,vtype:n,codecType:i});return this.hasItemSameVid(o)?o:null}for(var s=0;s<t.length;s++){var l=a.generateUniqueKey({vid:e,definition:t[s].definition,vtype:n,codecType:i});if(this.hasItemSameVid(l))return l}return null}},{key:"checkCanPreloadNext",value:function(){var e=!0;return this.loadingCount>=MAX_LOADING_COUNT&&(e=!1),e&&this.preloadNext(),e}},{key:"loadByPreloadTime",value:function(e,t){var r,n,i=this,o=e.vid,a=e.cacheKey,s=e.preloadTime,l=e.definition,c=e.duration,u=e.bitrate,d=e.codecType,p=e.vtype,y=null;if(y="Array"===util.typeOf(e.url)?e.url.length>1?e.url[1].src:e.url[0].src:e.url){y=util.extUrl(y,{__vid:o});var h=s>=this.options.segmentMinDuration?this.options.segmentMinDuration:s;this.log("loadByPreloadTime",_concatInstanceProperty(r=_concatInstanceProperty(n="".concat(e.cacheKey,", definition:")).call(n,e.definition,",segmentMinDuration:")).call(r,h),e);var f=util.getFileSize(u,c);this._mp4=new MP4(y,u,_objectSpread2$3({segmentDuration:h,codecType:this.codecType,chunkSize:this.options.preloadSize,duration:c,fileSize:f,playerId:this.playerId,vid:o,useUrlRange:!1,retryCount:1,retryDelay:1e3,supportHevc:this.options.supportHevc},this.options.reqOptions),null,null,{},[],this.firstFrameTime,"");var $=this.getInitCacheData(PRELOAD_TYPES.DURATION,{vid:o,preloadTime:s,definition:l,cacheKey:a,codecType:d,vtype:p,bitrate:u||0});this._mp4.once("metaReady",(function(r){i.log("".concat(o," metaReady this._pendingPromise"),i._pendingPromise.state),$.meta=r,$.from=2,i._mp4.cancelLoading(),i.startLoadByFragments($,e,t)})),this._mp4.on("error",(function(e){console.error("[Preloader] ".concat(o," loadByPreloadTime error"),e),i._endLoadFragments()})),this._mp4.init({})}else this._endLoadFragments()}},{key:"loadByChunkSize",value:(n=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t){var r,n,i,o,a,s,l,c,u,d,p,y,h,f,$,m,b,g=this;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.vid,n=t.cacheKey,i=t.definition,o=t.duration,a=t.bitrate,s=t.codecType,l=t.vtype,c=this.options,u="Array"===util.typeOf(t.url)?t.url[0].src:t.url){e.next=6;break}return this._endLoadChunk(),e.abrupt("return");case 6:return u=util.extUrl(u,{__vid:r}),d=util.getFileSize(a,o),p=getMetaSize(o,DEFAULT_TRUNK,d),this.log("".concat(r,"loadByChunkSize"),t.cacheKey,t.definition,p,t),y=this.getInitCacheData(PRELOAD_TYPES.SIZE,{vid:r,definition:i,cacheKey:n,codecType:s,vtype:l,fileSize:d,bitrate:a||0}),this.MP4Loader=new MP4Loader(_objectSpread2$3(_objectSpread2$3({url:u,retry:c.retry||2,retryDelay:c.retryDelay||1e3,timeout:3e3},c.reqOptions),{},{segmentDuration:c.segmentDuration})),e.prev=12,h=new Uint8Array(0),f=0,$=null,m=null,b=function(e,t,r){if(e&&r.range[0]===f&&(h=Concat(Uint8Array,h,new Uint8Array(e)),f+=e.byteLength),r.meta){g.MP4Loader.cancel();var i=r.meta,o=i.videoSegments,a=i.audioSegments;m=_objectSpread2$3(_objectSpread2$3({},i.meta),{},{ext:{videoTrak:o,audioTrak:a}}),y.meta=m,y.buffer=h,y.byteLength=h.byteLength,g.setPreLoadData(n,y),$=util.getFragRange(0,o,a),g.log("".concat(n," onProgressHandle4 meta"),t,$,f,h.byteLength),$[0]<f&&($[0]=f),g._loadOneChunk(y,$)}},e.next=20,this.MP4Loader.loadMetaProcess(this.MP4Loader.cache,[0,p],b);case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(12),console.error("[Preloader] ".concat(n," loadByChunkSize error"),e.t0),this._endLoadChunk();case 26:case"end":return e.stop()}}),e,this,[[12,22]])}))),function(e){return n.apply(this,arguments)})},{key:"_loadOneChunk",value:(r=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r){var n,i,o,a,s,l,c,u;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.vid,i=t.cacheKey,o=t.buffer,e.prev=1,e.next=4,this.MP4Loader.loadData(r,this.MP4Loader.cache,{});case 4:a=e.sent,this.log("".concat(n," _loadOneChunk"),r,a),s=a.response,(l=a.data)?(this._endLoadChunk(),s&&s.headers&&(c=util.getFileSize(s.headers))&&(t.fileSize=c),u=Concat(Uint8Array,o,new Uint8Array(l)),t.buffer=u,t.byteLength=u.byteLength,this.log("".concat(n," _loadOneChunk ret"),i,u.byteLength,t),t.from=4,this.setPreLoadData(i,t)):this._endLoadChunk(),e.next=14;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("[Preloader] ".concat(n," loadByChunkSize error"),e.t0),this._endLoadChunk();case 14:case"end":return e.stop()}}),e,this,[[1,10]])}))),function(e,t){return r.apply(this,arguments)})},{key:"_endLoadChunk",value:function(){this.log("_endLoadChunk loadingCount:".concat(this.loadingCount),this._pendingPromise?this._pendingPromise.state:null),this._pendingPromise&&(this._pendingPromise.resolve(),this._pendingPromise=null),this.loadingCount>0&&this.loadingCount--,this.MP4Loader&&(this.MP4Loader.cancel(),this.MP4Loader.destroy(),this.MP4Loader=null)}},{key:"startLoadByFragments",value:(t=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t,r,n){var i,o,a,s,l,c,u=this;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(i=r.preloadTime,o=r.vid,console.log("[Preloader] ".concat(o," startLoadByFragments")),a=[],s=0;s<this._mp4.timeRange.length;s++)this._mp4.timeRange[s].startTime<=i&&a.push(s);return l=function(e){u.log("[Preloader] _failedCallback",e),u._endLoadFragments()},c=function(){var e=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(r){var n,i,o,s,d,p,y,h,f;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u._mp4){e.next=2;break}return e.abrupt("return");case 2:if(n=r.buffer,i=r.context,o=r.state,s=r.initSeg,d=i.fragIndex,p=i.range,y=i.timeRange,h=u._mp4.getFragRange(d),!t.initSeg&&s&&(t.initSeg=s),f=u.updatePreCacheData(t,n,p,o,d,y,h),console.log("[Preloader] ".concat(t.cacheKey," _successCallback"),d,o,f,p,y,h,r),t.from=3,!f){e.next=20;break}return e.next=12,u.setPreLoadData(t.cacheKey,t);case 12:if(!(d>=a.length-1)){e.next=17;break}u.log("".concat(t.cacheKey," mp4.load end"),d),u._endLoadFragments(),e.next=20;break;case 17:return u.log("".concat(t.cacheKey," mp4.load start"),d+1),e.next=20,u._mp4.loadAllFragmentData(d+1,c,l);case 20:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.next=8,this._mp4.loadAllFragmentData(0,c,l);case 8:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})},{key:"_endLoadFragments",value:function(){this.log("_endLoadFragments loadingCount:".concat(this.loadingCount),this._pendingPromise?this._pendingPromise.state:null),this._pendingPromise&&(this._pendingPromise.resolve(),this._pendingPromise=null),this.loadingCount>0&&this.loadingCount--,this._mp4&&(this._mp4.destroy(),this._mp4=null)}},{key:"getFragment",value:function(e,t,r,n,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=new ProxyPromise;return this.getData(e,t,o,!1).then((function(e){n.createFragment(new Uint8Array(e.res),t[0]-n.mdatStart,r,{range:t,context:e.context}).then((function(e){a.resolve(e)}))})),a}},{key:"getPreloadUrl",value:function(e){var t=e.url,r=e.range,n=e.definition,i=e.vid;return[{url:t,range:r,extData:{cacheKey:a.generateUniqueKey({vid:i,start:r[0],end:r[1],definition:n}),vid:i,format:"mp4"}}]}},{key:"getRangeList",value:function(e){var t=this.allCachedKeys,r={timeRange:[],contentRange:[]};for(var n in t)if(t.hasOwnProperty(n)&&_indexOfInstanceProperty(n).call(n,e)>-1){var i,o,a=n.split("#");if(0===_indexOfInstanceProperty(i=a[2]).call(i,"pretime"))r.timeRange.push([0,_parseFloat$1(_sliceInstanceProperty(o=a[2]).call(o,7))]);else r.contentRange.push([_parseInt$1(a[2]),_parseInt$1(a[3])])}return r}},{key:"hasItemSameVid",value:function(e){if(!e)return!1;var t=this.allCachedKeys;for(var r in t)if(t.hasOwnProperty(r)){if(r===e)return r;var n=r.split("#"),i=e.split("#");if(n.length>=4&&i.length>=4&&n[0]===i[0]){var o,a;if(0===_indexOfInstanceProperty(o=n[2]).call(o,"pretime")&&0===_indexOfInstanceProperty(a=i[2]).call(a,"pretime"))return r;var s=[_parseInt$1(n[2]),_parseInt$1(n[3])],l=[_parseInt$1(i[2]),_parseInt$1(i[3])];if(l[0]>=s[0]&&l[1]>l[0]&&l[1]<=s[1])return r}}return!1}},{key:"removeOthers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=this.allCachedKeys;for(var n in r)r.hasOwnProperty(n)&&n.split("#").length>=1&&function(){var r=n.split("#")[0];_everyInstanceProperty(t).call(t,(function(e){return e.split("#").length>=1&&e.split("#")[0]!==r}))&&(e.log("remove cache:".concat(n)),e.cacheInst.removeItem(n))}()}},{key:"getItemSameVid",value:function(e,t){var r,n=this.hasItemSameVid(e);return this.log(_concatInstanceProperty(r="getItemSameVid: key:".concat(e," checkResult:")).call(r,n)),n?this.cacheInst.getItem(n,t).then((function(e){return{value:e,key:n}})):_Promise.resolve({})}},{key:"setItem",value:function(e,t){return this.cacheInst.setItem(e,t)}},{key:"allCachedKeys",get:function(){return this.cacheInst._allCachedKeys}},{key:"cacheInst",get:function(){return this._preloadManager._cacheInst}},{key:"cancelPreloadByVid",value:function(e){if(e){for(var t=this._preloadManager._preloadDataList,r=[],n=0;n<t.length;n++){t[n].data.vid!==e?r.push(t[n]):(console.log("[Preloader] cancelPreloadByVid",e),this.log("cancelPreloadByVid",e))}this._preloadManager._preloadDataList=r}}},{key:"cancelLoading",value:function(e){var t;this._endLoadFragments(),this._endLoadChunk();var r=this._preloadManager;if(r._currentPreloadInst){var n=r._currentPreloadInst._toLoadList,i=[];_mapInstanceProperty(n).call(n,(function(t){return t.playerId!==e&&i.push(t),t})),r._currentPreloadInst._toLoadList=i}var o=[],a=[];_mapInstanceProperty(t=r._preloadDataList).call(t,(function(t){return t.playerId!==e?o.push(t):a.push(t.data.vid),t})),this.log("cancelLoading",e,a.join(",")),r._preloadDataList=o}},{key:"checkIfExistInList",value:function(e){for(var t=this._preloadManager._preloadDataList,r=0;r<t.length;r++)if(e===t[r].data.vid)return!0;return!1}},{key:"addPreloader",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(e.data){e.data.vtype||(e.data.vtype=VTYPES.MP4);var n=e.data.vid,i=this.checkIfExistInList(n);console.log("[Preloader] addPreloader checkIfExistInList",n,i),r&&n===r||i||(e.playerId=t,this.addDashPreloader(e))}}},{key:"addPreloaderList",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=[],n=0;n<e.length;n++){var i=e[n].data,o=i.vid,a=i.vtype,s=this.checkIfExistInList(o);console.log("[Preloader] addPreloaderList checkIfExistInList",o,o===t,s),t&&o===t||s||(a||(e[n].data.vtype=VTYPES.MP4),r.push(e[n]))}console.log("[Preloader] addPreloaderList length is ".concat(r.length)),this.addDashPreloaderList(r)}},{key:"setUserSelectDefinition",value:function(e){this._preloadManager&&(this._preloadManager.userDefinition=e)}},{key:"getUserSelectDefinition",value:function(){return this._preloadManager.userDefinition||null}},{key:"destroy",value:function(){this._endLoadFragments(),this._endLoadChunk(),this.cancelLoading(this.playerId)}}],[{key:"PRELOAD_TYPES",get:function(){return PRELOAD_TYPES}},{key:"BitRateAdapter",get:function(){return _BITRATE_SELECTOR},set:function(e){_BITRATE_SELECTOR=e}},{key:"generateUniqueKey",value:function(e){var t,r,n,i,o=e.vid,a=e.mediaType,s=e.definition,l=e.codecType,c=e.vtype;return a=a||"video",s=s||"-1",l=l||CODEC_TYPE$1.H264,c=c||VTYPES.MP4,o?_concatInstanceProperty(t=_concatInstanceProperty(r=_concatInstanceProperty(n=_concatInstanceProperty(i="".concat(o,"#")).call(i,a,"#")).call(n,l,"#")).call(r,c,"#")).call(t,s):null}}]),a}(),CUSTOM_EVENTS={MEDIA_EXPIRED:"MEDIA_EXPIRED",INIT_FAIL:"INIT_FAIL",PARSE_ERROR:"PARSE_ERROR",PLAYER_LOG:"PLAYER_LOG",BUFFERED_RESET:"BUFFERED_RESET"},BUFFER_BREAK=1e4,$$2=_export,$reduce=arrayReduce$1.left,arrayMethodIsStrict=arrayMethodIsStrict$c,CHROME_VERSION=engineV8Version,IS_NODE=engineIsNode,STRICT_METHOD=arrayMethodIsStrict("reduce"),CHROME_BUG=!IS_NODE&&CHROME_VERSION>79&&CHROME_VERSION<83;$$2({target:"Array",proto:!0,forced:!STRICT_METHOD||CHROME_BUG},{reduce:function(e){var t=arguments.length;return $reduce(this,e,t,t>1?arguments[1]:void 0)}});var GapJump=function(){function e(t,r){var n,i;_classCallCheck$8(this,e),this.player=t,this.mediaElem=t.video,this.config=r,this.timer=new IntervalTimer$1,this.prevReadyState=this.mediaElem.readyState,this.didFireLargeGap=!1,this.seekingEventReceived=!1,this.onWaitFunc=_bindInstanceProperty(n=this._onWaiting).call(n,this),this.onPlayFunc=_bindInstanceProperty(i=this._onPlay).call(i,this),this.isSafari=/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),!1!==this.config.useGapJump&&this._start(),this.hasPlayed=!1}return _createClass$8(e,[{key:"_onWaiting",value:function(){this.onGapJump()}},{key:"_onPlay",value:function(){this.hasPlayed=!0}},{key:"_start",value:function(){this.mediaElem.addEventListener("waiting",this.onWaitFunc),this.mediaElem.addEventListener("play",this.onPlayFunc)}},{key:"onSegmentAppend",value:function(e){if(this.config.enableCheckBufferDiff&&this.mediaElem){var t,r=_reduceInstanceProperty(e).call(e,(function(e,t){return e+t.downloaded?t[1]-t[0]:0}),0);_reduceInstanceProperty(t=this._getBuffered(this.mediaElem.buffered)).call(t,(function(e,t){return e+(t.end-t.start)}),0)/r<.8&&(log$3("onSegmentAppend detectGap"),this.player&&this.player.emit("detectGap"))}this.onGapJump()}},{key:"onSeeking",value:function(){this.seekingEventReceived=!0,this.didFireLargeGap=!1}},{key:"onGapJump",value:function(){if(this.mediaElem.readyState!==HTMLMediaElement.HAVE_NOTHING){if(this.mediaElem.seeking){if(!this.seekingEventReceived)return}else this.seekingEventReceived=!1;if(!this.mediaElem.paused||0===this.mediaElem.currentTime||!this.hasPlayed){this.mediaElem.readyState!==this.prevReadyState&&(this.didFireLargeGap=!1,this.prevReadyState=this.mediaElem.readyState);var t=this.mediaElem.buffered,r=this.config.smallGapLimit||.5,n=this.config.gapDetectionThreshold||.1,i=this.mediaElem.currentTime,o=this._getIndex(t,i,n);if(null!==o&&(0!==o||t&&t.length)){var a=t.start(o)+.1;if(!(a>this.mediaElem.duration)){var s=a-i,l=s<=r;s<e.BROWSER_GAP_TOLERANCE||l&&(!0!==this.config.disableGapSetPosition&&(log$3("onGapJump this.mediaElem.currentTime"),this.mediaElem.currentTime=this.isSafari?a+.1:a),this.player&&this.player.emit("detectGap"),log$3("gapJump gapIndex",o,"isGapSamll",l,"jumpLargeGap",!1,"currentTime",this.mediaElem.currentTime),.08!==a&&this.player&&this.player.emit("log",{type:"oneevent",end_type:"gap",vid:this.player.config.vid,ext:{video_postion:Math.floor(1e3*a)}}))}}}}}},{key:"_getIndex",value:function(e,t,r){if(!e||!e.length)return null;if(1===e.length&&e.end(0)-e.start(0)<1e-6)return null;for(var n=this._getBuffered(e),i=null,o=0;o<n.length;o++){if(n[o].start>t&&(0===o||n[o-1].end-t<=r)){i=o;break}}return i}},{key:"_getBuffered",value:function(e){if(!e)return[];for(var t=[],r=0;r<e.length;r++)t.push({start:e.start(r),end:e.end(r)});return t}},{key:"destroy",value:function(){this.mediaElem.removeEventListener("waiting",this.onWaitFunc),this.mediaElem.removeEventListener("play",this.onPlayFunc),this.timer.clear(),this.timer=null}}]),e}();GapJump.BROWSER_GAP_TOLERANCE=.001;var SPPED_CACHE="danger_d_speed";function convert32ToC64(e){var t=e.toString(16);return t.length<=8?{high:0,low:e}:{high:_parseInt$1(t.substr(0,t.length-8),16),low:_parseInt$1(t.substr(t.length-8),16)}}var BaseAbr=function(){function e(t,r,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};_classCallCheck$5(this,e),this.bitrate=r,this.segment_duration=i||5e3,this.logger=o.logger,this.openLog=o.openLog,this.cdnHost=t.cdnHost,this._loadedPromise=new ProxyPromise$1,this._wasmPromise=new ProxyPromise$1,this.config=t,this.autoBitrateOpts=t.autoBitrateOpts||{},this.stall_penalty=this.autoBitrateOpts.stall_penalty||11,this.switch_penalty=this.autoBitrateOpts.switch_penalty||4,this.interval=this.autoBitrateOpts.interval||1e3;var a=t.progressTimer||1e3,s=this.autoBitrateOpts.startInterval||a;this.initInterval=.8*s,this._prealodMethod=t.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._hasDeviceInfoChanged=!0,this.updateMediaInfos(n,!1)}return _createClass$5(e,[{key:"onLoadWasm",value:function(){var e=this,t=this.module={onRuntimeInitialized:function(){e._wasmPromise.resolve()}};return(0,this.autoBitrateOpts.module)(t),this._wasmPromise}},{key:"updateMediaInfos",value:function(e){var t,r=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._heightToDefitionConfig=new _Map,this._bitrateToDefitionConfig=new _Map,e?(this.mediaInfos=e,_forEachInstanceProperty(t=this.mediaInfos.dynamic_video_list).call(t,(function(e){r._heightToDefitionConfig.set(e.vheight,e),r._bitrateToDefitionConfig.set(e.bitrate,e)}))):n&&console.error("baseAbr mediaInfos null")}},{key:"parseMPD",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var e=[],t=this.mediaInfos.dynamic_video_list,r=0;r<t.length;r++){var n=t[r];e.push({stream_id:"s".concat(r),bandwidth:n.bitrate||n.bandwidth,width:n.vwidth||n.width,height:n.vheight||n.height,codec:n.codecs||n.codec_type||"h264",frame_rate:Number(n.fps)||-1,segment_duration:this.segment_duration})}var i=_JSON$stringify({v_adaptation:e});this.module.ccall("parseMPD","null",["string"],[i])}catch(e){}}else console.warn("mediaInfos is null")}},{key:"_getDefautSpeed",value:function(e){var t=0,r=window.navigator.connection;if(r&&r.downlink)t=1024*navigator.connection.downlink/8,this.logger("initSpeed connect",t);else try{t=_parseFloat$1(proxyLocalStorage$1.getItem(SPPED_CACHE))||0,this.logger("initSpeed connect",t)}catch(e){}return 0===t&&(t=e&&e.historyAvspeed||0,this.logger("initSpeed history",t)),t}},{key:"setDebugModel",value:function(e){this.module._setDebugModel(e)}},{key:"updateBitrate",value:function(e){this.bitrate=e}},{key:"_updatePreloadSupplier",value:function(e,t){this.module._updatePreloadSupplier(e,t)}},{key:"updatePreloadSupplier",value:function(e){var t=this._getDefautSpeed();this._updatePreloadSupplier(t,e)}},{key:"getPreloadBitrate",value:function(){var e,t=null,r=[];try{this.logger("preloadMethod",this._prealodMethod),e=this.module._getPreloadBitrate(this._prealodMethod);for(var n=0;n<5;n++)r.push(this.module.HEAP32[e/Int32Array.BYTES_PER_ELEMENT+n]);var i={bitrate:r[0],pduration:r[1],preloadType:r[2],size:r[3],mediaType:r[4]};return this.logger("getPreloadBitrate",i),i}catch(e){t=null,console.log("getPreloadBitrate",e)}finally{this.module._free(e)}return t}},{key:"_updateDeviceInfo",value:function(e){try{if(this._hasDeviceInfoChanged){var t=window.devicePixelRatio||1;this.module._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),t,e||-1)}this._hasDeviceInfoChanged=!1}catch(e){console.log("_updateDeviceInfo")}}},{key:"preload",value:function(e){this.parseMPD(),this.updatePreloadSupplier(e),this._updateDeviceInfo(-1);var t=window.devicePixelRatio||1;return this.logger("baseAbr updateDeviceInfo width",this._videoWidth||Number(this.config.width),"height",this._videoHeight||Number(this.config.height),"dpr",t),this.getPreloadBitrate()}}]),e}();BaseAbr.SPPED_CACHE=SPPED_CACHE;var entryVirtual=entryVirtual$o,values$6=entryVirtual("Array").values,parent$2=values$6,values$5=parent$2,classof=classof$w,hasOwn3=hasOwnProperty_1$1,isPrototypeOf=objectIsPrototypeOf$1,method=values$5,ArrayPrototype=Array.prototype,DOMIterables={DOMTokenList:!0,NodeList:!0},values$4=function(e){var t=e.values;return e===ArrayPrototype||isPrototypeOf(ArrayPrototype,e)&&t===ArrayPrototype.values||hasOwn3(DOMIterables,classof(e))?method:t},parent$1=values$4,values$3=parent$1,parent=values$3,values$2=parent,values$1=values$2,values6=values$1,_valuesInstanceProperty=getDefaultExportFromCjs(values6),$$1=_export,getBuiltIn=getBuiltIn$f,apply=functionApply,bind3=functionBind,aConstructor=aConstructor$4,anObject=anObject$q,isObject2=isObject$x,create6=objectCreate,fails$1=fails$13,nativeConstruct=getBuiltIn("Reflect","construct"),ObjectPrototype=Object.prototype,push2=[].push,NEW_TARGET_BUG=fails$1((function(){function e(){}return!(nativeConstruct((function(){}),[],e)instanceof e)})),ARGS_BUG=!fails$1((function(){nativeConstruct((function(){}))})),FORCED$1=NEW_TARGET_BUG||ARGS_BUG;function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _arrayWithoutHoles(e){if(_Array$isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if(void 0!==_Symbol&&null!=_getIteratorMethod(e)||null!=e["@@iterator"])return _Array$from(e)}function _unsupportedIterableToArray(e,t){var r;if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=_sliceInstanceProperty(r=Object.prototype.toString.call(e)).call(r,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?_Array$from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _setPrototypeOf(e,t){var r;return(_setPrototypeOf=_Object$setPrototypeOf?_bindInstanceProperty(r=_Object$setPrototypeOf).call(r):function(e,t){return e.__proto__=t,e})(e,t)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=_Object$create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),_Object$defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf(e,t)}function _typeof(e){return(_typeof="function"==typeof _Symbol&&"symbol"==typeof _Symbol$iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof _Symbol&&e.constructor===_Symbol&&e!==_Symbol.prototype?"symbol":typeof e})(e)}function _possibleConstructorReturn(e,t){if(t&&("object"===_typeof(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}function _getPrototypeOf(e){var t;return(_getPrototypeOf=_Object$setPrototypeOf?_bindInstanceProperty(t=_Object$getPrototypeOf).call(t):function(e){return e.__proto__||_Object$getPrototypeOf(e)})(e)}$$1({target:"Reflect",stat:!0,forced:FORCED$1,sham:FORCED$1},{construct:function(e,t){aConstructor(e),anObject(t);var r=arguments.length<3?e:aConstructor(arguments[2]);if(ARGS_BUG&&!NEW_TARGET_BUG)return nativeConstruct(e,t,r);if(e==r){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var n=[null];return apply(push2,n,t),new(apply(bind3,e,n))}var i=r.prototype,o=create6(isObject2(i)?i:ObjectPrototype),a=apply(e,o,t);return isObject2(a)?a:o}});var $=_export,uncurryThis=functionUncurryThis,toIntegerOrInfinity=toIntegerOrInfinity$e,thisNumberValue=thisNumberValue$2,$repeat=stringRepeat,fails=fails$13,$RangeError=RangeError,$String=String,floor=Math.floor,repeat3=uncurryThis($repeat),stringSlice=uncurryThis("".slice),nativeToFixed=uncurryThis(1..toFixed),pow=function(e,t,r){return 0===t?r:t%2==1?pow(e,t-1,r*e):pow(e*e,t/2,r)},log=function(e){for(var t=0,r=e;r>=4096;)t+=12,r/=4096;for(;r>=2;)t+=1,r/=2;return t},multiply=function(e,t,r){for(var n=-1,i=r;++n<6;)i+=t*e[n],e[n]=i%1e7,i=floor(i/1e7)},divide=function(e,t){for(var r=6,n=0;--r>=0;)n+=e[r],e[r]=floor(n/t),n=n%t*1e7},dataToString=function(e){for(var t=6,r="";--t>=0;)if(""!==r||0===t||0!==e[t]){var n=$String(e[t]);r=""===r?n:r+repeat3("0",7-n.length)+n}return r},FORCED=fails((function(){return"0.000"!==nativeToFixed(8e-5,3)||"1"!==nativeToFixed(.9,0)||"1.25"!==nativeToFixed(1.255,2)||"1000000000000000128"!==nativeToFixed(0xde0b6b3a7640080,0)}))||!fails((function(){nativeToFixed({})}));function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var r,n=_getPrototypeOf(e);if(t){var i=_getPrototypeOf(this).constructor;r=_Reflect$construct(n,arguments,i)}else r=n.apply(this,arguments);return _possibleConstructorReturn(this,r)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!_Reflect$construct)return!1;if(_Reflect$construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(_Reflect$construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}$({target:"Number",proto:!0,forced:FORCED},{toFixed:function(e){var t,r,n,i,o=thisNumberValue(this),a=toIntegerOrInfinity(e),s=[0,0,0,0,0,0],l="",c="0";if(a<0||a>20)throw $RangeError("Incorrect fraction digits");if(o!=o)return"NaN";if(o<=-1e21||o>=1e21)return $String(o);if(o<0&&(l="-",o=-o),o>1e-21)if(r=(t=log(o*pow(2,69,1))-69)<0?o*pow(2,-t,1):o/pow(2,t,1),r*=4503599627370496,(t=52-t)>0){for(multiply(s,0,r),n=a;n>=7;)multiply(s,1e7,0),n-=7;for(multiply(s,pow(10,n,1),0),n=t-1;n>=23;)divide(s,1<<23),n-=23;divide(s,1<<n),multiply(s,1,1),divide(s,2),c=dataToString(s)}else multiply(s,0,r),multiply(s,1<<-t,0),c=dataToString(s)+repeat3("0",a);return c=a>0?l+((i=c.length)<=a?"0."+repeat3("0",a-i)+c:stringSlice(c,0,i-a)+"."+stringSlice(c,i-a)):l+c}});var ABR_EVENTS={ABR_CHANGE:"ABR_CHANGE_A",ABR_UPDATE_SPEC:"ABR_UPDATE_SPEC",START_ABR:"START_ABR",UPDATE_AUTO_DESC:"UPDATE_AUTO_DESC",ABR_START_PROGRESS:"ABR_START_PROGRESS",MAX_BUFFER_CHANGE:"MAX_BUFFER_CHANGE"},INIT_BIRTATE=0,MIN_WAITIONG=200,SEEKING_STATE={SEEK_NO:0,SEEK_FORWARD:1,SEEK_BACKWORD:-1},STALL_STATE={STALL_NO:0,STALL:1},AVG_ARGS={PLAYBACK_BITRATE:"avg_play_bitrate",DOWNLOAD_BITRATE:"avg_download_bitrate",DOWNLOAD_NETWORK_SPEED:"avg_download_speed",PREDICT_NETWORK_SPEED:"avg_predict_speed",BUFFER_LENGTH:"avg_buffer_length",QOE:"avg_qoe"},ABR=function(e){_inherits(r,BaseAbr);var t=_createSuper(r);function r(e,n,i,o,a){var s,l,c,u,d,p,y,h,f,$,m,b,g,S,I=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};_classCallCheck$5(this,r),(S=t.call(this,n,i,o,a,I)).player=e,S.timerId=0,S.isOpenAutoDefi=!!S.autoBitrateOpts.isOpenAutoDefi,S.onPlayrateChange=_bindInstanceProperty(s=S._onPlayrateChange).call(s,_assertThisInitialized(S)),S.onPlay=_bindInstanceProperty(l=S._onPlay).call(l,_assertThisInitialized(S)),S._stop=_bindInstanceProperty(c=S.stop).call(c,_assertThisInitialized(S)),S._bufferRange=new _Map,S._sortedBufferRange=[],S._lastCheckResolutionStamp=0,S._currentDefinition=null,S._isSeeking=!1,S._waitingStartTime=0,S._stallCount=0,S._seekState=SEEKING_STATE.SEEK_NO,S._stallState=STALL_STATE.STALL_NO,S._videoCurrentTime=0,S.listeners=[{evt:"playbackrateChange",handler:S.onPlayrateChange},{evt:"ended",handler:S._stop},{evt:"error",handler:S._stop},{evt:"timeupdate",handler:_bindInstanceProperty(u=S._onTimeUpdate).call(u,_assertThisInitialized(S))},{evt:"addVideoBufferEnd",handler:_bindInstanceProperty(d=S._bufferRangeUpdate).call(d,_assertThisInitialized(S))},{evt:"canplay",handler:_bindInstanceProperty(p=S._updateAutoDesc).call(p,_assertThisInitialized(S))},{evt:"play",handler:_bindInstanceProperty(y=S._onplayStart).call(y,_assertThisInitialized(S))},{evt:ABR_EVENTS.MAX_BUFFER_CHANGE,handler:_bindInstanceProperty(h=S._onMaxBufferChange).call(h,_assertThisInitialized(S))},{evt:"seeking",handler:_bindInstanceProperty(f=S._onSeeking).call(f,_assertThisInitialized(S))},{evt:"seeked",handler:_bindInstanceProperty($=S._onSeekEnd).call($,_assertThisInitialized(S))},{evt:"waiting",handler:_bindInstanceProperty(m=S._onWaiting).call(m,_assertThisInitialized(S))},{evt:"playing",handler:_bindInstanceProperty(b=S._onPlaying).call(b,_assertThisInitialized(S))}],S._hasStart=!1,_forEachInstanceProperty(g=S.listeners).call(g,(function(e){var t=e.evt,r=e.handler;S.player.on(t,r)})),S._isPaused=!1,S._hasAddFrament=!1,S._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},S._bitrateSet=[],S._generalInfo={},S._currentInAbr=!1,S._hasCalcTimelineLog=!1,S._abr_play_info={start_play_time_ms:0,is_hint:0,playback_info:{internet_speed_record:[],play_bitrate_record:[],buffer_length_record:[],play_speed_record:[],qoe_record:[],qoe_a_record:[],qoe_b_record:[],qoe_c_record:[]}},S._abrMethod=S.autoBitrateOpts.method||0,S.logger("abr: constructor"),S._loopInterval=S.initInterval,S._tickCount=0,S._fps=30,FpsDetection.install(),S.startTime=performance.now(),S.logger("time abr",(new Date).getTime()),S._maxCacheTimeVideo=S.config.maxBufferLength||S.config.preloadTime||50,S._maxCacheTimeAudio=S._maxCacheTimeVideo,S._prevDefinitionItem=null,S._currentItem=null,S._switchCount=0,S._switchBitrate=0,S._avgStatItems={};for(var T=_Object$keys(AVG_ARGS),v=0;v<T.length;v++){var _=T[v],P=AVG_ARGS[_];S._avgStatItems[P]=new AvgStat}return S._qoeArgs=[0,0,0,0],S._abrUsed=-1,S._abrAlwaysOn=1,S._prelaodInfo=null,S._hasLogStartInfo=!1,S._hasExecuteAbrAlgo=!1,S._lastExecuteTimeInMs=0,S}return _createClass$5(r,[{key:"init",value:function(e){return this._mediaList=e,this.isOpenAutoDefi?this.onLoadWasm():this._wasmPromise.resolve(),this._wasmPromise}},{key:"execute",value:function(){return this.listenSize(),this.initFps(),this.onWinElemSizeChange(),this.onPlay()}},{key:"_onSeeking",value:function(){this._isSeeking=!0,this.player.currentTime<this._videoCurrentTime?this._seekState=SEEKING_STATE.SEEK_BACKWORD:this._seekState=SEEKING_STATE.SEEK_FORWARD,this.logger("seekState",this._seekState)}},{key:"_onSeekEnd",value:function(){this._isSeeking=!1}},{key:"_onWaiting",value:function(){var e=this;this._isSeeking||this._waitingStartTime>0||(this._waitingStartTime=(new Date).getTime(),this._stallId=_setTimeout((function(){clearTimeout(e._stallId),e._stallCount++,e._stallState=STALL_STATE.STALL}),MIN_WAITIONG))}},{key:"_onPlaying",value:function(){this._waitingStartTime=0,this._stallState=STALL_STATE.STALL_NO,clearTimeout(this._stallId)}},{key:"initFps",value:function(){this.fpsDetection=new FpsDetection,this.fpsDetection.start(),this._fps=this.fpsDetection.fps,this._hasDeviceInfoChanged=!0}},{key:"listenSize",value:function(){var e;this.mediaElem=this.player.video,this._onWinSizeChange=debounce(_bindInstanceProperty(e=this.onWinElemSizeChange).call(e,this),1e3,!1),window.addEventListener("resize",this._onWinSizeChange)}},{key:"onWinElemSizeChange",value:function(){if(this.mediaElem){var e=this.mediaElem.getBoundingClientRect();this._videoWidth=Math.floor(e.width),this._videoHeight=Math.floor(e.height),this._hasDeviceInfoChanged=!0}}},{key:"_onMaxBufferChange",value:function(e){var t=e.videoCacheTime,r=e.audioCacheTime;this._maxCacheTimeAudio=r,this._maxCacheTimeVideo=t}},{key:"_onTimeUpdate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this._sortedBufferRange&&0!==this._sortedBufferRange.length&&this._currentInAbr){this._videoCurrentTime=this.player.currentTime;var r=_Date$now();if(!(r-this._lastCheckResolutionStamp<1e3&&0!==this._lastCheckResolutionStamp)||t){this._lastCheckResolutionStamp=r;for(var n=this.player.currentTime,i=0,o=this._sortedBufferRange.length-1,a=null;i<=o;){var s=Math.floor(i+(o-i)/2),l=this._sortedBufferRange[s];if(n<l.start)o=s-1;else{if(!(n>=l.end)){a=l;break}i=s+1}}if(a){var c=this._bitrateToDefitionConfig.get(a.bandwidth),u=c&&c.definition;if(this._currentDefinition===u&&!t||!u)return void(u||this.logger("error defintion, mpd配置与接口配置不一致"));this._currentDefinition=u,this._prevDefinitionItem=this._currentItem,this._currentFps=c.fps,this._currentItem=c,this._emitAutoDescChange(u,!1,this._currentFps,c)}}}}},{key:"_emitAutoDescChange",value:function(e,t,r,n){console.log("[ABR],emitAutoDescChange, definition, ",e,",item,",n,",pre_item,",this._prevDefinitionItem),this.player.emit(ABR_EVENTS.UPDATE_AUTO_DESC,{definition:e,reset:t,fps:r,item:n,pre_item:this._prevDefinitionItem})}},{key:"_onplayStart",value:function(){this._hasStart=!0,this.logger("onplaystart")}},{key:"_updateAutoDesc",value:function(){var e=this;this._currentInAbr&&this._currentDefinition&&(this._updateId=_setTimeout((function(){clearTimeout(e._updateId),e._emitAutoDescChange(e._currentDefinition,!1,e._currentFps,e._currentItem)}),0))}},{key:"_bufferRangeUpdate",value:function(e){var t;if(void 0!==e.start){null===this._currentItem&&this._onTimeUpdate(null,!0);var r=e.start;this._hasAddFrament=!0,this._bufferRange.set(r,e);var n=_toConsumableArray(_valuesInstanceProperty(t=this._bufferRange).call(t));this._sortedBufferRange=_sortInstanceProperty(n).call(n,(function(e,t){return e.start-t.start})),this.avgStat(AVG_ARGS.DOWNLOAD_BITRATE,e.bandwidth)}}},{key:"_onPlayrateChange",value:function(){this.module&&this.updateBufferInfo()}},{key:"_onPlay",value:function(){var e=this;if(!this.isOpenAutoDefi)return this.logger("onPlay"),INIT_BIRTATE;var t=INIT_BIRTATE;try{this.logger("abr: loadeddata"),this.updateSwitchInfo(),this.parseMPD(),this.updateDeviceInfo();var n=r.getIsPlayAutoDefi(this.autoBitrateOpts);if(this.isOpenAutoDefi&&n){this._abrUsed=1;var i=this._getDefautSpeed(this.player);t=this._loopAbr(i),this.start(),this.logger("time abr start prgress",(new Date).getTime()),this.logger("time abr costTime",performance.now()-this.startTime),this.logger("abr onplay"),this.startTimer=_setTimeout((function(){e._loopInterval=e.interval,clearTimeout(e.startTimer),e.logger("interval change")}),5e3)}}catch(e){this.logger("abr: loadeddata error",e),this.logger("time abr costTime err",performance.now()-this.startTime)}return t}},{key:"start",value:function(){if(this.logger("abr: start"),this._isPaused=!1,!this._hasCalcTimelineLog){var e=1===Math.floor(100*Math.random());this._abr_play_info.is_hint=e?1:0}this._hasCalcTimelineLog=!0,this._loop()}},{key:"_loop",value:function(){var e=this;this._isPaused||(clearTimeout(this.timerId),this.timerId=_setTimeout((function(){if(!e.player.paused||!e.player.config.autoplay&&!e._hasStart){var t=e._hasAddFrament?void 0:e._getDefautSpeed(e.player);e._loopAbr(t)}e._loop()}),this._loopInterval))}},{key:"updateDeviceInfo",value:function(){try{if(this.fpsDetection){var e=this.fpsDetection.fps;e!==this._fps&&(this._fps=e,this._hasDeviceInfoChanged=!0)}this._updateDeviceInfo(this._fps)}catch(e){}}},{key:"updateBufferInfo",value:function(e){var t=this.player.playbackRate,r=this.bufferLength,n=e||Math.floor(this.player.downloadSpeed);return this._tickCount<5&&0===n&&(n=this._getDefautSpeed(this.player),this.logger("initSpeed fix")),this.logger("maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState),this.module._updateBufferInfo(t,this._maxCacheTimeAudio,this._maxCacheTimeVideo,r,r,n,this._seekState,this.player.currentTime,this._stallState),this._seekState=SEEKING_STATE.SEEK_NO,this._eventInfo={internet_speed:n,buffer_length:r,last_bitrate:this.bitrate,play_speed:t},this.logger("playRate:",t,"buff:",r,"downloadSpeed:",n),{buffer:r,downloadSpeed:n}}},{key:"updateSwitchInfo",value:function(){var e=(new Date).getTime();this._openTimeMs=e,this._abr_play_info.start_play_time_ms=e;var t=this.player.config.preloadTime||50,r=convert32ToC64(e),n=this.autoBitrateOpts.noStallCheckTime||5,i=this.openLog;this.logger("openTime:",e,"this.logger",i),this.module._updateSwitchInfo(r.low,r.high,n,i,this.stall_penalty,this.switch_penalty);var o=this._mediaList.video,a=_mapInstanceProperty(o).call(o,(function(e){var t=e.bandwidth,r=e.bitrate;return t||r}));this._bitrateSet=_mapInstanceProperty(a).call(a,(function(e,t){return{bitrate:e,codecs:o[t].codecs||o[t].codec_type}})),this._generalInfo={max_cache_time:t,bitrate_set:this._bitrateSet,segment_duration:this.segment_duration,preload_info:{},startup_info:{}}}},{key:"updatePreloadCacheInfo",value:function(e){try{this._prelaodInfo=e,this.logger("update preloadInfo",e),e&&e.item_num!==e.items.length&&(this.logger("preloadInfo invalid"),this._prelaodInfo=null)}catch(e){this.logger("updatePreloadCacheInfo",e),this._prelaodInfo=null}}},{key:"updatePreloadLogInfo",value:function(e){this._generalInfo.preload_info=e||{}}},{key:"_updatePreloadInfo",value:function(){try{var e=this.player.getPreloadInfos();if(e){var t=e.preloadInfo,r=e.abr;this.updatePreloadLogInfo(t),r&&this.updatePreloadCacheInfo(t)}if(this.logger("_updatePreloadInfo preloadinfos",e),null!=this._prelaodInfo){var n=_JSON$stringify(this._prelaodInfo);this.module.ccall("updatePreloadInfo","null",["string"],[n])}else this.logger("_updatePreloadInfo preloadinfo null, no preload")}catch(e){this.logger("_updatePreloadInfo err",e)}}},{key:"_loopAbr",value:function(e){var t;this._tickCount++;var r=[];try{this.updateDeviceInfo();var n=this.updateBufferInfo(e),i=n.downloadSpeed,o=n.buffer;t=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var a=0;a<7;a++)r.push(this.module.HEAP32[t/Int32Array.BYTES_PER_ELEMENT+a]);var s=r[0],l=1===r[1];this._eventInfo.now_bitrate=s,this._eventInfo.local_time_ms=(new Date).getTime();var c=0;if(s!==this.bitrate&&0!==s){var u=this.bitrate;c=Math.abs(u-s);for(var d=[],p=this.player.video.buffered,y=0;y<p.length;y++)d.push({start:p.start(y),end:p.end(y)});var h=this._videoWidth||Number(this.config.width),f=this._videoHeight||Number(this.config.height),$=(new Date).getTime(),m={speed:"".concat(i," KB/s"),buffer_length:"".concat(o," s"),video_pos:this.player.currentTime,all_buffers:d,seek_state:this._seekState,stall_state:this._stallState,screen_width:h,screen_height:f,dpr:window&&window.devicePixelRatio,playbackRate:this.player.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?$-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=$,this._hasExecuteAbrAlgo=!0,this.player.emit(ABR_EVENTS.ABR_CHANGE,this.bitrate,s,l,_JSON$stringify(m)),this.logger("abr loop predicte:",s,"willStall:",l,"switchBitrate",c,"cur",u),this.bitrate=s}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:s,download_speed:i,screen_width:this._videoWidth||Number(this.config.width),screen_height:this._videoHeight||Number(this.config.height),device_pixel_ratio:window&&window.devicePixelRatio,screen_fps:this._fps,startup_method:this._abrMethod}),this.player.emit("ABR_LOOP"),this.onAbrLoop(i,r[2],c,_sliceInstanceProperty(r).call(r,3))}catch(e){this.logger("abr error",e),console.log("error",e)}finally{this.module._free(t)}return this.bitrate}},{key:"stop",value:function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(this._abrAlwaysOn=-1),clearTimeout(this.timerId),this._isPaused=!0,this.logger("abr: stop")}},{key:"destroy",value:function(){var e,t=this;this._stop(),_forEachInstanceProperty(e=this.listeners).call(e,(function(e){var r=e.evt,n=e.handler;t.player.off(r,n)})),this.player=null,this._heightToDefitionConfig=null,this._bitrateToDefitionConfig=null,this._bufferRange=null,this._sortedBufferRange=null,this.module=null,clearTimeout(this._stallId),clearTimeout(this._updateId),clearTimeout(this.startTimer),window.removeEventListener("resize",this._onWinSizeChange),this.fpsDetection&&this.fpsDetection.stop(),this.player=null}},{key:"eventInfo",get:function(){return this._eventInfo}},{key:"generalInfo",get:function(){return this._generalInfo}},{key:"bufferLength",get:function(){var e=this.player.getBufferedRange(),t=this.player.video.currentTime,r=e[1]-Math.max(e[0],t);return r=Math.max(0,r).toFixed(2),_parseFloat$1(r)}},{key:"downloadSpeed",get:function(){return Math.floor(this.player.downloadSpeed)}},{key:"nowBitrate",get:function(){return this.bitrate}},{key:"openTimeMs",get:function(){return this._openTimeMs}},{key:"isCurrentInAbr",get:function(){return this._currentInAbr},set:function(e){this._currentInAbr=e}},{key:"onAbrLoop",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(this._qoeArgs=n,this._currentItem&&this.avgStat(AVG_ARGS.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(AVG_ARGS.DOWNLOAD_NETWORK_SPEED,1e3*e*8),this.avgStat(AVG_ARGS.PREDICT_NETWORK_SPEED,t),this.avgStat(AVG_ARGS.BUFFER_LENGTH,this.bufferLength),this.avgStat(AVG_ARGS.QOE,this.getQoeRelValue(0)),r>0&&(this._switchCount++,this._switchBitrate+=r),this._abr_play_info.is_hint){var i=this,o=((new Date).getTime()-this.openTimeMs)/1e3;o=_parseFloat$1(o.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([o,i.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([o,i.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([o,i.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([o,this.player.playbackRate]),this._abr_play_info.playback_info.qoe_record.push([o,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([o,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([o,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([o,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(e){return this._qoeArgs[e]/100}},{key:"avgStat",value:function(e,t){var r=this._avgStatItems[e];r&&r.add(t)}},{key:"getAbrPlayInfo",value:function(){return this._abr_play_info}},{key:"updateAbrMethod",value:function(e){this._abrMethod=e}},{key:"getAbrMethod",value:function(){return this._abrMethod}},{key:"getAbrVVStats",value:function(){for(var e={},t=_Object$keys(AVG_ARGS),r=0;r<t.length;r++){var n=t[r],i=AVG_ARGS[n],o=this._avgStatItems[i];e[i]=o.avg()}return e.switch_counts=this._switchCount,e.avg_switch_bitrate=0===this._switchCount?0:this._switchBitrate/this._switchCount,e.abr_qoe=this.getQoeRelValue(0),e.abr_qoe_a=this.getQoeRelValue(1),e.abr_qoe_b=this.getQoeRelValue(2),e.abr_qoe_c=this.getQoeRelValue(3),e.abr_method=this._abrMethod,e.abr_used=this._abrUsed,e.abr_always_on=this._abrAlwaysOn,this.logger("abrVVStats",e),e}}],[{key:"getIsPlayAutoDefi",value:function(e){return!!e.isPlayAutoDefi}}]),r}(),AvgStat=function(){function e(){_classCallCheck$5(this,e),this.total=0,this.count=0}return _createClass$5(e,[{key:"add",value:function(e){this.total+=e,this.count++}},{key:"avg",value:function(){if(0===this.count)return 0;var e=this.total/this.count;return Math.floor(e)}}]),e}(),START_TYPES={FIXED:"FIXED",AUTO:"AUTO"},AbrService=function(){function e(t,r){var n=this;_classCallCheck$8(this,e),_defineProperty$5(this,"_onAbrChange",(function(e,t,r,i){var o=n._pluginInst.player,a=n.bitrateMap[e],s=n.bitrateMap[t],l=a.definition,c=s&&s.definition?s.definition:l;console.log("[ABR] _onAbrChange ",l,c),l!==c&&(n._abrSwitchHandler(s),o.emit("ABR_CHANGE",{prev:l,cur:c,prevName:a.definitionName,curName:s.definitionName,abrInfo:i}))})),_defineProperty$5(this,"_onAutoDescChange",(function(e){var t=e.definition,r=e.reset,i=e.fps,o=e.item;n.updateAutoDefiDesc(t,r,i,o)})),this._pluginInst=t;var i=this._pluginInst.config.autoBitrateOpts||{};this.isPlayAutoDefi=ABR.getIsPlayAutoDefi(i),this.isOpenAutoDefi=!!i.isOpenAutoDefi,this.isCurrentAutoDefi=this.isOpenAutoDefi&&this.isPlayAutoDefi,this.bitrateMap={},this.defiIdMap={},this._abrSwitchHandler=r}var t;return _createClass$8(e,[{key:"_destroyAbr",value:function(){var e=this._pluginInst.player;this.abrInstance&&(e&&e.off(ABR_EVENTS.UPDATE_AUTO_DESC,this._onAutoDescChange),this.abrInstance.destroy(),this.abrInstance=null)}},{key:"init",value:(t=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t){var r,n,i,o;return _regeneratorRuntime$2().wrap((function(e){for(var a;;)switch(e.prev=e.next){case 0:if(this.isOpenAutoDefi){e.next=2;break}return e.abrupt("return",{type:START_TYPES.FIXED});case 2:return r=this._pluginInst,n=r.player,i=r.playerConfig,o=r.config,n.on(ABR_EVENTS.UPDATE_AUTO_DESC,this._onAutoDescChange),this.bitrateMap={},this.defiIdMap={},this.abrInstance=new ABR(n,o,0,{dynamic_video_list:_concatInstanceProperty(a=i.definition.list).call(a)},5e3,{logger:log$3,openLog:openLog}),e.next=9,this.abrInstance.init(t);case 9:n.on(ABR_EVENTS.ABR_CHANGE,this._onAbrChange),this.abrInstance.isCurrentInAbr=this.isCurrentAutoDefi;case 11:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"execute",value:function(){var e=this.abrInstance.execute();return{bitrate:e,type:-1===e?START_TYPES.FIXED:START_TYPES.AUTO}}},{key:"updateBitrate",value:function(e){this.abrInstance&&this.abrInstance.updateBitrate(e)}},{key:"enable",value:function(){this.abrInstance.start(),this.isCurrentAutoDefi=!0,this.abrInstance.isCurrentInAbr=!0,this.abrInstance._onTimeUpdate(null,!0)}},{key:"disable",value:function(){this.abrInstance&&(this.updateAutoDefiDesc("",!0),this.isCurrentAutoDefi=!1,this.abrInstance.isCurrentInAbr=!1,this.abrInstance.stop(!0))}},{key:"isCurrentInAbr",value:function(){return!!this.abrInstance&&this.abrInstance.isCurrentInAbr}},{key:"updateAutoDefiDesc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=this._pluginInst,o=i.player,a=(i.config.autoBitrateOpts||{}).autoDefiText||"auto";o.emit("ABR_AUTO_DESC_CHANGE",a,t?void 0:e,r,n)}},{key:"updateAbrCacheData",value:function(){var e=this,t=this._pluginInst,r=t.player,n=t.config,i=t.playerConfig,o=n.autoBitrateOpts||{},a=i.definition.list,s=!1;if(_forEachInstanceProperty(a).call(a,(function(t){e.bitrateMap[t.bitrate]={url:t.url,definition:t.definition,definitionName:t.text},e.defiIdMap[t.definition]={bitrate:t.bitrate,definition:t.definition},"auto"!==t.definition&&"自动"!==t.definition||(s=!0)})),this.isOpenAutoDefi,this.isOpenAutoDefi&&!s){var l=o.autoDefiText||"auto",c={definition:"自动",bitrate:r.curDefinition.bitrate,text:l,url:"__auto__",selected:this.isPlayAutoDefi,name:"自动",vwidth:r.curDefinition.vwidth,vheight:r.curDefinition.vheight};i.definition.list.push(c)}}},{key:"destroy",value:function(){this._pluginInst.player.off(ABR_EVENTS.ABR_CHANGE,this._onAbrChange),this._destroyAbr()}}]),e}(),DESTROYED="DESTROYED",REAL_TIME_SPEED_EVENT="real_time_speed",_playerPlayNext=null,_playerStartInit=null,_playerChangeDefinition=null,_playerSwitchUrl=null,CODEC_TYPE={H264:"h264",H265:"h265"},_realTimeSpeed=0,Mp4EncryptPlayer=function(e){_inherits$5(i,BasePlugin);var t,r,n=_createSuper$5(i);function i(e){var t,r;return _classCallCheck$8(this,i),_defineProperty$5(_assertThisInitialized$5(r=n.call(this,e)),"_replayHook",(function(e){"xgmse-video"===r.player.config.mediaType?r._onReplay():r.useVideoLoad||(r._defInited=!1,r.log("replayHook ",r.playerConfig.url),r.player.video.load(),r.playerStartInit(r.playerConfig.url))})),_defineProperty$5(_assertThisInitialized$5(r),"_retryHook",(function(){var e=_assertThisInitialized$5(r),t=e.player,n=e.playerConfig,i=e.config,o=t.currentTime;if(r.codecType!==CODEC_TYPE.H265||i.supportHevc){r._defInited=!1;var a=r.config,s=a.drm,l=a.kid,c=a.secretKey,u=a.keyValue;if(s||l||c||u)r.initAwManager(),r.playerStartInit(n.url);else{if(r.useVideoLoad=!0,"Array"===util$1.typeOf(n.url)){var d=n.url.length;t.video.src=n.url[d-1].src}else t.video.src=n.url;t.currentTime=o,t.play()}}else r.log("h265 retryHook ",n.vid),r._onDegrade("retry");return!1})),_defineProperty$5(_assertThisInitialized$5(r),"_playHook",(function(e){r._usePaused=!1})),_defineProperty$5(_assertThisInitialized$5(r),"_pauseHook",(function(e){r._usePaused=!0})),_defineProperty$5(_assertThisInitialized$5(r),"abrSwitchURL",function(){var e=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(t){var n,i,o,a,s,l;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=_assertThisInitialized$5(r),i=n.playerConfig,o=i.definition.list,a=0,s=0;case 4:if(!(s<o.length)){e.next=11;break}if(t.definition!==o[s].definition){e.next=8;break}return a=s,e.abrupt("break",11);case 8:s++,e.next=4;break;case 11:l=r.player.curDefinition,r.changeDefinition(o[a],l,!0);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),_defineProperty$5(_assertThisInitialized$5(r),"changeDefineCanPlay",(function(e,t,n,i){var o=_assertThisInitialized$5(r).player;o.ended?o.currentTime=0:(r.log("[oldChangeDefinition],this._changeDefState,",r._changeDefState),o.currentTime=r._changeDefState?r._changeDefState.currentTime:e,(r._changeDefState?r._changeDefState.paused:t)?o.pause():o.play(),r._changeDefState=null,o.emit(AFTER_DEFINITION_CHANGE,{from:n,to:i}))})),_defineProperty$5(_assertThisInitialized$5(r),"changeDefinition",(function(e,t,n){var i=_assertThisInitialized$5(r),o=i.player,a=i.playerConfig,s=i.mp4;if(t||(t=o.curDefinition),r.useVideoLoad)return"__auto__"===e.url&&(e.url=o.config.definition.list[0].url),void _playerChangeDefinition.call(r.player,e,t);if(r._switchBitRateWay&&!n)return r.log("changeDefinition old"),void r.oldChangeDefinition(e,t);var l="自动"===e.definition||"auto"===e.definition;if(n)r.log("[switchBitrate:ABR], ready to switch bitRate, ",e.bitrate);else{var c=!1;if(l)r._abrService&&r._abrService.enable(),c=!0;else if(r._abrService&&r._abrService.disable(),!e.bitrate||e.bitrate<=0)for(var u=0;u<a.definition.list.length;u++)e.definition===a.definition.list[u].definition&&(e.bitrate=a.definition.list[u].bitrate);o.emit(DEFINITION_CHANGE,{from:t,to:e}),_setTimeout((function(){r._abrService&&r._abrService.updateAutoDefiDesc(o.curDefinition.definition,!l)})),c&&(e=o.curDefinition),r.log("[switchBitrate:CBS],switch bitRate, ",e.bitrate)}o.curDefinition=e;var d=o.definitionList,p=_filterInstanceProperty(d).call(d,(function(e){return e.definition===o.curDefinition.definition}));p.length>0&&(e=p[0]),s&&(r.config.keyValue=e.keyValue,r.config.kid=e.kid,r.config.secretKey=e.secretKey,r.config.drm=e.drm,r.config.getLicenseUrl=e.getLicenseUrl,r._getLicense().then(_asyncToGenerator$2(_regeneratorRuntime$2().mark((function t(){var i,l,c,u,d,p;return _regeneratorRuntime$2().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a.url=e.url,a.backupURL=e.backupURL,i=0,l=!1,r._abrService&&r._abrService.isCurrentInAbr()?(c=o.getBufferedRange(o.buffered2),(i=c[1])<o.currentTime&&(i=o.currentTime,r.log("bufferRange is invaild,adjust",c,",timeStart,",i)),r.log("[switchBitrate:ABR],switch bufferedList, ",r.player.buffered2?r.player.buffered2.bufferedList:null,",curtime,",o.currentTime,",bufferRange,",c)):(i=o.currentTime,l=!0),(u=s.getFragmentIdx(i))<0&&(u=r._curLoadSegmentIdx),r.log("switchBitrate:point,",u,",startTime,",s.timeRange[u].startTime,",currentTime,",o.currentTime),l&&o.emit("definitionSwitchTime",s.timeRange[u].startTime+1),r.changeState("changeDefinition",{abr:n,fragIndex:u,startTime:s.timeRange[u].startTime,currentTime:o.currentTime}),!s){t.next=14;break}return t.next=13,s.cancelLoading();case 13:s._metaLoading&&(s._metaLoading=!1);case 14:return!((d=o.getBufferedRange(o.buffered))[1]>0&&d[1]-o.currentTime>5)||r._abrService&&r._abrService.isCurrentInAbr()||(r.mse.clearOpqueues(CONTENT_TYPES.VIDEO),r.mse.reuse(o.currentTime+5,d[1])),s.resetFragmentLoadState(u),r._curLoadSegmentIdx=u,t.next=20,r.mp4.changeBitRate(e);case 20:p={width:e.width||e.vwidth,height:e.height||e.vheight},o.emit("RESOLUTION_UPDATE",p);case 22:case"end":return t.stop()}}),t)})))).catch((function(t){console.error(t),t.errorType="GET_LICENSE_ERROR",r.emit("error",t),r.changeState("LICENSE_ERROR",{d:e.definition})})))})),_defineProperty$5(_assertThisInitialized$5(r),"_onVideoError",(function(e){r.log("video err,",e)})),_defineProperty$5(_assertThisInitialized$5(r),"_onPlaying",(function(){r._waitAdjustTimeCnt>0&&r._waitInBufferTimer&&(r._waitAdjustTimeCnt-=1,r.log("[waitInBuffer resume play], waitAdjustTimeCnt,",r._waitAdjustTimeCnt)),clearTimeout(r._waitInBufferTimer),r._waitInBufferTimer=null,r.log("[Index] onPlaying, timeNow,",util.nowTime());var e=_assertThisInitialized$5(r),t=e.mp4,n=e.player,i=r.config.resumePlayWaterLevel;if(t){if(!r.playFlag||n.currentTime<1)r.playFlag=!0;else if(!(t&&t.meta&&t.meta.duration-n.currentTime<=i)&&i>0&&r.playFlag){var o=n.getBufferedRange(n.buffered2);o[1]-n.currentTime<i?(n.paused||(n.pause(),r.log("[!!!!!buffer not rich, pause],time,",util.nowTime(),", currentTime, ",n.currentTime,", bufferEnd,",o[1])),clearTimeout(r.checkResumePlayTimer),r.checkResumePlayTimer=_setTimeout(r._onPlaying,i/2*1e3)):n.paused&&(r.log("[!!!!!buffer rich, play],time,",util.nowTime(),", currentTime, ",n.currentTime,", bufferEnd,",o[1]),clearTimeout(r.checkResumePlayTimer),r.checkResumePlayTimer=null,n.play())}}else r.checkResumePlayTimer>0&&(clearTimeout(r.checkResumePlayTimer),r.checkResumePlayTimer=null,n.paused&&n.play())})),_defineProperty$5(_assertThisInitialized$5(r),"_lowDecoder",(function(){var e="function"==typeof r.player.video.getStats?r.player.video.getStats():null;r.log("H265 lowdecode: ".concat(r.playerConfig.vid," "),e,", h265Degrade, ",r.config.h265Degrade),r.config.h265Degrade&&r._onDegrade()})),_defineProperty$5(_assertThisInitialized$5(r),"_onError",(function(e){console.log("H265 onError: ".concat(r.playerConfig.vid," "),e,", h265Degrade, ",r.config.h265Degrade),r._onDegrade(e)})),_defineProperty$5(_assertThisInitialized$5(r),"_onDegrade",(function(e){var t,n,i=_assertThisInitialized$5(r),o=i.player,a=i.playerConfig,s=i.config;o.video.removeEventListener("lowdecode",r._onDegrade),o.video.removeEventListener("error",r._onError),null===(t=r.mp4)||void 0===t||t.destroy();var l=o.currentTime;if(console.log("[h265 degrade], vid,",a.vid,",currtime,",l),r.emit("H265_DEGRADE",{reason:e?"error":"lowdecode",currentTime:l}),null!=s&&s.H264Config){var c=s.H264Config;s.drm=(null==c?void 0:c.drm)||null,s.getLicenseUrl=(null==c?void 0:c.getLicenseUrl)||null,s.kid=(null==c?void 0:c.kid)||null,s.keyValue=(null==c?void 0:c.keyValue)||null,s.secretKey=(null==c?void 0:c.secretKey)||null,s.isEncrypt=(null==c?void 0:c.isEncrypt)||null,s.useEME=(null==c?void 0:c.useEME)||null}var u={mp4encryptplayer:s,mediaType:"video",codecType:CODEC_TYPE.H264};(null==a||null===(n=a.H264DefinitionList)||void 0===n?void 0:n.length)>0?(o.config.definition.list=a.H264DefinitionList,o.config.url=a.H264DefinitionList[0].url,o.config.defaultBitrate=a.H264DefinitionList[0].bitrate,o.config.defaultDefinition=a.H264DefinitionList[0].definition,o.playNext(u),o.once("canplay",(function(){o.currentTime=l}))):(console.error("H265 error,degrade h264 but no h264 url"),r.emit("error",e))})),_defineProperty$5(_assertThisInitialized$5(r),"_onMp4MetaReady",(function(e){console.log(">>>>_onMp4MetaReady",util.nowTime()),r.firstFrameTime.metaload=r.mp4.firstFrameTime.metaload,r.firstFrameTime.bitrate=r.player.curDefinition.bitrate;var t=r.playerConfig.vid,n=r._checkMetaInfo(e),i=r.mp4.checkCodecH265();if(r.changeState("MP4_META_READY",{is265:i?1:0}),n)return r.removeAndRejectInitPromise(n),void r._errorHandler(n);try{if(r._initEME(r.mp4,e),r.codecType!==CODEC_TYPE.H265||r.config.supportHevc){if(!(r.player.video instanceof HTMLVideoElement))return void console.error("".concat(r.player.config.mediaType," is not match"));r._initMse(e)}else{var o,a,s;if(!i||r.player.video instanceof HTMLVideoElement)return void console.error(_concatInstanceProperty(o=_concatInstanceProperty(a=_concatInstanceProperty(s="[Index] ".concat(t," config_codec ")).call(s,r.codecType," and meta_codec ")).call(a,e.videoCodec," is not match or supportHevc is ")).call(o,r.config.supportHevc));r._initH265MseProxy()}r._initPromise.resolve()}catch(e){r.removeAndRejectInitPromise(e),console.error("[Index] ".concat(t," _initEME error"),e);var l=new Errors(r.player,{errorType:"runtime",errorTypeCode:ERROR_TYPES.runtime,errorCode:ERROR_CODES.other1,errorMessage:null==e?void 0:e.message,vid:t,mediaError:{code:ERROR_CODES.other1,message:null==e?void 0:e.message}});r._errorHandler(l)}if(r.mp4&&r.mp4.timeRange){var c,u=[];_everyInstanceProperty(c=r.mp4.timeRange).call(c,(function(e){return u.push({startTime:e.startTime,endTime:e.endTime}),!0})),r.emit("KEYFRAMETIME",u)}r._loadData()})),_defineProperty$5(_assertThisInitialized$5(r),"_onMp4Error",(function(e){var t=r.playerConfig.vid;console.error("[Index] _onMp4Error",t,e),r.changeState("MP4_ERROR",e),r._initPromise&&"pending"===r._initPromise.state&&r.removeAndRejectInitPromise(e),r._errorHandler(e)})),_defineProperty$5(_assertThisInitialized$5(r),"_onMp4Progress",(function(e){r.emit("progress_event",e)})),_defineProperty$5(_assertThisInitialized$5(r),"_onMp4DataCallBack",(function(){r.mse&&!r.mse.ready&&r.openMSE(),r._isMseInit&&r._onTimeUpdate()})),_defineProperty$5(_assertThisInitialized$5(r),"_updateDrmConfig",(function(e){var t=_assertThisInitialized$5(r),n=t.config,i=t.mp4;e.kid&&n.keyValue?n.drm={clearKeys:_defineProperty$5({},e.kid,n.keyValue)}:!e.kid&&n.keyValue&&(n.useEME=!1),i.useEME=n.useEME;var o=n.drm;n.useEME||(i.kidValue=n.keyValue||(o&&o.clearKeys?o.clearKeys[_Object$keys(o.clearKeys)[0]]:null)),r.eme&&o&&o.clearKeys&&n.useEME&&r.eme.updateDrm(o)})),_defineProperty$5(_assertThisInitialized$5(r),"_onVideoTimeUpdate",(function(){r.useVideoLoad||null!==r._requestTimer||!r._offineLine&&r._startProgress(),r.useVideoLoad&&r.checkIfCanPreload()})),_defineProperty$5(_assertThisInitialized$5(r),"_onBufferedReset",(function(e){r.mp4&&r.mp4.videoTrak&&r.mp4.resetFragmentLoadState(0)})),_defineProperty$5(_assertThisInitialized$5(r),"_onOnlineHandler",(function(){r._offineLine=!1;var e=_assertThisInitialized$5(r).config;r.log("online useVideoLoad:",r.useVideoLoad,r._hasStartProgressBack),r.useVideoLoad?r.player.src=e._mainURL:(r._hasStartProgressBack&&r._startProgress(),r._hasStartProgressBack=!1)})),_defineProperty$5(_assertThisInitialized$5(r),"_onOfflineHandler",(function(){r._offineLine=!0,r.log("offline, ",r._hasStartProgress),r._hasStartProgress&&(r._stopProgress(),r._hasStartProgressBack=!0)})),_defineProperty$5(_assertThisInitialized$5(r),"_loadDataSuccess",(function(e){if(!r.isDestroy&&(r.mse||r.mseProxy)){e.state&&r._firstSegState<0&&(r._firstSegState=1),r.log("[loadFragment] _loadDataSuccess ",_JSON$stringify(e.context.range),",dataLen,",e.buffer?e.buffer.byteLength:0,e.state),r.firstFrameTime.startload_stmux<0&&(r.firstFrameTime.startload_stmux=r.mp4.firstFrameTime.startMuxTime,r.firstFrameTime.firstmux=r.mp4.firstFrameTime.firstmux),r.firstFrameTime.loadst_loadeddata<0&&(r.firstFrameTime.loaddata=util.nowTime()-r.loadstart);try{e.initSeg&&(r._appendInitSeg(e.initSeg),(!e.buffer||e.buffer.byteLength<1)&&(r.log("no data, must load data"),r._onTimeUpdate()));var t=e.buffer,n=e.state,i=e.context,o=e.videoTrack,a=e.audioTrack;if(r.debugInfo.loadIndx=i?i.fragIndex:-1,r.mse&&n&&(!t||t.byteLength<=0)&&i.fragIndex===r.mp4.timeRange.length-1){var s=r.player.buffered;r.bufferEndTime=s.end(s.length-1),r._isEnded(),r.log("loaded ended !!!==>>>",_JSON$stringify(i.range),", fragIndex,",i.fragIndex,", bufferEndTime,",r.bufferEndTime,",meta_duration,",r.mp4.meta.duration)}if(r.mse&&n&&i.fragIndex===r.mp4.timeRange.length-1&&(!t||t.byteLength<=0)){var l=r.player.buffered;r.bufferEndTime=l.end(l.length-1),r._isEnded(),r.log("load ended !!!==>>>",r.playerConfig.vid,_JSON$stringify(i.range),", fragIndex,",i.fragIndex,", bufferEndTime,",r.bufferEndTime,",meta_duration,",r.mp4.meta.duration)}if(t&&r.mse){if(t&&t.byteLength>0){r._appendBuffer(CONTENT_TYPES.VIDEO,t,i,n);var c=r.getDataBitRate(i.fragIndex);r.player.emit("addVideoBufferEnd",{start:Math.floor(i.startPts),end:i.endPts,bandwidth:c.bitrate})}}else if(r.mseProxy&&(o&&o.samples.length>0||a&&a.samples.length>0)){var u=o.samples.length>0?o.samples[0].sampleOffset:-1,d=o.samples.length>0?o.samples[o.samples.length-1].sampleOffset:-1,p=a.samples.length>0?a.samples[0].sampleOffset:-1,y=a.samples.length>0?a.samples[a.samples.length-1].sampleOffset:-1;r.log("[livevideo] appendBuffer,index,",i.fragIndex,",range,",_JSON$stringify(e.context.range),",videoIdxRange,",u,"-",d,",audioIdxRange,",p,"-",y,", timeRange,",i.timeRange),r.mseProxy.appendBuffer(o,a)}}catch(e){r.changeState("APPEND_DATA_ERROR"),r.log("appendBuffer error",e);var h=new Errors(r.player,{errorType:"runtime",errorTypeCode:ERROR_TYPES.runtime,errorCode:ERROR_CODES.mse,vid:r.player.config.vid,errorMessage:e.message,mediaError:{code:ERROR_CODES.mse,message:e.message}});r._errorHandler(h)}}})),_defineProperty$5(_assertThisInitialized$5(r),"_onWaiting",(function(){var e=_assertThisInitialized$5(r),t=e.player,n=e.config,i=e.playerConfig;clearTimeout(r._waitInBufferTimer),r._waitInBufferTimer=null;var o=t.currentTime;console.log("[>>>>onWaiting],currentTime, ",o,util.nowTime());var a=t.bufferedPoint;a.end>0&&a.end-t.currentTime>=2&&(r._waitAdjustTimeCnt<n.waitJampBufferMaxCnt?r._waitInBufferTimer=_setTimeout((function(){r._waitAdjustTimeCnt++,t.currentTime=t.currentTime+.5,r.log("[waitInBufferTimeout], waitAdjustTimeCnt,",r._waitAdjustTimeCnt,",curtime,",o,util.nowTime())}),n.waitingInBufferTimeOut):r._errorHandler(new Errors(r.player,{errorType:"waitInBuffer",errorTypeCode:ERROR_TYPES.runtime,errorCode:ERROR_CODES.onWaitInBufferRange,errorMessage:"onWait_in_buffer",vid:i.vid})))})),_defineProperty$5(_assertThisInitialized$5(r),"_onEnded",(function(){r.log("[player.onEnded], stopProgress"),r.player&&r.off("waiting",r._onWaiting),r._stopProgress()})),_defineProperty$5(_assertThisInitialized$5(r),"_onReplay",(function(){var e=_assertThisInitialized$5(r),t=e.playerConfig,n=e.player;r._reset(),r._init(t.url).then((function(e){var t=e[0],i=e[1];n.video.src=i.url,r._startProgress(),r.mp4=t,r.mse=i,r.log("_replay play"),r.once("canplay",(function(){n.play(),r.on("waiting",r._onWaiting)}))}),(function(e){r.log("_errorHandler6",e),r._errorHandler(e)}))})),_defineProperty$5(_assertThisInitialized$5(r),"_onSeeking",_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(){var t,n,i,o,a,s,l,c,u,d,p;return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.useVideoLoad){e.next=2;break}return e.abrupt("return");case 2:if(t=_assertThisInitialized$5(r),n=t.player,i=t.mp4,o=n.currentTime,r.changeState("seeking",{curTime:o}),r.log("[seekTime], curTime,",o,",buffer,",n.buffered2.bufferedList),i&&i.meta){e.next=8;break}return e.abrupt("return");case 8:if(r.endofstream=!1,i.bufferLoadedPos=-1,i._metaLoading=!1,a=n.bufferedPoint,s=!1,l=0,!(a.end>0)){e.next=23;break}if(s=!0,l=i.getFragmentIdx(a.end),r._curLoadSegmentIdx!==l){e.next=20;break}return r.log("[seeking in buffered range], seek fragIndex is current load segmentIdx",l),e.abrupt("return");case 20:i.seekTime=a.end,l<0&&(l=r._curLoadSegmentIdx),r.log("[seeking in buffered range], seekTime ",o,",bufferRange,",a.start,"-",a.end,", fragIndex,",l);case 23:return s||(i.seekTime=o,(l=i.getFragmentIdx(o))<0&&(l=r._curLoadSegmentIdx),r.log("[seekTime out buffer range], curTime,",o,", Idx,",l),c=_assertThisInitialized$5(r),(u=c.mse)&&u.isFull()&&(d=n.buffered2.bufferedList,p=d[d.length-1],u.clearOpqueues(CONTENT_TYPES.VIDEO),r._checkRemoveSourceBuffer([p.start,p.end],n.currentTime,!0,!0))),e.next=26,i.cancelLoading();case 26:i.resetFragmentLoadState(l),r._curLoadSegmentIdx=l,r._onTimeUpdate(),r._isEnded();case 30:case"end":return e.stop()}}),e)})))),r._pendingPromises=[],r._allInitPromise=new ProxyPromise,r._isInit=!1,r._isEventInit=!1,r.playerId=r.player._pluginInfoId,r.preloader=null,r.gapJumpInst=null,r.log("playerId",r.playerId),r._tickInSeconds=r.config.tickInSeconds,r.awManager=null,r._useVideoLoad=!1,r.mse=null,r.mp4=null,r.eme=null,r._isMseInit=!1,r._awPromise=null,r._corePromise=null,r._initPromise=null,r._hasStartProgress=!1,r._hasStartProgressBack=!1,r._maxBufferLength=r.config.maxBufferLength,r._minBufferLength=r.config.minBufferLength,r._switchBitRateWay=r.config.switchBitRateWay,r._curLoadSegmentIdx=0,r._abrService=null,r._checkRemoveBufferLastTime=util.nowTime(),r.playFlag=!1,r.config.resumePlayWaterLevel=Math.min(r.config.minBufferLength,r.config.resumePlayWaterLevel),r.checkResumePlayTimer=null,r.loadstart=-1,r._loadStartEventTime=-1,r._waitAdjustTimeCnt=0,r._waitInBufferTimer=null,r._firstSegState=-1,r.codecType=r.playerConfig.codecType?r.playerConfig.codecType.toLowerCase():CODEC_TYPE.H264,r.playerConfig.vtype&&(r._vtype=r.playerConfig.vtype.toUpperCase()),r.firstFrameTime={newplayer:util.nowTime(),newplayer_initkernel:-1,initkernel_initmp4:-1,initmse_sbopen:-1,mseopen:-1,initmse_sbopendone:-1,metaload:-1,metaready_mseisopen:-1,metaready_initsegend:-1,startload_stmux:-1,firstmux:-1,apcnt:0,aplen:0,data_ap:-1,loadst_loadeddata:-1,loaddata:-1,new_loadeddata:-1,bitrate:-1},r.debugInfo={},r.states=[],r.removeVideo=null,r._lastCheckTime=util.nowTime(),r._changeDefState=null,r._defInited=!1,r.states=[],r.preLoadData=null,r.forPreloadTimeCache=null,r._usePaused=!1,r.endofstream=!1,r.bufferEndTime=-1,r.hitpreload=!1,window&&_indexOfInstanceProperty(t=window.location.href).call(t,"playerInstance=true")>-1&&(void 0===window.mp4PlayerInstanceList&&(window.mp4PlayerInstanceList=[]),window.mp4PlayerInstanceList.push(r.player)),r}return _createClass$8(i,[{key:"afterCreate",value:function(){var e=this,t=this.playerConfig,r=this.config,n=this.player;r.width=t.width||0,r.height=t.height||0,t.vid=t.vid||r.vid,MSE.isSupported('video/mp4; codecs="avc1.64001E, mp4a.40.5"')&&(void 0===r.supportHevc&&null!=sniffer&&sniffer.isHevcSupported&&null!=sniffer&&sniffer.isHevcSupported()&&this.player.video instanceof HTMLVideoElement&&(r.supportHevc=!0),isEMESupported()||(r.useEME=!1),this.checkConfig(),r.onlyInit&&(t.autoplay=!1,t.videoInit=!1,this._hasStartProgress=!1,this._hasStartProgressBack=!1),t.useWaterLevel&&(!t.userGestureEventMiddleware&&(t.userGestureEventMiddleware=userGestureEventMiddleware),!t.videoEventMiddleware&&n.setEventsMiddleware(videoEventMiddleware)),this.gapJumpInst=new GapJump(this.player,this.playerConfig),this.preloader=r.isOpenPreload?new Mp4Preloader(this.config,this,this.bitRateAdapter):null,n.preloader=this.preloader,this._proxyPlayer(),this.initAwManager(),n.useHooks("replay",this._replayHook),n.useHooks("play",this._playHook),n.useHooks("pause",this._pauseHook),n.useHooks("retry",this._retryHook),n.video.addEventListener(CUSTOM_EVENTS.BUFFERED_RESET,this._onBufferedReset),this._bindNetworkStateChange(),this.on(TIME_UPDATE,this._onVideoTimeUpdate),this.on(LOADED_DATA,(function(){e.changeState("LOADED_DATA"),e.deleteVideo(),e._firstSegState=2,e._onTimeUpdate(),e._firstFrameTime()})),this.on(LOAD_START,(function(){e.changeState("LOAD_START"),e._loadStartEventTime=util.nowTime(),e.codecType!==CODEC_TYPE.H265||e.config.supportHevc||(e._isMseInit=!0,e._onTimeUpdate())})),this.on("xglog",(function(t){if("firstFrame"===t.eventType){var r=e.preLoadData&&e.preLoadData.definition?e.preLoadData.definition:-1;e.codecType===CODEC_TYPE.H264?console.log("[xgplayer-encrypt-mp4]>>>>firstFrame ",e.playerConfig.vid,t.fvt,", codectype: ",e.codecType,", hitpreload: ",e.hitpreload,", video: ",e._useVideoLoad,",curPlayBitrate: ",e.player.curDefinition.definition,", preloadBitrate: ",r,",metaLoad, ",e.firstFrameTime.metaload,", mseOpen: ",e.firstFrameTime.mseopen,",appendInit: ",e.firstFrameTime.metaready_initsegend):console.log("[xgplayer-encrypt-mp4]>>>>firstFrame ",e.playerConfig.vid,t.fvt,", codectype: ",e.codecType,", hitpreload: ",e.hitpreload,",curPlayBitrate: ",e.player.curDefinition.definition,", preloadBitrate: ",r,",metaLoad, ",e.firstFrameTime.metaload)}})),n.mp4MseFlag=!0)}},{key:"_startBufferCheck",value:function(){var e=this.player;if(e.video){var t=[];if(e.video.buffered){for(var r=0,n=e.video.buffered.length;r<n;r++)t.push([e.video.buffered.start(r),e.video.buffered.end(r)]);t.toString()!==this.lastBuffer&&(this.lastBuffer=t.toString(),this._onBufferReachThreshold())}}}},{key:"_onBufferReachThreshold",value:function(){var e=this.player,t=this.config;if(e.video){for(var r=e.video.buffered,n=0,i=0,o=0;o<r.length&&(n=r.start(o),i=r.end(o),!(n<=e.video.currentTime&&e.video.currentTime<=i));o++);i-e.video.currentTime>=t.bufferThreshold&&!this._hasTriggerBufferThreshold&&(this._hasTriggerBufferThreshold=!0,e.emit("BUFFER_THRESHOLD",i-e.video.currentTime))}}},{key:"_startUrlExpiredCheck",value:function(){var e=this.player.config;e.definition&&e.definition.list&&e.definition.list.length>0&&(this.urlExpireTimestamp=e.definition.list[0].url_expire||0,this._handleUrlExpire())}},{key:"checkConfig",value:function(){var e=this.playerConfig,t=this.config,r=e.defaultDefinition,n=e.defaultBitrate;if(!r){var i=this.playerConfig.definition;r=i&&i.defaultDefinition?i.defaultDefinition:t.definition}!n&&t.bitrate&&(n=t.bitrate),e.defaultDefinition=r,e.defaultBitrate=n}},{key:"beforePlayerInit",value:function(){var e=this.player,t=this;this._isInit||(BasePlugin.defineGetterOrSetter(e,{__url:{get:function(){return t.mse?t.mse.url:e.config.url},configurable:!0},downloadSpeed:{get:function(){return _realTimeSpeed/8},configurable:!0},playerVersion:{get:function(){return version},configurable:!0},menuCodeType:{get:function(){return t.mp4&&t.mp4.meta?t.mp4.meta.videoCodec:"avc"},configurable:!0},playerType:{get:function(){return"MP4"},configurable:!0},supportMenus:{get:function(){return{speed:e.mp4MseFlag,cdn:e.mp4MseFlag,resolution:e.mp4MseFlag}},configurable:!0},CDNUrl:{get:function(){return t.CDNUrl},configurable:!0},abrInstance:{get:function(){return t.abrInstance},configurable:!0},ext:{get:function(){var e,r,n,i,o,a,s=[];if(null!==(e=t.player)&&void 0!==e&&null!==(r=e.video)&&void 0!==r&&r.buffered)for(var l=t.player.video.buffered,c=0,u=l.length;c<u;c++)s.push([l.start(c),l.end(c)]);var d=[];if(t.mse)for(var p=Math.min(t.opQueueLen,5),y=0;y<p;y++)d.push(t.mse.opQueues.video[y].context);return{type:"MP4",usevideo:t.useVideoLoad,duration:null===(n=t.mp4)||void 0===n||null===(i=n.meta)||void 0===i?void 0:i.duration,loadseg:{loadIdx:t._curLoadSegmentIdx,loadTimeRange:null!==(o=t.mp4)&&void 0!==o&&o.timeRange?t.mp4.timeRange[t._curLoadSegmentIdx]:{},waitIdx:t.debugInfo.loadIndx,waitTimeRange:null!==(a=t.mp4)&&void 0!==a&&a.timeRange&&void 0!==t.debugInfo.loadIndx?t.mp4.timeRange[t.debugInfo.loadIndx]:{}},bufffer:s,speed:t.debugInfo.speed,states:t.states,mseque:d,url:t.playerConfig.url}},configurable:!0}}),this._isInit=!0)}},{key:"destroy",value:function(){var e=this.player;console.log("[Index] destroy",this.playerId),this.preloader&&this.preloader.destroy(this.playerId),e.preloader=null,e.removeHooks("replay",this._replayHook),e.removeHooks("play",this._playHook),e.removeHooks("pause",this._pauseHook),e.removeHooks("retry",this._retryHook),this._reset(),this._onDestroyWasm(),this.player.playNext=_playerPlayNext,this.player._startInit=_playerStartInit,this.player.changeDefinition=_playerChangeDefinition,this.player.switchURL=_playerSwitchUrl,this._unbindNetworkStateChange(),e.video&&e.video.removeEventListener(CUSTOM_EVENTS.BUFFERED_RESET,this._onBufferedReset),this._bufferCheckTimer&&clearInterval(this._bufferCheckTimer),this._removeBufferTimer&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null)}},{key:"initAwManager",value:function(){var e=this,t=this.config;this.awManager||(this.awManager=new AwManager(t.cdnHost,t.cdnBucket));var r=new ProxyPromise;if(r.id="aw",this._awPromise=r,t.isEncrypt){var n=new WasmManager;n.push(this.awManager.init()),n.startup().then((function(){n.destroy(),r.resolve()})).catch((function(t){n.destroy(),e._emitInitFail(t),r.reject()}))}else r.resolve()}},{key:"_proxyPlayer",value:function(){var e,t,r,n=this;"function"==typeof this.player.playNext&&(_playerPlayNext=this.player.playNext),this.player.playNext=function(){n.playNext.apply(n,arguments)},_playerStartInit=this.player._startInit,_playerSwitchUrl=this.player.switchURL,_playerChangeDefinition=this.player.changeDefinition,this.player._startInit=_bindInstanceProperty(e=this.playerStartInit).call(e,this),this.player.switchURL=_bindInstanceProperty(t=this.switchURL).call(t,this),this.player.changeDefinition=_bindInstanceProperty(r=this.changeDefinition).call(r,this)}},{key:"getInitBitrate",value:function(){var e=this,t=this.player,r=this.config,n=this.playerConfig,i=null,o=t.definitionList;if(o&&o.length>0){var a;if(_mapInstanceProperty(o).call(o,(function(t){var r=Mp4Preloader.generateUniqueKey({vid:n.vid,definition:t.definition||"",vtype:n.vtype,codecType:n.codecType});t.cacheKey=r,r&&!i&&e.preloader&&e.preloader.hasItemSameVid(r)&&((i=t).type="preload")})),i&&n.userSelectDefinition&&r.focusUserDefinition)console.log("[Index] getInitBitrate",_concatInstanceProperty(a="preloadDefinition: ".concat(i.definition," userSelectDefinition:")).call(a,n.userSelectDefinition)),n.userSelectDefinition!==i.definition&&(i=null);!i&&this.bitRateAdapter&&(this.bitRateAdapter.speed=MP4.speed,(i=this.getDefinitonFromAdapter(o,n.userSelectDefinition))&&(i.type="bitRateAdapter"))}return i&&i.url||(i="Array"===util$1.typeOf(n.url)&&n.url.length>0||"String"===util$1.typeOf(n.url)&&n.url?{url:n.url,definition:n.defaultDefinition,duration:n.duration||this.config.duration||0,bitrate:n.defaultBitrate||this._getBitrateByDefition(n.defaultDefinition),type:"default"}:o[o.length-1]),this.playerConfig.url=i.url,i.networkSpeed=MP4.speed,i.fileSize=util.getFileSize(i.bitrate,n.duration),t.curDefinition=i,i}},{key:"_setPlayerSrc",value:function(e){var t=this.player;this._removeVideoSource(),"Array"===util$1.typeOf(e)?(t.video.removeAttribute("src"),!t._detachSourceEvents&&_forEachInstanceProperty(e).call(e,(function(e){t.video.appendChild(util$1.createDom("source","",{src:"".concat(e.src),type:"".concat(e.type||"")}))})),t._attachSourceEvents(t.video,e),t.play()):(t.video.src=e,t.play()),t.mp4MseFlag=!1,t.emit("playertypechange")}},{key:"_removeVideoSource",value:function(e){var t=this.player,r=(e=e||t.video).children;if(r.length>0)for(t._detachSourceEvents(e);r.length>0;)e.removeChild(r[0])}},{key:"_getBitrateByDefition",value:function(e){var t=this.playerConfig,r=0;if(!t.definition||!t.definition.list)return r;for(var n=0;n<t.definition.list.length;n++){var i=t.definition.list[n];i.definition===e&&(r=i.bitrate)}return r}},{key:"_getDefinitionItem",value:function(e){for(var t=this.playerConfig,r=0;r<t.definition.list.length;r++){var n=t.definition.list[r];if(n.definition===e)return n}return null}},{key:"_initAbrDefinition",value:function(){var e,t=this.player,r=this.playerConfig;if(r.definition.list.length>0&&(t.curDefinition||(t.curDefinition=r.definition.list[0]),t.curDefinition.vwidth||_Object$assign(t.curDefinition,this._getDefinitionItem(t.curDefinition.definition)),this._abrService.updateAbrCacheData()),this._abrService&&this._abrService.isCurrentAutoDefi){var n=r.definition.list.length;t.curDefinition=r.definition.list[n-1]}for(var i=0;i<r.definition.list.length;i++){var o=r.definition.list[i];t.curDefinition.definition===o.definition?o.selected=!0:o.selected=!1}console.log("resourceReady",_concatInstanceProperty(e=r.definition.list).call(e)),this.player.emit("resourceReady",r.definition.list);var a=t.curDefinition.bitrate;if(!a)for(var s=0;s<r.definition.list.length;s++){var l=r.definition.list[s];l.definition===t.curDefinition.definition&&(a=l.bitrate)}this._abrService.updateBitrate(a)}},{key:"_initAbrService",value:(r=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(){var t,r;return _regeneratorRuntime$2().wrap((function(e){for(var n;;)switch(e.prev=e.next){case 0:if(t=this.playerConfig,(r=this.config).autoBitrateOpts&&r.autoBitrateOpts.isOpenAutoDefi){e.next=3;break}return e.abrupt("return");case 3:return this._abrService=new AbrService(this,this.abrSwitchURL),e.next=6,this._abrService.init({video:_concatInstanceProperty(n=t.definition.list).call(n)});case 6:this._initAbrDefinition();case 7:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_initMp4Kernel",value:function(){var e=this;this.firstFrameTime.newplayer_initkernel=util.nowTime()-this.firstFrameTime.newplayer,this.log("[===========], initMp4Kernel,",util.nowTime());var t=this.playerConfig,r=this.config,n=new ProxyPromise;try{var i=this._defInited?null:this.getInitBitrate();if(this._defInited=!0,this.log("curDefinition",i),this.log("[_initMp4Kernel] ".concat(t.vid," curDefinition"),i),!this._handlerUrl(t.url))return n.reject(new Error("emptyUrl")),n;if(r.forceVideoPlay&&(this.codecType===CODEC_TYPE.H264||r.supportHevc))return this.useVideoLoad=!0,n.reject("forceVideoPlay"),n;var o=[];o.push(this._getLicense()),o.push(this._checkPreloader()),_Promise.all(o).then((function(t){e.isDestroy&&n.reject(new Error("destroy"));var o=null;if(t&&t.length>0&&t[1]&&(o=t[1].data),o||!r.needPreloadCheck||e.codecType===CODEC_TYPE.H265&&!r.supportHevc)if(e._vtype&&"MP3"===e._vtype)e.useVideoLoad=!0,n.reject(new Error("vtype_not_MP4"));else{var a=r._mainURL;e._initMp4(a,o,{fileSize:i?i.fileSize:0}),e._initAbrService()}else e.useVideoLoad=!0,n.reject(new Error("no_preload"))})).catch((function(t){console.error(t),t.errorType="GET_LICENSE_ERROR",e.emit("error",t),e.changeState("LICENSE_ERROR",{d:i?i.definition:0}),n.reject(t)}))}catch(e){n.reject(e)}return n}},{key:"playerStartInit",value:function(e){var t=this;if(this.log("playerStartInit",this.player.hasStart),!this.isDestroy){if(!e||"__auto__"===e||"anytext"===e){var r,n=this.playerConfig,i=n.definition;if(i&&i.list&&i.list.length>0&&i.defaultDefinition)if(_mapInstanceProperty(r=i.list).call(r,(function(e){e.definition===i.defaultDefinition&&(n.url=e.url,t.player.curDefinition=e)})),!n.url||"__auto__"===e||"anytext"===e){var o=i.list[0];e=o.url,n.url=o.url,this.player.curDefinition=o}}if(this.useVideoLoad)_playerStartInit.call(this.player,e);else{this.player.mp4MseFlag=!0,this.bufferEndTime=-1,this._tm=(new Date).getTime(),this._reset();var a=this.playerConfig.vid;this.preloader&&this.preloader.cancelPreloadByVid(a),this.changeState("PLAYER_START_INIT"),this._awPromise.then((function(){if(!t.isDestroy){t.changeState("AW_OK INIT_MP4_KERNEL");var r=t._initMp4Kernel();t._initPromise=r,t._addPendingPromise(t._initPromise),r.then((function(r){var n;t.isDestroy||(t.log(_concatInstanceProperty(n="[Index] _initMp4Kernel.then vid:".concat(a," isDestroy")).call(n,t.isDestroy),r,t.mse?t.mse.url:""),t.mse&&(e=t.mse.url),t.changeState("PLAY_INIT_OK"),t._bindEvents(),t._startProgress())})).catch((function(r){var n,i,o=!!t._initPromise&&t._initPromise.isBreak;if(!t.isDestroy&&!o)if(console.error(_concatInstanceProperty(n=_concatInstanceProperty(i="_initMp4Kernel.catch: ".concat(a," isDestroy:")).call(i,t.isDestroy," _initPromise.isBreak:")).call(n,o),r),-499897!==r.errorCode){var s=r;s.errorCode||((s=new Errors(t.player,{errorType:"runtime",errorTypeCode:ERROR_TYPES.runtime,errorCode:ERROR_CODES.other,vid:t.playerConfig.vid,errorMessage:null==r?void 0:r.message,mediaError:{code:ERROR_CODES.other,message:null==r?void 0:r.message}})).url=e),t.changeState("PLAY_INIT_CATCH",{c:s.errorCode,m:s.message}),t.player.vtype="MP4_1",t.player.emit("playCatch",t.player.vtype,s)}else t._emitExpireEvent(r)})).finally((function(){var r;if(t._initPromise){var n=t._initPromise.isBreak;t._initPromise&&t._removePendingPromise(t._initPromise),t._initPromise=null,t._usePaused&&(t.playerConfig.autoplay=!1),t.codecType===CODEC_TYPE.H265&&"Array"===util$1.typeOf(e)&&(e=e[0].src),t.log(_concatInstanceProperty(r="_initMp4Kernel.finally:isDestroy".concat(t.isDestroy," _initPromise.isBreak:")).call(r,n)),t.log("[===========], playerStartInit,",util.nowTime()),t.changeState("PLAY_INIT_FINALLY"),!t.isDestroy&&!n&&_playerStartInit.call(t.player,e)}}))}})).catch((function(r){t.log("_awPromise.error",r),t.changeState("PLAY_INIT_CATCH"),!t.isDestroy&&_playerStartInit.call(t.player,e)})),this._abrService&&this._abrService.isCurrentInAbr()&&(this._abrService.enable(),this._abrService.execute())}}}},{key:"playNext",value:function(e){var t=this.player;this._defInited=!1,t.resetState(),t._currentTime=0,t._duration=0,t.isPlaying=!1,this._useVideoLoad=!1,t.pause(),this._reset(),e.vtype&&(this._vtype=e.vtype.toUpperCase()),t.setConfig(e);var r=this.codecType;this.codecType=e.codecType?e.codecType.toLowerCase():CODEC_TYPE.H264;var n=e[this.pluginName];n&&(this.config=_Object$assign(this.config,n)),r!==this.codecType&&this.h265_h264_switch(this.playerConfig.mediaType||"video"),this.checkConfig(),this.initAwManager(),this.log("[Index] playNext",e),t.play(),this.emit("playnext")}},{key:"h265_h264_switch",value:function(e){this.log("h265_switch_h264");var t=this.player,r=util$1.createDom(e,"",this.getVideoConfig(this.playerConfig),"xgplayer-".concat(e,"-img"));this.removeVideo=t.video,r.muted=t.video.muted,r.volume=t.video.volume,t.video=r,t.attachVideoEvents(t.video)}},{key:"getVideoConfig",value:function(e){var t=_Object$assign({},{controls:!1,autoplay:e.autoplay,playsinline:e.playsinline,"x5-playsinline":e.playsinline,"webkit-playsinline":e.playsinline,"x5-video-player-fullscreen":e["x5-video-player-fullscreen"]||e.x5VideoPlayerFullscreen,"x5-video-orientation":e["x5-video-orientation"]||e.x5VideoOrientation,airplay:e.airplay,"webkit-airplay":e.airplay,tabindex:2,mediaType:e.mediaType||"video"},e.videoConfig,e.videoAttributes);return e.loop&&(t.loop="loop"),t}},{key:"next",value:function(e){this.playNext(e)}},{key:"oldChangeDefinition",value:function(e,t){var r,n,i=this,o=this.config,a=this.player,s=this.playerConfig;a.emit(DEFINITION_CHANGE,{from:t,to:e}),a.emit(WAITING);var l=_filterInstanceProperty(r=a.definitionList).call(r,(function(t){return t.definition===e.definition||t.definition===Number(e.definition)})),c=_filterInstanceProperty(n=a.definitionList).call(n,(function(e){return e.definition===t.definition||e.definition===Number(t.definition)}));if(c.length>0&&(c[0].selected=!1),l.length>0){(e=l[0]).selected=!0,a.curDefinition=e,this.log("[oldChangeDefinition],currentTime,",a.currentTime,",from,",t,",to,",e);var u=a.currentTime,d=a.paused;this._changeDefState||(this._changeDefState={currentTime:u,paused:d},this.log("[oldChangeDefinition],currentTime,",a.currentTime,",pause,",d)),o.definition=e.definition,this.config.keyValue=e.keyValue,this.config.kid=e.kid,this.config.secretKey=e.secretKey,this.config.drm=e.drm,this.config.getLicenseUrl=e.getLicenseUrl,s.url=e.url,s.backupURL=e.backupURL,s.userSelectDefinition=e.definition,s.defaultDefinition=e.definition,o.focusUserDefinition=!0,a.currentTime=0,a.pause(),this._reset(),this._isMseInit=!1,this.eme=null,this._handlerUrl(e.url),this._changeDefineCanPlay&&a.off("canplay",this._changeDefineCanPlay),this._changeDefineCanPlay=function(){i.changeDefineCanPlay(u,d,t,e),i._changeDefineCanPlay=null},a.once("canplay",this._changeDefineCanPlay),this.player.video.load(),this.playerStartInit(s.url)}}},{key:"switchURL",value:function(e){if(this.useVideoLoad)_playerSwitchUrl.call(this.player,e);else{var t=this.player,r=this.playerConfig;this.config.keyValue=e.keyValue,r.url=e.url,r.backupURL=e.backupURL,t.currentTime=0,t.pause(),this.reset(),this._isMseInit=!1,this.eme=null,this._handlerUrl(e.url),t.video.removeAttribute("src"),this._removeVideoSource(),t.resetState()}}},{key:"_handlerUrl",value:function(e){var t,r=this.config,n=this.playerConfig;if(!e)return!1;var i=[];if("String"===util$1.typeOf(e))t=e,n.backupURL&&i.push(n.backupURL);else if("Array"===util$1.typeOf(e)&&e.length>0&&(t=e[0].src,e.length>1))for(var o=1;o<e.length;o++)i.push(util.extUrl(e[o].src,{__vid:n.vid}));return!(!t&&0===i.length)&&(r._mainURL=util.extUrl(t,{__vid:n.vid}),r._backupURL=i,!0)}},{key:"_firstFrameTime",value:function(){if(this.codecType===CODEC_TYPE.H264||this.config.supportHevc){if(this.firstFrameTime.new_loadeddata<0){this.firstFrameTime.loadst_loadeddata=util.nowTime()-this.loadstart,this.firstFrameTime.new_loadeddata=util.nowTime()-this.firstFrameTime.newplayer;var e={};for(var t in this.firstFrameTime)Object.prototype.hasOwnProperty.call(this.firstFrameTime,t)&&(this.log("======this.firstFrameTime======",t,", ",this.firstFrameTime[t]),e[t]=this.firstFrameTime[t])}}else if(this.codecType===CODEC_TYPE.H265){var r=this.player.video.getStats(),n=this.firstFrameTime.metaload,i=this.firstFrameTime.startMuxTime;this.firstFrameTime=r,this.firstFrameTime.metaload=n,this.firstFrameTime.startload_stmux=i,this.firstFrameTime.firstmux=this.mp4?this.mp4.firstFrameTime.firstmux:-1;for(var o=0;o<r.bootStats.length;o++)this.firstFrameTime[r.bootStats[o].action]=r.bootStats[o].dot;delete this.firstFrameTime.bootStats,this.log("======this.firstFrameTime===>>",_JSON$stringify(this.firstFrameTime))}}},{key:"_bindEvents",value:function(){var e=this,t=this.config,r=this.player;this._isEventInit||(this.on("seeking",this._onSeeking),this.on("waiting",this._onWaiting),this.on("ended",this._onEnded),this.on("error",this._onVideoError),this.on("playing",this._onPlaying),this.on("detectGap",(function(){t.gapDegrade&&t.useEME&&(t.useEME=!1,e._replay())})),this.on("error",(function(t){e.changeState("video_error",{code:t.code,message:t.message,videoType:e.useVideoLoad})})),r.setEventsMiddleware({error:function(t,r){var n=t.originalEvent;e.changeState("video_error",{code:n.code,message:n.message,videoType:e.useVideoLoad}),e.log("error middleware",t,",useVideoLoad,",e.useVideoLoad),e.useVideoLoad&&r(t.eventName,n)}})),this._isEventInit=!0}},{key:"deleteVideo",value:function(){if(this.removeVideo){var e=this.removeVideo.parentNode;e&&e.removeChild(this.removeVideo),this.removeVideo=null,this.log("[_removeVideoSource]")}}},{key:"_unbindEvents",value:function(){this.off("seeking",this._onSeeking),this.off("waiting",this._onWaiting),this.off("ended",this._onEnded),this.off("playing",this._onPlaying),this._isEventInit=!1}},{key:"changeState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._pTime||(this._pTime=util.nowTime());var r=util.nowTime()-this._pTime,n=util.nowTime()-this._sTime;this.log(">>>changeState[".concat(e,"]"),r,n,t),this.states.push({state:e,t1:r,t2:n,data:t}),this._pTime=util.nowTime();var i=util.nowTime()-this._pTime;t.state=e,i&&(t.t=i)}},{key:"checkIfCanPreload",value:function(){var e=this.player,t=this.useVideoLoad,r=this.config;if(r.isOpenPreload){var n=t?5:r.minBufferLength,i=e.currentTime+n;i=i>e.duration?e.duration:i;var o=(t?e.getBufferedRange(e.buffered):e.getBufferedRange(e.buffered2))[1]-i;e.currentTime>=n&&(o>0||Math.abs(o)<1)&&this.preloader&&this.preloader.checkCanPreloadNext()&&this.emit("PRELOAD_NEXT")}}},{key:"_getLicense",value:function(){var e=this,t=this.config,r=t.vid,n=t.kid,i=t.secretKey,o=new ProxyPromise,a={method:"getLicense",success:0};if(n||i){var s=getKeyValue(r,n,i,this);s.id="licensePromise",this._addPendingPromise(s),s.then((function(t){e._removePendingPromise(s),t.clearKeys?e.config.drm=t:e.config.keyValue=t,a.success=1,o.resolve(a)})).catch((function(t){e.log("licensePromise reject"),a.success=0,a.error=t,o.reject(a)}))}else a.success=0,o.resolve(a);return o}},{key:"softDecode",get:function(){var e,t;return"xg-video"===(null===(e=this.player)||void 0===e||null===(t=e.config)||void 0===t?void 0:t.mediaType)}},{key:"_initH265MseProxy",value:function(){this.player.video instanceof HTMLVideoElement&&this.h265_h264_switch(this.playerConfig.mediaType);var e=this.player.video;this.softDecode&&e.setPlayMode&&e.setPlayMode("VOD"),this.mseProxy=e,this.softDecode&&(this.player.forceDegradeToVideo=function(){},this.player.video.addEventListener("lowdecode",this._lowDecoder),this.player.video.addEventListener("error",this._onError))}},{key:"removeAndRejectInitPromise",value:function(e){this._initPromise&&(this._removePendingPromise(this._initPromise),this._initPromise.reject(e))}},{key:"_initMp4",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.firstFrameTime.initkernel_initmp4=util.nowTime()-this.firstFrameTime.newplayer-this.firstFrameTime.newplayer_initkernel;var i=this.config,o=this.player,a=this.playerConfig;this.mp4&&(this.mp4.off(MP4_EVENTS.META_READY,this._onMp4MetaReady),this.mp4.off(MP4_EVENTS.ERROR,this._onMp4Error),this.mp4.off(MP4_EVENTS.UPDATEEME,this._updateDrmConfig),this.mp4.off(MP4_EVENTS.TASK_PROGRESS,this._onMp4Progress),this.mp4.off(MP4_EVENTS.MOOV_REQ_PROGRESS,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null),this.changeState("MP4_NEW",{}),this.mp4=new MP4(e,o.curDefinition.bitrate,{segmentDuration:i.segmentMinDuration,enableWorker:i.enableWorker,codecType:this.codecType,chunkSize:i.preloadSize,loadSize:800,duration:a.duration||0,fileSize:n.fileSize||0,playerId:this.playerId,vid:a.vid,useUrlRange:i.useUrlRange,retryCount:i.retryCount,retryDelay:i.retryDelay,onProcessMinLen:i.onProcessMinLen,supportHevc:i.supportHevc,reqOptions:i.reqOptions},this,null,r,this.config._backupURL,this.firstFrameTime,""),this.mp4.once(MP4_EVENTS.META_READY,this._onMp4MetaReady),this.mp4.on(MP4_EVENTS.ERROR,this._onMp4Error),this.mp4.on(MP4_EVENTS.UPDATEEME,this._updateDrmConfig),this.mp4.on(MP4_EVENTS.TASK_PROGRESS,this._onMp4Progress),this.mp4.on(MP4_EVENTS.MOOV_REQ_PROGRESS,this._onMp4DataCallBack),this.mp4.on(MP4_EVENTS.CHANGE_URL,(function(e){t.player&&t.player.emit("initialUrl",{url:e})})),this.mp4.MP4Loader.on(REAL_TIME_SPEED_EVENT,(function(e){_realTimeSpeed=e.speed,t.debugInfo.speed||(t.debugInfo.speed=[]),t.debugInfo.speed.push(_realTimeSpeed),t.debugInfo.speed.length>10&&t.debugInfo.speed.shift(),t.emit(REAL_TIME_SPEED_EVENT,e)})),this.changeState("MP4_INIT",{}),this.mp4.init(r)}},{key:"_checkPreloader",value:function(){var e=this,t=this.playerConfig,r=new ProxyPromise,n={method:"checkPreloader",success:0,type:"error",cacheKey:""};this.changeState("CHECK_PRELOAD");var i=this.player.curDefinition,o=i.cacheKey?i.cacheKey:Mp4Preloader.generateUniqueKey({vid:t.vid,definition:i.definition||"",vtype:t.vtype,codecType:t.codecType});return n.cacheKey=o,this.preloader&&o?this.preloader.getPreLoadData(o).then((function(t){console.log(">>>>check Preloader result",o,t),t?(e.preLoadData=t,e.emit("PRELOAD_INFO",e.preLoadData),n.success=1,n.data=t,e.changeState("PRELOAD_OK",{l:e.preLoadData.byteLength,ck:o}),t.mediaSegList&&t.mediaSegList.length>0||t.buffer&&t.buffer.byteLength>0?e.hitpreload=!0:e.hitpreload=!1,r.resolve(n)):(e.preLoadData=null,e.changeState("PRELOAD_ERROR",{t:0}),n.success=0,n.error=new Error("none_preload"),r.resolve(n))})):(this.changeState("PRELOAD_ERROR",{t:2}),n.success=0,n.error=new Error("no_preloader"),r.resolve(n)),r}},{key:"_initEME",value:function(e,t){var r=this.player,n=this.config,i=e.checkCodecH265();n.useEME=!(!1===n.useEME||i),this._updateDrmConfig(t),this.log("config.useEME: ",n.useEME);var o=n.drm;!this.eme&&o&&o.clearKeys&&n.useEME&&(this.eme=new EME(o)),n.useEME&&this.eme&&(this.eme.setOptions('video/mp4; codecs="avc1.64001E"','audio/mp4; codecs="mp4a.40.2"'),this.eme.SetupEME(r.video))}},{key:"_initMse",value:function(e){var t,r=this,n=this.playerConfig;this.mse&&(this.mse.destroy(),this.mse=null);var i,o=this.mp4&&this.mp4.checkCodecH265(),a=!!e.videoCodec,s=!!e.audioCodec;i=a&&s?o?'video/mp4; codecs="hev1.1.6.L93.B0, mp4a.40.5"':'video/mp4; codecs="avc1.64001E, mp4a.40.5"':a?o?'video/mp4; codecs="hev1.1.6.L93.B0"':'video/mp4; codecs="avc1.64001E"':'video/mp4; codecs="mp4a.40.5"';var l=_defineProperty$5({},CONTENT_TYPES.VIDEO,{mimeType:"video/mp4",codec:i});this.mse=new MSE(n.mediaType,_bindInstanceProperty(t=this.log).call(t,this)),this.mse.on(MSE_EVENTS.MSE_OPEN,(function(e){r.firstFrameTime.initmse_sbopen=e.costtime,r._loadStartEventTime>0&&(r.firstFrameTime.mseopen=util.nowTime()-r._loadStartEventTime),r.changeState("MSE_OPEN")})),this.mse.on(MSE_EVENTS.MSE_OPEN_DONE,(function(e){r.firstFrameTime.initmse_sbopendone=e.costtime,r.changeState("MSE_OPEN_DONE"),r._isMseInit=!0,r._onTimeUpdate()})),this.mse.on(MSE_EVENTS.MSE_ERROR,(function(e){if(console.log("[MSE error]",e),e&&r.mse&&r.mse.isFull()){var t=r.player.getBufferedRange(r.player.buffered2);r._checkRemoveSourceBuffer(t,r.player.currentTime,!0)}else{var i=new Errors(r.player,{errorType:"runtime",errorTypeCode:ERROR_TYPES.runtime,errorCode:ERROR_CODES.mseAppend,errorMessage:e.message,vid:n.vid,mediaError:{code:ERROR_CODES.mseAppend,message:e.message}});r._errorHandler(i)}})),this.mse.on(MSE_EVENTS.UPDATE_END,(function(e){var t=e.context,n=e.costtime;if(t&&t.isinit)r.firstFrameTime.metaready_initsegend=n,r.log("player appendBuffer end ==>>>",t||null,", costTime,",n),r.changeState("MSE_INITSEG_OK");else if(r.log("player appendBuffer end ==>>>",t||null,", costTime,",n,", opt,",e.name,",bufferRange,",r.player.getBufferedRange()),r.firstFrameTime.loadst_loadeddata<0&&(r._firstSegState<0&&r._onTimeUpdate(),r.firstFrameTime.apcnt++,r.firstFrameTime.aplen+=t?t.dataLen:0,r.firstFrameTime.data_ap+=n,r.changeState("APPEND_DATA_OK",{costime:n,dataLen:t?t.dataLen:0})),r.mse&&t.state&&t.fragIndex===r.mp4.timeRange.length-1){var i=r.player.buffered;r.bufferEndTime=i.end(i.length-1),r._isEnded(),r.log("loaded ended !!!==>>>",t.range,", fragIndex,",t.fragIndex,", bufferEndTime,",r.bufferEndTime,",meta_duration,",r.mp4.meta.duration)}})),this.changeState("MSE_INIT"),this.mse.init(l)}},{key:"_appendInitSeg",value:function(e){this.mp4&&this.mse&&(this.changeState("MSE_INITSEG"),this.log("[=======ready_append_init]",util.nowTime(),",mseDone,",!!this.mse&&this.mse.ready,",isopen,",!!this.mse&&this.mse.isMediaSourceOpen()),!this.mse.ready&&this.openMSE(),this.firstFrameTime.metaready_mseisopen=this.mse&&this.mse.ready?1:0,this.mse.appendBuffer(CONTENT_TYPES.VIDEO,e,{vid:this.playerConfig.vid,range:null,dataLen:e.byteLength,isinit:!0}),this.mp4.useEME&&this.eme&&this.eme.emit("encrypted"))}},{key:"_checkMetaInfo",value:function(e){var t=null;return e?null:(t={errorCode:ERROR_CODES.metaError,errorMessage:"meta is null",errorType:"demux",errorTypeCode:ERROR_TYPES.demux},new Errors(this.player,_objectSpread2$3(_objectSpread2$3({},t),{},{vid:this.playerConfig.vid,mediaError:{code:t.errorCode,message:t.errorMessage}})))}},{key:"_stopProgress",value:function(){this._hasStartProgress=!1,this._requestTimer&&(this._requestTimer.stop(),this._requestTimer=null),this._bufferBreakTimer&&(clearTimeout(this._bufferBreakTimer),this._bufferBreakTimer=null,this._bufferBreakFlag=void 0)}},{key:"_bindNetworkStateChange",value:function(){window.addEventListener("online",this._onOnlineHandler),window.addEventListener("offline",this._onOfflineHandler)}},{key:"_unbindNetworkStateChange",value:function(){window.removeEventListener("online",this._onOnlineHandler),window.removeEventListener("offline",this._onOfflineHandler)}},{key:"_onSuperStart",value:function(e){var t=this,r=this.player;log$3("_onSuperStart:".concat(e),this.mse),r.video.src=e,this.once("canplay",(function(){r.play(),t.on("waiting",t._onWaiting)}))}},{key:"openMSE",value:function(){var e=this.mse;!e.ready&&e.isMediaSourceOpen()&&(this.log("[=======主动调用_onSourceOpen start]",util.nowTime()),e._onSourceOpen(),this.log("[=======主动调用_onSourceOpen, end ]",util.nowTime(),"mseDone,",e.ready))}},{key:"_appendBuffer",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0,i=this.mse,o=this.playerConfig.vid;this.log("player appendBuffer start ==>>>",o,r.range,t.byteLength,", queueLen,",i&&i.opQueues[e]?i.opQueues[e].length:null),i.ready||(this.openMSE(),this.firstFrameTime.metaready_mseisopen=this.mse&&this.mse.ready?2:-1),i.appendBuffer(e,t,{vid:o,fragIndex:r.fragIndex,range:r.range,dataLen:t.byteLength,state:n})}},{key:"_loadData",value:(t=_asyncToGenerator$2(_regeneratorRuntime$2().mark((function e(){return _regeneratorRuntime$2().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(navigator.onLine){e.next=2;break}return e.abrupt("return");case 2:if(this.mp4&&this._isMseInit){e.next=5;break}return this.log("loadData, player.mp4 null",this._isMseInit),e.abrupt("return");case 5:return this.loadstart<0&&(this.loadstart=util.nowTime()),e.prev=6,e.next=9,this.mp4.load(this._curLoadSegmentIdx,this._loadDataSuccess);case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(6),console.error("[Index] _loadData error",this.playerConfig.vid,e.t0);case 14:case"end":return e.stop()}}),e,this,[[6,11]])}))),function(){return t.apply(this,arguments)})},{key:"getDataBitRate",value:function(e){var t=this.mp4,r=this.playerConfig;if(!t)return 0;for(var n=t.getDataBitRate(e),i=r.definition.list,o=0,a=0;a<i.length;a++)if(i[a].bitrate===n){o=i[a];break}return o}},{key:"_loadStuckCheck",value:function(){var e=this,t=this.config,r=this.playerConfig,n=this.player;t.disableBufferBreakCheck||(n.currentTime-(this._lastCurrentTime||0)>.1||n.paused?1!==this._bufferBreakFlag&&2!==this._bufferBreakFlag||(this.log("视频没有卡死,重置卡死标记"),this._bufferBreakFlag=0,clearTimeout(this._bufferBreakTimer),this._bufferBreakFlag=null):this._bufferBreakFlag||(this._bufferBreakFlag=1,this.log("卡死计时开始! 持续".concat(BUFFER_BREAK,"毫秒则确认卡死")),this._bufferBreakTimer=_setTimeout((function(){e.isDestroy||(1===e._bufferBreakFlag&&(e._bufferBreakFlag=2,e.log("确认卡死!!!"),e._errorHandler(new Errors(e.player,{errorType:"runtime",errorTypeCode:ERROR_TYPES.runtime,errorCode:ERROR_CODES.waitTimeout,errorMessage:"wait_timeout",vid:r.vid}))),e._bufferBreakTimer=null)}),BUFFER_BREAK)),this._lastCurrentTime=n.currentTime)}},{key:"_doubleCheckBuffer",value:function(e){var t=this.player;if(!(e.startTime>t.currentTime))return!0;if(!t.video||!t.video.buffered)return!0;var r=t.video.buffered;if(1===r.length)return!0;for(var n=!1,i=0;i<r.length;i++){var o=r.start(i)-.5,a=r.end(i)+.5;if(o<=e.startTime&&e.endTime<=a){n=!0;break}}return n}},{key:"_onTimeUpdate",value:function(){var e=this,t=this.mse,r=this.mp4,n=this.player;if(this.useVideoLoad)this.checkIfCanPreload();else if(r){var i=r.timeRange;if(i&&!(i.length<1)&&1!==this._firstSegState){var o=n.getBufferedRange(n.buffered2);if((t||this.mseProxy)&&r&&r.canDownload){util.nowTime()-this._lastCheckTime>1e3&&(this._lastCheckTime=util.nowTime(),this._loadStuckCheck(),this._startUrlExpiredCheck(),this._checkRemoveSourceBuffer(o,n.currentTime));var a=n.paused?n.currentTime+this._minBufferLength:n.currentTime+this._maxBufferLength;o[1]-a<0&&_everyInstanceProperty(i).call(i,(function(t,r){if(t.downloaded){if(e._doubleCheckBuffer(t))return!0;t.downloaded=!1,t.isLoading=!1,e.log("".concat(r," download state error, no buffer, download again"))}t.startTime-n.currentTime<e._maxBufferLength?(e._curLoadSegmentIdx=r,e.log("[onTimeUpdate],load index==>>>, ",r,",IdxTimeRange, ",t.startTime,"-",t.endTime,",buffEnd, ",o[1],",playCurTime,",n.currentTime,", bufferLen,",o[1]-n.currentTime,",bufferRangeList,",e.player.buffered2?e.player.buffered2.bufferedList:null),e._loadData()):e.log("[onTimeUpdate] not load index==>>>",r,",IdxTimeRange, ",t.startTime,"-",t.endTime,",playCurTime,",n.currentTime,",bufferRangeList,",e.player.buffered2?e.player.buffered2.bufferedList:null)})),this.checkIfCanPreload(),this.playFlag&&!this._hasTriggerBufferThreshold&&this._startBufferCheck(),this._isEnded()}}}}},{key:"_reset",value:function(){for(var e in this.states=[],this.hitpreload=!1,this._sTime=util.nowTime(),this._usePaused=!1,this._firstSegState=-1,this.useVideoLoad=!1,this._isMseInit=!1,this.endofstream=!1,this._curLoadSegmentIdx=0,this.preLoadData=null,this.forPreloadTimeCache=null,this.playFlag=!1,this._waitAdjustTimeCnt=0,this._initPromise&&"pending"===this._initPromise.state&&this._initPromise.reject("DESTROYED"),clearTimeout(this.checkResumePlayTimer),this.checkResumePlayTimer=null,this._stopProgress(),this.mp4&&(this.mp4.off(MP4_EVENTS.META_READY,this._onMp4MetaReady),this.mp4.off(MP4_EVENTS.ERROR,this._onMp4Error),this.mp4.off(MP4_EVENTS.UPDATEEME,this._updateDrmConfig),this.mp4.off(MP4_EVENTS.TASK_PROGRESS,this._onMp4Progress),this.mp4.off(MP4_EVENTS.MOOV_REQ_PROGRESS,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null),this.mse&&(this.mse.destroy(),this.mse=null),this.mseProxy&&(this.player.video.removeEventListener("lowdecode",this._onDegrade),this.player.video.removeEventListener("error",this._onError)),this._clearMediaKeys(),this._unloadVideo(),this._cancelPendingPromises(),this._abrService&&(this._abrService.destroy(),this._abrService=null),this.firstFrameTime)Object.prototype.hasOwnProperty.call(this.firstFrameTime,e)&&(this.firstFrameTime[e]="apcnt"===e||"aplen"===e?0:"newplayer"===e?util.nowTime():-1);clearTimeout(this._waitInBufferTimer),this._waitInBufferTimer=null,this.loadstart=-1,this._loadStartEventTime=-1,this.startLoadData=-1}},{key:"removeErrorUrls",value:function(e,t,r){return-499897!==e.errorCode&&-499892!==e.errorCode||this._emitExpireEvent(e),r}},{key:"_errorHandler",value:function(e){var t=this.player,r=this.playerConfig,n=this.preLoadData;if(t){if(this.useVideoLoad)return console.log("useVideoLoad final error!!!!, ",r.vid,e),void this.emit("error",e);if("object"!==_typeof$4(e)){var i={};i.err=e,e=i}var o=t.paused;e.vid=r.vid,e.preloadHit=n&&n.byteLength>0?1:0,e.preloadCached=n?n.duration:0,e=new Errors(t,e),this.log("_errorHandle","preState is ".concat(o),e),!e.url&&(e.url=t.src),this.player.vtype="MP4_2",this.player.emit("playCatch",this.player.vtype,e),e.errd&&"object"===_typeof$4(e.errd)&&this.mp4&&(e.errd.url=this.mp4.url,e.url=this.mp4.url),e.codectype=this.codecType,this.emit("DATA_REPORT",e),this.mp4&&this.mp4.url&&this.removeErrorUrls(e,this.mp4.url,r.url),this.log("error task cancel"),this.mp4&&this.mp4.cancelLoading(),this._abrService&&this._abrService.disable(),this.mp4&&(this.mp4.canDownload=!1),this.mp4&&this.mp4.bufferCache&&this.mp4.bufferCache.clear(),this._startDegradedPlayback(e)}}},{key:"_startDegradedPlayback",value:function(e){var t=this;this.mp4&&(this.mp4.canDownload=!1);var r=this.player,n=this.playerConfig;if(this.endofstream=!1,this._currentTime=r.currentTime||0,this.player.pause(),this._reset(),this._replay=null,this.codecType===CODEC_TYPE.H265)console.log("h265 err,degrade use 264 play",n.vid),this._onDegrade(e);else if(this.codecType===CODEC_TYPE.H264)if(this.config.drm){var i;if(this.config.drm)_mapInstanceProperty(i=_Object$keys(this.config.drm)).call(i,(function(r){t.config.drm&&(e[r]=t.config.drm[r])}));console.log("final error !!!!, ",n.vid,e),this.emit("error",e)}else this.useVideoLoad=!0,this._setPlayerSrc(n.url),this.once("canplay",(function(){t._currentTime&&(r.currentTime=t._currentTime),!r.paused&&r.play()}))}},{key:"_startProgress",value:function(){var e=this;this._hasStartProgress||(this._stopProgress(),this._requestTimer=new Timer((function(){e._requestTimer&&e._onTimeUpdate()})),this._requestTimer.tickEvery(this._tickInSeconds),this._hasStartProgress=!0)}},{key:"_unloadVideo",value:function(){var e=this.player;try{this.log("unloadVideo src ".concat(e.video.src)),e.video&&e.video.src&&(e.video.removeAttribute("src"),e.video.load())}catch(e){this.log("unloadVideo error",e)}}},{key:"_addPendingPromise",value:function(e){this._pendingPromises.push(e)}},{key:"_removePendingPromise",value:function(e){var t;this.log("removePendingPromise",e.id);var r,n=_indexOfInstanceProperty(t=this._pendingPromises).call(t,e);n>-1&&_spliceInstanceProperty(r=this._pendingPromises).call(r,n,1)}},{key:"_cancelPendingPromises",value:function(){var e;this._pendingPromises.length>0&&_forEachInstanceProperty(e=this._pendingPromises).call(e,(function(e){e.reject(DESTROYED)}));this._pendingPromises=[]}},{key:"_onMediaExpired",value:function(){this._stopProgress(),this.emit(CUSTOM_EVENTS.MEDIA_EXPIRED)}},{key:"_onDestroyWasm",value:function(){this.awManager&&(this.awManager.destroy(),this.awManager=null)}},{key:"_isEnded",value:function(){var e=this.player,t=this.mp4,r=e.bufferedPoint,n=r?r.end:0;return!this.endofstream&&this.bufferEndTime>0&&this.mse&&this.bufferEndTime-e.currentTime<.5&&(this.log("[check player isEnded],deal mse.endOfStream, currentTime,",e.currentTime,", bufferend,",n,", duration,",t.meta.duration),this.endofstream=!0,this.mse.endOfStream()),!!(t&&t.meta&&t.meta.duration-e.currentTime<.5)&&(this._stopProgress(),this.log("[check player isEnded],stopProgress and endOfStream,currentTime, ",e.currentTime,", bufferend,",n,", duration,",t.meta.duration),this.mse&&this.mse.endOfStream(),!0)}},{key:"_clearMediaKeys",value:function(){var e=this.player;e.video&&"function"==typeof e.video.setMediaKeys&&e.video.setMediaKeys(null).catch((function(){}))}},{key:"_checkRemoveSourceBuffer",value:function(e,t,r,n){var i=this,o=this.mse,a=this.mp4,s=this.player;if(o&&a&&s&&(r&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null),e||(e=s.getBufferedRange(s.buffered2)),t||(t=s.currentTime),!(!r&&util.nowTime()-this._checkRemoveBufferLastTime<=this.config.removeBufferLen||this.endofstream)&&(this._checkRemoveBufferLastTime=util.nowTime(),e&&e[0]>=0&&(t-e[0]>this.config.removeBufferLen||o.isFull())))){var l=n?e[1]:t-(o.isFull()?0:15),c=a.getFragmentIdx(l);if(c>=0&&(n||a.timeRange[c].startTime<t)){var u=Math.floor(Math.min(a.timeRange[c].startTime,e[1]));e[0]<u?(this.log("[checkremoveSourceBuffer], remove range==>>>",e[0],u),o.reuse(e[0],u)):o.isFull()&&!this._removeBufferTimer&&(this.log("[after 10s, go on checkremoveSourceBuffer], currentTime==>>>",t,", buffer start,",e[0]),this._removeBufferTimer=_setTimeout((function(){i._checkRemoveSourceBuffer(null,null,!0)}),1e4))}}}},{key:"onMediaUpdate",value:function(e){var t=e.vid,r=e.kid,n=e.url,i=this.player,o=this.config;if(t===this.playerConfig.vid&&r===o.kid&&n){this.playerConfig.url=n,this._handlerUrl(n);var a=o._mainURL;return this.useVideoLoad?i.src=n:this.mp4&&this.mp4.update(a),!0}return!1}},{key:"enableAutoBuffer",value:function(e){var t=this;if(e){if(!this._allInitPromise)return void this.log("player destroyed!!");this._allInitPromise.then((function(){t.log("enableAutoBuffer true"),t._startProgress()}))}else this._stopProgress(),this.log("enableAutoBuffer false")}},{key:"bitRateAdapter",get:function(){return this.player&&this.player.plugins&&this.config.needAutoBitrate?this.player.plugins.bitrateselector:null}},{key:"getDefinitonFromAdapter",value:function(e,t){if(!this.bitRateAdapter)return null;var r=this.bitRateAdapter;return r.getSuitableBitrate?r.getSuitableBitrate(e,t):r.bitRateAdapter?r.bitRateAdapter.select(e):null}},{key:"addPreloader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.playerId=this.playerId,this.preloader?this.preloader.addPreloader(e,this.playerId,this.playerConfig.vid):this.log("preloader has destroyed")}},{key:"addPreloaderList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.preloader?this.preloader.addPreloaderList(e,this.playerId,this.playerConfig.vid):this.log("preloader has destroyed")}},{key:"changeUserSelectDefinition",value:function(e){this.preloader&&e&&this.preloader.changeUserSelectDefinition(e)}},{key:"log",value:function(e){for(var t,r,n=this.playerConfig,i=n&&n.vid?_concatInstanceProperty(t="[Index]".concat(n.vid," ")).call(t,e):"[Index] ".concat(e),o=arguments.length,a=new Array(o>1?o-1:0),s=1;s<o;s++)a[s-1]=arguments[s];log$3.apply(void 0,_concatInstanceProperty(r=[i]).call(r,a))}},{key:"_emitInitFail",value:function(e){this.log("initFail, reason:",e),this.emit(CUSTOM_EVENTS.INIT_FAIL,e)}},{key:"emitParseError",value:function(){this.log("parseError"),this.emit(CUSTOM_EVENTS.PARSE_ERROR)}},{key:"useVideoLoad",get:function(){return this._useVideoLoad},set:function(e){this._useVideoLoad=e}},{key:"ready",get:function(){return this._allInitPromise}},{key:"speed",get:function(){return _parseInt$1(MP4.speed,10)}},{key:"version",get:function(){return version}},{key:"realTimeSpeed",get:function(){return _realTimeSpeed}},{key:"opQueueLen",get:function(){var e=this.mse&&this.mse.opQueues?this.mse.opQueues.video:[];return e?e.length:0}},{key:"loadSegmentTimeRange",get:function(){if(!this.mp4)return[0,0,0,0];var e=this.mp4.timeRange;if(e&&e.length>0&&this._curLoadSegmentIdx&&this._curLoadSegmentIdx<e.length){var t=e[this._curLoadSegmentIdx];if(t.isLoading){var r,n=this.mp4.getFragRange(this._curLoadSegmentIdx);return _concatInstanceProperty(r=[Number(t.startTime),Number(t.endTime)]).call(r,_toConsumableArray$4(n))}}return[0,0,0,0]}},{key:"preloadState",get:function(){return this.preloader&&this.preloader.loadingCount}},{key:"moovSize",get:function(){return 0}},{key:"isDestroy",get:function(){return!this.player}},{key:"cancelPreloadTask",value:function(){this.preloader&&this.preloader.cancelLoading(this.player.playerId)}},{key:"CDNUrl",get:function(){var e=this.playerConfig.url,t=document.createElement("a");return t.href=e,t.host}},{key:"abrInstance",get:function(){return this._abrService?this._abrService.abrInstance:null}},{key:"_handleUrlExpire",value:function(){var e=this,t=this.config,r=this.player,n=r.paused;(new Date).getTime()/1e3>=this.urlExpireTimestamp&&this.urlExpireTimestamp>0&&!n&&t.getServerTime&&(r.serverTimeDiffPromise=r.serverTimeDiffPromise||t.getServerTime().catch((function(){return 0})),r.serverTimeDiffPromise.then((function(t){if(t&&(r.serverTimeDiff=(new Date).getTime()/1e3-t),(new Date).getTime()/1e3>=e.urlExpireTimestamp+r.serverTimeDiff){e.urlExpireTimestamp=(new Date).getTime()/1e3+86400;var n=new NetWorkError("network",ERROR_CODES[403]);e._emitExpireEvent(n)}})))}},{key:"_emitExpireEvent",value:function(e){var t=this.player,r=(new Date).getTime()/1e3;this.emitExpireTimestamp?r-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=r,t.emit("MEDIA_EXPIRED",e)):(this.emitExpireTimestamp=r,t.emit("MEDIA_EXPIRED",e))}}],[{key:"registerPreloader",value:function(e,t){e.vtype=VTYPES.MP4,Mp4Preloader.BitRateAdapter=t,new Mp4Preloader(e,this)}},{key:"pluginName",get:function(){return"Mp4EncryptPlayer"}},{key:"defaultConfig",get:function(){return{onlyInit:!1,useWaterLevel:!1,maxBufferLength:10,minBufferLength:5,tickInSeconds:.2,getLicenseUrl:"",xhrSetup:{},retryCount:1,retryDelay:1e3,preloadCacheType:1,needPreloadRangeList:!1,cdnHost:"",cdnBucket:"",isEncrypt:!1,isOpenPreload:!0,needPreloadCheck:!1,preloadTime:0,preloadMaxCacheCount:0,needAutoBitrate:!0,keyValue:null,drm:null,switchBitRateWay:!1,enableWorker:!1,bufferThreshold:10,removeBufferLen:40,focusUserDefinition:!1,resumePlayWaterLevel:2,waitJampBufferMaxCnt:3,waitingInBufferTimeOut:5e3,h265Degrade:!1,forceVideoPlay:!1,segmentMinDuration:2,supportHevc:void 0,H264Config:null}}},{key:"speed",get:function(){return _realTimeSpeed}},{key:"realTimeSpeed",get:function(){return _realTimeSpeed}},{key:"version",get:function(){return version}}]),i}();Mp4EncryptPlayer.isSupported=isSupported,Mp4EncryptPlayer.isEMESupported=isEMESupported,Mp4EncryptPlayer.isSupportedWithXgmse=isSupportedWithXgmse,Mp4EncryptPlayer.isMediaSourceSupported=isMediaSourceSupported,Mp4EncryptPlayer.isWebAssemblySupported=isWebAssemblySupported,Mp4EncryptPlayer.getPlayLicenses=getPlayLicenses,Mp4EncryptPlayer.CUSTOM_EVENTS=CUSTOM_EVENTS,Mp4EncryptPlayer.Mp4Preloader=Mp4Preloader;export{Mp4EncryptPlayer as default};
2
+ //# sourceMappingURL=esm/veplayer.plugin.mp4.production.js.map